まだ OpenClaw をインストールしていませんか?
パソコンへの影響が心配?ClawTank なら60秒でクラウドデプロイ、ファイルへのリスクゼロ。
このガイドはOpenClawで遭遇するすべてのゲートウェイエラーを網羅します。各セクションは独立しています:エラーメッセージを見つけ、修正をコピーし、先に進みましょう。特定のエラーについてより深い情報が必要な場合は、専用ガイドへのリンクをご参照ください。
目次
Gateway Start Blocked
最も一般的なOpenClawゲートウェイエラーです。gateway.modeが設定されていないため、ゲートウェイが起動を拒否します。
エラーメッセージ
gateway start blocked: set gateway.mode=local (current: unset)
or pass --allow-unconfigured
gateway start blocked: set gateway.mode=local --allow-unconfigured
Missing config. Run `openclaw setup` or set gateway.mode=local
(or pass --allow-unconfigured).
gateway.mode unset — gateway start will be blocked
gateway.mode is unset
ERROR: gateway.mode not configured. Run openclaw setup or set
gateway.mode=local to start in local-only mode.
missing config: run openclaw setup or set gateway.mode=local
gateway start blocked: gateway.mode is unset — expected local, remote, or hybrid
[gateway] start blocked — config key gateway.mode has no value
クイックフィックス
openclaw config set gateway.mode local
openclaw restart
ほとんどの方にとってこれが修正のすべてです。ゲートウェイが起動します。
gateway.modeとは?
ゲートウェイがリッスンするネットワークインターフェースを制御する設定です。各モードにはセキュリティ上の意味があるため、OpenClawはデフォルトを選択しません。
| モード |
リッスン対象 |
使用場面 |
local |
127.0.0.1のみ |
ほとんどの環境、Caddy/Nginx/Traefikの背後を含む |
remote |
0.0.0.0(全インターフェース) |
LAN上の他のデバイスからの直接アクセス |
hybrid |
ローカルと全インターフェース |
開発環境 |
特別な理由がない限りlocalを選んでください。リバースプロキシの背後でも、プロキシがlocalhostで接続するためlocalが正解です。
Dockerユーザー
環境変数でモードを設定します:
docker run -e OPENCLAW_GATEWAY_MODE=local openclaw-stack
またはdocker-compose.ymlで:
environment:
- OPENCLAW_GATEWAY_MODE=local
詳細ガイド:OpenClawの「Gateway Start Blocked」を修正する。
Gateway Did Not Become Ready
ゲートウェイプロセスが起動したが、初期化が完了しませんでした。
エラーメッセージ
gateway did not become ready
Error: gateway did not become ready within 60s
gateway startup timeout — did not become ready
[entrypoint] gateway did not become ready in time
timeout waiting for gateway: did not become ready
FAIL: gateway health check failed — not ready
原因1:ポートの競合
別のプロセスがゲートウェイポート(デフォルト3001)を使用しています。
診断:
lsof -i :3001
修正:
# 競合プロセスを停止するか、ポートを切り替え
openclaw config set gateway.port 3002
openclaw restart
原因2:権限の問題
OpenClawのデータディレクトリまたは設定ファイルが書き込み不可です。
診断:
ls -la ~/.openclaw/
修正:
sudo chown -R $(whoami) ~/.openclaw/
openclaw restart
原因3:設定の破損
壊れたopenclaw.jsonまたはconfig.yamlが初期化を妨げています。
修正:
openclaw config validate
バリデーションが失敗した場合:
openclaw doctor --fix
openclaw restart
doctor --fixで設定を修復できない場合:
openclaw config reset
openclaw setup
原因4:起動が遅い(Docker)
Dockerコンテナでのゲートウェイの完全な初期化には約40秒かかります。ログの[entrypoint] Starting OpenClaw gatewayはゲートウェイの準備完了を意味しません。以下の行を待つ必要があります:
[gateway] listening on :3001
この行が表示されて初めて、ゲートウェイが接続を受け付けます。スクリプトやポーリングの場合、リクエストを送信する前にこの文字列を待ってください。
起動の進捗を確認:
openclaw logs --follow
原因5:メモリ不足
ゲートウェイには少なくとも256MBの空きRAMが必要です。
確認:
free -h # Linux
vm_stat # macOS
システムのメモリが制約されている場合、他のプロセスを停止するかVM/コンテナのメモリ制限を増やします。
原因6:古いPIDファイル
以前のクラッシュでPIDファイルが残り、クリーンな起動をブロックしています。
修正:
rm ~/.openclaw/gateway.pid
openclaw restart
Device Token Mismatch
デバイス(ブラウザ、Telegramボット、モバイルアプリ)に保存されたトークンがゲートウェイの期待するものと一致しません。
エラーメッセージ
device token mismatch
connect failed: device token mismatch
disconnected (4008): connect failed — device token mismatch
openclaw gateway device token mismatch
Error: device token mismatch — please re-pair this device
WebSocket connection failed: device token mismatch
connect failed (4008): device identity rejected
クイックフィックス
openclaw doctor --fix && openclaw restart
一致するトークンを再生成しゲートウェイを再起動します。ほとんどの場合これで解決します。
手動修正:削除して再承認
doctor --fixで解決しない場合:
# すべてのデバイスを一覧表示
openclaw devices list
# 壊れたデバイスを削除
openclaw devices remove DEVICE_ID
# ゲートウェイを再起動
openclaw restart
ブラウザまたはTelegramから再接続します。新しいペアリングリクエストが表示されます:
openclaw devices approve NEW_DEVICE_ID
防止:ゲートウェイトークンをピン留め
OpenClawはピン留めしない限り再起動のたびにゲートウェイトークンを再生成します。一度ピン留めすればトークンミスマッチが止まります:
openclaw config set gateway.token "your-stable-token-here"
または環境変数経由(Docker推奨):
docker run -e OPENCLAW_GATEWAY_TOKEN=your-stable-token-here openclaw-stack
Docker Compose設定を含む完全な手順:OpenClawの「Device Token Mismatch」を修正する。
Connect Failed
クライアントがゲートウェイのアドレスを見つけられるが、接続を確立できません。
エラーメッセージ
connection error
gateway connect failed
Error: connect ECONNREFUSED 127.0.0.1:3001
connect failed: connection refused
WebSocket connection to 'ws://localhost:3001' failed
openclaw connection error: gateway unreachable
failed to connect to gateway at localhost:3001
修正1:ゲートウェイが実行されていない
openclaw status
gateway: stoppedの場合:
openclaw gateway start
または単純に:
openclaw restart
修正2:ホストまたはポートが間違っている
設定がゲートウェイの実際のリッスン先と一致しているか確認します:
openclaw config get gateway.host
openclaw config get gateway.port
デフォルトはlocalhost:3001です。変更した場合、クライアント、リバースプロキシ、TelegramのwebhookURLが一致していることを確認してください。
修正3:ファイアウォールによるブロック
Linux:
sudo ufw status
# ポート3001が許可されていない場合:
sudo ufw allow 3001
macOS:
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --listapps
修正4:リバースプロキシの設定ミス
Caddy、Nginx、Traefikの背後で実行している場合、プロキシが正しく転送していない可能性があります。最も一般的なミスはtrustedProxiesの設定忘れです:
openclaw config set gateway.trustedProxies '["127.0.0.1"]'
openclaw restart
リバースプロキシの完全なセットアップはリバースプロキシとtrusted proxiesガイドをご覧ください。
Send Failed: Gateway Not Connected
メッセージ送信時(Telegram、API、ブラウザ経由)にゲートウェイ接続が切れていました。
エラーメッセージ
send failed: gateway not connected
Error: send failed — gateway not connected
send failed: Error: gateway not connected
message delivery failed: gateway not connected
[telegram] send failed: gateway not connected
Error: cannot send — no active gateway connection
原因1:セッション中にゲートウェイがクラッシュ
接続時にはゲートウェイが実行中だったが、その後クラッシュしました。
修正:
openclaw restart
クラッシュの原因を確認:
openclaw logs --tail 100
出力中のpanic、fatal、OOM、killedを探します。
原因2:ネットワークの中断
クライアントとゲートウェイ間の接続が切断されました。不安定なネットワークやサーバーのIP変更時によく発生します。
修正:
# ゲートウェイが到達可能か確認
curl -v http://localhost:3001/health
# 到達不能の場合、再起動
openclaw restart
原因3:プロセスマネージャーによるゲートウェイの停止
PM2、systemd、またはDockerの再起動ポリシーがゲートウェイを停止した可能性があります。
# PM2
pm2 status
# systemd
systemctl status openclaw
# Docker
docker ps -a | grep openclaw
プロセスマネージャー経由で再起動し、ログを監視します:
openclaw logs --follow
メッセージを再試行する前に[gateway] listening onを待ちます。
Disconnected (4008)
WebSocketエラーコード4008はプロトコルレベルの切断を示します。通常、デバイストークンミスマッチまたは接続タイムアウトに関連しています。
エラーメッセージ
disconnected (4008): connect failed
disconnected (4008): connect failed — device token mismatch
disconnected (4008): device identity rejected
WebSocket closed with code 4008
connection closed: 4008
トークン関連の場合
デバイストークンミスマッチです。上記のDevice Token Mismatchセクションに進んでください。
タイムアウト関連の場合
非アクティブまたはネットワークの問題によりWebSocket接続がタイムアウトしました。
修正:
# ネットワーク接続を確認
ping your-openclaw-host
curl -v http://localhost:3001/health
# ゲートウェイを再起動
openclaw restart
切断が頻繁に発生する場合、以下を確認します:
- クライアントとサーバー間のネットワークの不安定さ
- アイドルWebSocket接続を切断するファイアウォールまたはプロキシのタイムアウト(多くのプロキシは60秒後にアイドル接続を閉じます)
- OOMキラーによるゲートウェイプロセスの終了を引き起こすメモリプレッシャー
アイドル接続を閉じるプロキシの場合、WebSocket ping/pongキープアライブを設定します:
# Caddyの例
reverse_proxy localhost:3001 {
transport http {
keepalive 30s
}
}
ゲートウェイがウェブまたはAPI接続を受け入れるよう設定されていません。
エラーメッセージ
OpenClaw: access not configured.
Error: web login provider is not available.
Device identity required.
TUI gateway disconnected — closed idle.
クイックフィックス
openclaw config set gateway.mode local
openclaw restart
別のマシンからアクセスする場合:
openclaw config set gateway.mode remote
openclaw config set gateway.host "0.0.0.0"
openclaw restart
「Web Login Provider Is Not Available」
ウェブ認証が無効であることを意味します。ゲートウェイモードを設定します:
openclaw config set gateway.mode local
openclaw restart
「TUI Gateway Disconnected — Closed Idle」
ターミナルUI接続がタイムアウトしました。再起動して再度開きます:
openclaw restart
openclaw tui
アクセス設定の完全ガイド:OpenClaw「Access Not Configured」の修正。
Pairing Required
OpenClawに接続するすべての新しいブラウザまたはデバイスは承認が必要です。これはセキュリティ機能であり、エラーではありません。
エラーメッセージ
pairing required
device not paired — approve this device to connect
Error: device identity required
new device detected — waiting for approval
[gateway] pairing request from device DEVICE_ID
Telegram pairing required — approve code XXXXXX
修正:デバイスを承認する
ブラウザまたはAPIクライアント:
openclaw devices list
openclaw devices approve DEVICE_ID
Telegramボット:
openclaw pairing approve telegram CODE
ペアリングコードはTelegramチャットまたはゲートウェイログで確認できます:
openclaw logs --tail 20
すべてのデバイスを表示
openclaw devices list
すべてのペアリング済みデバイス、ステータス(connected、pending、disconnected)、IDが表示されます。
デバイスを削除
デバイスにアクセス権を持たせるべきでない場合:
openclaw devices remove DEVICE_ID
Dockerゲートウェイトラブルシューティング
Dockerはクライアントとゲートウェイの間に追加の層を加えます。最も一般的なDocker固有の問題は以下の通りです。
ゲートウェイが起動するがコンテナ外部から到達不能
ゲートウェイがコンテナ内の127.0.0.1にバインドしており、ホストからアクセスできません。
修正:
docker exec -it YOUR_CONTAINER openclaw config set gateway.bind "0.0.0.0"
docker restart YOUR_CONTAINER
ポートがマッピングされていない
コンテナポートがホストに公開されていません。
確認:
docker port YOUR_CONTAINER
修正: 正しいポートマッピングで再実行:
docker run -p 3001:3001 openclaw-stack
またはdocker-compose.ymlで:
ports:
- "3001:3001"
コンテナ再起動でゲートウェイトークンが再生成される
Dockerコンテナが再起動するたびに、ゲートウェイが新しいトークンを生成します。これですべてのペアリング済みデバイスが無効になります。
修正: 環境変数でトークンをピン留め:
services:
openclaw:
image: openclaw-stack
environment:
- OPENCLAW_GATEWAY_TOKEN=your-stable-token-here
volumes:
- openclaw-data:/app/data
volumes:
openclaw-data:
再構築でデータが永続化されない
ボリュームマウントがないと、コンテナの再構築ですべての設定、デバイスペアリング、メモリが消去されます。
修正: データディレクトリをマウント:
volumes:
- openclaw-data:/app/data
Docker内でopenclaw doctorを実行
docker exec -it YOUR_CONTAINER bash
openclaw doctor --fix
exit
docker restart YOUR_CONTAINER
Dockerでの起動が遅い
Docker内でのゲートウェイの準備には約40秒かかります。ログに以下の行が表示されるまでリクエストを送信しないでください:
[gateway] listening on :3001
起動を監視:
docker logs -f YOUR_CONTAINER
最終手段:完全リセット
openclaw doctor --fixが効かず、デバイス削除が効かず、設定変更が効かず、完全に最初からやり直す必要がある場合。
警告: これは設定、ペアリング済みデバイス、メモリ、保存データを削除します。APIキーの再入力、デバイスの再ペアリング、統合の再設定が必要になります。
ネイティブインストール
# 1. すべて停止
openclaw gateway stop
pkill -f openclaw
# 2. 重要なデータをバックアップ(オプション)
cp ~/.openclaw/openclaw.json ~/openclaw-backup.json
cp -r ~/.openclaw/memory ~/openclaw-memory-backup
# 3. データディレクトリを削除
rm -rf ~/.openclaw
# 4. ゼロから再設定
openclaw setup
Docker
# 1. コンテナを停止して削除
docker stop YOUR_CONTAINER
docker rm YOUR_CONTAINER
# 2. データボリュームを削除(警告:すべてのデータを破壊)
docker volume rm openclaw-data
# 3. 新しく開始
docker run -d \
-p 3001:3001 \
-e OPENCLAW_GATEWAY_MODE=local \
-e OPENCLAW_GATEWAY_TOKEN=your-stable-token \
-v openclaw-data:/app/data \
openclaw-stack
リセット後、openclaw setupを実行するか環境変数で設定し、デバイスを再承認します。
完全な手順:OpenClawファクトリーリセットガイド。
防止チェックリスト
ゲートウェイエラーを事前に防止します。
ゲートウェイトークンをピン留めする。 環境変数としてOPENCLAW_GATEWAY_TOKENを設定するかopenclaw config set gateway.token "your-stable-token"を実行。再起動時のトークン再生成を防ぎ、デバイストークンミスマッチエラーを排除します。
gateway.modeを明示的に設定する。 openclaw config set gateway.mode localを一度実行すれば、「gateway start blocked」を二度と見ることはありません。
データディレクトリを永続化する。 Dockerでは/app/dataにボリュームをマウント。これがないと、コンテナの再構築ごとに設定、ペアリング、メモリが消去されます。
アップデート後にopenclaw doctorを実行する。 メジャーバージョンのアップグレードで設定フォーマットやトークン構造が変更される場合があります。openclaw doctor --fixがこれらを自動的にキャッチし修復します。
openclaw statusで監視する。 openclaw statusをヘルスチェックスクリプトやDockerのHEALTHCHECK命令に追加。ユーザーが報告する前に問題をキャッチします。
マシンごとに1インスタンスを維持する。 同じデータディレクトリで複数のOpenClawインスタンスを実行すると、トークンの衝突と断続的なエラーが発生します。
WebSocketキープアライブを設定する。 リバースプロキシを使用する場合、アイドル接続タイムアウトによるdisconnected (4008)エラーを防ぐためにキープアライブ間隔を設定します。
大きな変更後にブラウザキャッシュをクリアする。 ゲートウェイURL、ドメイン、トークンを変更した場合、OpenClawに接続するすべてのブラウザのサイトデータをクリアします。
ゲートウェイ設定を完全にスキップ
このガイドのすべてのエラーは結局同じことに帰着します:ゲートウェイの管理は手作業だということです。モードを設定し、トークンをピン留めし、ポートをマッピングし、デバイスを承認し、ミスマッチを修正し、壊れたら再起動します。
ClawTankはこれらすべてを自動で処理します。ゲートウェイの起動、ヘルスチェック、トークン管理、デバイスペアリング、TLS、再接続がすべて管理されます。1分以内にOpenClawインスタンスをデプロイし、ターミナルに触れることなくどのデバイスからでも接続できます。