openclaw doctor や openclaw gateway status --format json が誤判定します。二〇二六年版のループバックと状態探針に沿い導入から受け入れまでを整理します。関連:status/doctor CI、トークン、validate ゲート。
想定される三つの詰まり
第一シェルと launchd で Node が食い違う。第二一八七八九番に別プロセスが残り JSON と lsof が一致しない。第三トークン無しの二次探針だけ本番とずれる。以下の H2 を順に潰します。
Node 22 以上の前提とパス固定
メジャー二十二未満は先に上げます。node -v と node -p "process.execPath" をログ化し、launchd の ProgramArguments と同じ絶対パスへ揃えます。nvm 関数 PATH だけに依存しないでください。
インストール経路の選択(公式 install と npm グローバル)
チームでは一方のみに固定し、which openclaw と openclaw --version を記録します。
| 経路 | 向き | 注意 |
|---|---|---|
| 公式 install スクリプト | 手元の手順を公式に合わせやすい | 取得元とハッシュ確認をルール化 |
| npm install -g openclaw@版 | ロックファイルや CI と相性が良い | prefix・権限・複数 Node 時の PATH を監査 |
ループバック・ゲートウェイとトークン(一八七八九番と本機バインド)
検証は 127.0.0.1 とTCP 一八七八九番へ揃えます。Bearer で http://127.0.0.1:18789/health を叩くときは OPENCLAW_GATEWAY_TOKEN をシェルと plist で一致させます。非ループバックはトークン記事の手順の後に。
デーモンとログイン項目(起動と再起動後の検証)
openclaw onboard --install-daemon 後、LaunchAgent の Label・plist 環境・OPENCLAW_HOME がジョブユーザーと一致するか確認します。再起動後も同一ユーザーで openclaw doctor を再実行し一八七八九番の所有者を見ます。
典型エラー指紋とロールバック
| 署名や現象 | 優先アクション |
|---|---|
address already in use や lsof が別バイナリ |
旧リスナ停止し設定とポートを再同期 |
| connection refused や status タイムアウト | plist と Node パスを突合し短待機後に status 再取得 |
| doctor の権限やホーム警告 | OPENCLAW_HOME と WorkingDirectory を揃え検証点から戻す |
受け入れチェーン(validate → doctor → status → 二次探針)
非対話シェルでは公式の無頭フラグに従い、次の順でログを残します。
運用メモ:一JSON と lsof の PID を突合。二失敗時は status JSON とポート指紋を添付。三成功時も openclaw --version を一行残す。
FAQ
status は緑だが呼び出しだけ失敗する
別経路プロキシや二重インスタンスを疑い、ループバック直の curl と突合します。
CLI のサブコマンドが増えたときは
本稿は validate・doctor・gateway status・onboard --install-daemon に限定します。他は公式一覧で確認してください。