リモート Macで OpenClaw を載せる際、Node 版と絶対パス、一八七八九番の単一リスナ、launchd の環境がずれると 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 → 二次探針)

非対話シェルでは公式の無頭フラグに従い、次の順でログを残します。

openclaw config validate openclaw doctor openclaw gateway status --format json sleep 2 curl -fsS -H "Authorization: Bearer $OPENCLAW_GATEWAY_TOKEN" http://127.0.0.1:18789/health lsof -nP -iTCP:18789 -sTCP:LISTEN

運用メモ:一JSON と lsof の PID を突合。二失敗時は status JSON とポート指紋を添付。三成功時も openclaw --version を一行残す。

FAQ

status は緑だが呼び出しだけ失敗する

別経路プロキシや二重インスタンスを疑い、ループバック直の curl と突合します。

CLI のサブコマンドが増えたときは

本稿は validate・doctor・gateway status・onboard --install-daemon に限定します。他は公式一覧で確認してください。

まとめ:導入は一方固定、Node 絶対パス・一八七八九番単一・トークンを揃え、openclaw config validate→doctor→gateway status --format json→curl ヘルスで締めます。専用ホストは ホーム・購入・ヘルプ・料金からログイン不要で選べます。

Apple Silicon 上で OpenClaw ゲートウェイ検証を安定運用

ホーム、料金、購入、ヘルプ、技術ブログ一覧はログイン不要です。