openclaw - 💡(How to fix) Fix Gateway status shows 'unreachable' despite gateway being healthy [2 comments, 3 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#48986Fetched 2026-04-08 00:50:09
View on GitHub
Comments
2
Participants
3
Timeline
10
Reactions
0
Author
Timeline (top)
mentioned ×3commented ×2subscribed ×2closed ×1

Error Message

Summary: 1 critical · 2 warn · 3 info WARN Gateway HTTP /tools/invoke re-enables dangerous tools WARN Potential multi-user setup detected (personal-assistant model warning) Summary: 1 critical · 2 warn · 3 info WARN Gateway HTTP /tools/invoke re-enables dangerous tools WARN Potential multi-user setup detected (personal-assistant model warning) Summary: 1 critical · 2 warn · 3 info WARN Gateway HTTP /tools/invoke re-enables dangerous tools WARN Potential multi-user setup detected (personal-assistant model warning)

  • The error message mentions "missing scope: operator.read" which doesn't exist in this context
RAW_BUFFERClick to expand / collapse

Bug Description

The OpenClaw status

Overview ┌─────────────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ Item │ Value │ ├─────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤ │ Dashboard │ http://127.0.0.1:18789/ │ │ OS │ linux 6.17.0-14-generic (x64) · node 22.22.1 │ │ Tailscale │ serve · memory-sync.tail8b5d2e.ts.net · https://memory-sync.tail8b5d2e.ts.net │ │ Channel │ stable (default) │ │ Update │ pnpm · npm latest 2026.3.13 │ │ Gateway │ local · ws://127.0.0.1:18789 (local loopback) · unreachable (missing scope: operator.read) │ │ Gateway service │ systemd installed · enabled · running (pid 2447375, state active) │ │ Node service │ systemd not installed │ │ Agents │ 16 · 2 bootstrap files present · sessions 384 · default main active just now │ │ Memory │ 56614 files · 56614 chunks · sources memory, sessions · plugin memory-core · vector ready │ │ Probes │ skipped (use --deep) │ │ Events │ none │ │ Heartbeat │ 30m (main), disabled (alfred), disabled (baerbel), disabled (builder), disabled (coach), disabled │ │ │ (codex), disabled (coding-agent), disabled (debug), disabled (default), disabled (dev), disabled │ │ │ (forge), disabled (ops), disabled (research), disabled (rhodes), disabled (rich), disabled (work) │ │ Sessions │ 384 active · default MiniMax-M2.1 (100k ctx) · 16 stores │ └─────────────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘

Security audit Summary: 1 critical · 2 warn · 3 info CRITICAL Config file is writable by others /home/ccampos/.openclaw/openclaw.json mode=664; another user could change gateway/auth/tool policies. Fix: chmod 600 /home/ccampos/.openclaw/openclaw.json WARN Gateway HTTP /tools/invoke re-enables dangerous tools gateway.tools.allow includes sessions_spawn which removes them from the default HTTP deny list. This can allow remote session spawning / control-plane actions … Fix: Remove these entries from gateway.tools.allow (recommended). If you keep them enabled, keep gateway.bind loopback-only (or tailnet-only), restrict network exposure, and treat the gateway token/password as full-admin. WARN Potential multi-user setup detected (personal-assistant model warning) Heuristic signals indicate this gateway may be reachable by multiple users: - channels.discord.accounts.default.groupPolicy="allowlist" with configured group t… Fix: If users may be mutually untrusted, split trust boundaries (separate gateways + credentials, ideally separate OS users/hosts). If you intentionally run shared-user access, set agents.defaults.sandbox.mode="all", keep tools.fs.workspaceOnly=true, deny runtime/fs/web tools unless required, and keep personal/private identities + credentials off that runtime. Full report: openclaw security audit Deep probe: openclaw security audit --deep

Channels ┌──────────┬─────────┬────────┬────────────────────────────────────────────────────────────────────────────────────────┐ │ Channel │ Enabled │ State │ Detail │ ├──────────┼─────────┼────────┼────────────────────────────────────────────────────────────────────────────────────────┤ │ Discord │ ON │ OK │ token config×3 (MTQ3…YxPI · len 72) · accounts 3/3 │ └──────────┴─────────┴────────┴────────────────────────────────────────────────────────────────────────────────────────┘

Sessions ┌─────────────────────────────────────────────────┬────────┬──────────┬──────────────┬─────────────────────────────────┐ │ Key │ Kind │ Age │ Model │ Tokens │ ├─────────────────────────────────────────────────┼────────┼──────────┼──────────────┼─────────────────────────────────┤ │ agent:main:subagent:89d0e99d-55… │ group │ just now │ MiniMax-M2.1 │ 81k/100k (81%) │ │ agent:main:discord:channel:1470… │ group │ 1m ago │ MiniMax-M2.1 │ 59k/100k (59%) · 🗄️ 46% cached │ │ agent:main:cron:2014b95a-b82f-4… │ direct │ 15m ago │ MiniMax-M2.1 │ 25k/100k (25%) · 🗄️ 197% cached │ │ agent:main:cron:2014b95a-b82f-4… │ direct │ 15m ago │ MiniMax-M2.1 │ 25k/100k (25%) · 🗄️ 197% cached │ │ agent:main:cron:ee160b3c-a935-4… │ direct │ 15m ago │ MiniMax-M2.1 │ 25k/100k (25%) · 🗄️ 197% cached │ │ agent:main:cron:ee160b3c-a935-4… │ direct │ 16m ago │ MiniMax-M2.1 │ 25k/100k (25%) · 🗄️ 197% cached │ │ agent:main:cron:de4f3024-e2ab-4… │ direct │ 19m ago │ MiniMax-M2.1 │ 25k/200k (12%) · 🗄️ 299% cached │ │ agent:main:main │ direct │ 19m ago │ MiniMax-M2.1 │ 40k/100k (40%) · 🗄️ 78% cached │ │ agent:main:cron:de4f3024-e2ab-4… │ direct │ 22m ago │ MiniMax-M2.1 │ 25k/200k (12%) · 🗄️ 299% cached │ │ agent:main:cron:8d62a037-c9e1-4… │ direct │ 50m ago │ MiniMax-M2.1 │ 31k/100k (31%) · 🗄️ 112% cached │ └─────────────────────────────────────────────────┴────────┴──────────┴──────────────┴─────────────────────────────────┘

FAQ: https://docs.openclaw.ai/faq Troubleshooting: https://docs.openclaw.ai/troubleshooting

Next steps: Need to share? openclaw status --all Need to debug live? openclaw logs --follow Fix reachability first: openclaw gateway probe command shows the gateway as "unreachable" even though the gateway is running and healthy.

Steps to Reproduce

  1. Run OpenClaw status

Overview ┌─────────────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ Item │ Value │ ├─────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤ │ Dashboard │ http://127.0.0.1:18789/ │ │ OS │ linux 6.17.0-14-generic (x64) · node 22.22.1 │ │ Tailscale │ serve · memory-sync.tail8b5d2e.ts.net · https://memory-sync.tail8b5d2e.ts.net │ │ Channel │ stable (default) │ │ Update │ pnpm · npm latest 2026.3.13 │ │ Gateway │ local · ws://127.0.0.1:18789 (local loopback) · unreachable (missing scope: operator.read) │ │ Gateway service │ systemd installed · enabled · running (pid 2447375, state active) │ │ Node service │ systemd not installed │ │ Agents │ 16 · 2 bootstrap files present · sessions 384 · default main active just now │ │ Memory │ 56614 files · 56614 chunks · sources memory, sessions · plugin memory-core · vector ready │ │ Probes │ skipped (use --deep) │ │ Events │ none │ │ Heartbeat │ 30m (main), disabled (alfred), disabled (baerbel), disabled (builder), disabled (coach), disabled │ │ │ (codex), disabled (coding-agent), disabled (debug), disabled (default), disabled (dev), disabled │ │ │ (forge), disabled (ops), disabled (research), disabled (rhodes), disabled (rich), disabled (work) │ │ Sessions │ 384 active · default MiniMax-M2.1 (100k ctx) · 16 stores │ └─────────────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘

Security audit Summary: 1 critical · 2 warn · 3 info CRITICAL Config file is writable by others /home/ccampos/.openclaw/openclaw.json mode=664; another user could change gateway/auth/tool policies. Fix: chmod 600 /home/ccampos/.openclaw/openclaw.json WARN Gateway HTTP /tools/invoke re-enables dangerous tools gateway.tools.allow includes sessions_spawn which removes them from the default HTTP deny list. This can allow remote session spawning / control-plane actions … Fix: Remove these entries from gateway.tools.allow (recommended). If you keep them enabled, keep gateway.bind loopback-only (or tailnet-only), restrict network exposure, and treat the gateway token/password as full-admin. WARN Potential multi-user setup detected (personal-assistant model warning) Heuristic signals indicate this gateway may be reachable by multiple users: - channels.discord.accounts.default.groupPolicy="allowlist" with configured group t… Fix: If users may be mutually untrusted, split trust boundaries (separate gateways + credentials, ideally separate OS users/hosts). If you intentionally run shared-user access, set agents.defaults.sandbox.mode="all", keep tools.fs.workspaceOnly=true, deny runtime/fs/web tools unless required, and keep personal/private identities + credentials off that runtime. Full report: openclaw security audit Deep probe: openclaw security audit --deep

Channels ┌──────────┬─────────┬────────┬────────────────────────────────────────────────────────────────────────────────────────┐ │ Channel │ Enabled │ State │ Detail │ ├──────────┼─────────┼────────┼────────────────────────────────────────────────────────────────────────────────────────┤ │ Discord │ ON │ OK │ token config×3 (MTQ3…YxPI · len 72) · accounts 3/3 │ └──────────┴─────────┴────────┴────────────────────────────────────────────────────────────────────────────────────────┘

Sessions ┌─────────────────────────────────────────────────┬────────┬──────────┬──────────────┬─────────────────────────────────┐ │ Key │ Kind │ Age │ Model │ Tokens │ ├─────────────────────────────────────────────────┼────────┼──────────┼──────────────┼─────────────────────────────────┤ │ agent:main:subagent:89d0e99d-55… │ group │ just now │ MiniMax-M2.1 │ 81k/100k (81%) │ │ agent:main:discord:channel:1470… │ group │ 1m ago │ MiniMax-M2.1 │ 59k/100k (59%) · 🗄️ 46% cached │ │ agent:main:cron:2014b95a-b82f-4… │ direct │ 15m ago │ MiniMax-M2.1 │ 25k/100k (25%) · 🗄️ 197% cached │ │ agent:main:cron:2014b95a-b82f-4… │ direct │ 15m ago │ MiniMax-M2.1 │ 25k/100k (25%) · 🗄️ 197% cached │ │ agent:main:cron:ee160b3c-a935-4… │ direct │ 15m ago │ MiniMax-M2.1 │ 25k/100k (25%) · 🗄️ 197% cached │ │ agent:main:cron:ee160b3c-a935-4… │ direct │ 16m ago │ MiniMax-M2.1 │ 25k/100k (25%) · 🗄️ 197% cached │ │ agent:main:cron:de4f3024-e2ab-4… │ direct │ 19m ago │ MiniMax-M2.1 │ 25k/200k (12%) · 🗄️ 299% cached │ │ agent:main:main │ direct │ 19m ago │ MiniMax-M2.1 │ 40k/100k (40%) · 🗄️ 78% cached │ │ agent:main:cron:de4f3024-e2ab-4… │ direct │ 22m ago │ MiniMax-M2.1 │ 25k/200k (12%) · 🗄️ 299% cached │ │ agent:main:cron:8d62a037-c9e1-4… │ direct │ 50m ago │ MiniMax-M2.1 │ 31k/100k (31%) · 🗄️ 112% cached │ └─────────────────────────────────────────────────┴────────┴──────────┴──────────────┴─────────────────────────────────┘

FAQ: https://docs.openclaw.ai/faq Troubleshooting: https://docs.openclaw.ai/troubleshooting

Next steps: Need to share? openclaw status --all Need to debug live? openclaw logs --follow Fix reachability first: openclaw gateway probe 2. Observe Gateway line shows "unreachable" 3. Run OpenClaw status

Overview ┌─────────────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ Item │ Value │ ├─────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤ │ Dashboard │ http://127.0.0.1:18789/ │ │ OS │ linux 6.17.0-14-generic (x64) · node 22.22.1 │ │ Tailscale │ serve · memory-sync.tail8b5d2e.ts.net · https://memory-sync.tail8b5d2e.ts.net │ │ Channel │ stable (default) │ │ Update │ pnpm · npm latest 2026.3.13 │ │ Gateway │ local · ws://127.0.0.1:18789 (local loopback) · unreachable (missing scope: operator.read) │ │ Gateway service │ systemd installed · enabled · running (pid 2447375, state active) │ │ Node service │ systemd not installed │ │ Agents │ 16 · 2 bootstrap files present · sessions 384 · default main active just now │ │ Memory │ 56614 files · 56614 chunks · sources memory, sessions · plugin memory-core · vector ready │ │ Probes │ enabled │ │ Events │ none │ │ Heartbeat │ 30m (main), disabled (alfred), disabled (baerbel), disabled (builder), disabled (coach), disabled │ │ │ (codex), disabled (coding-agent), disabled (debug), disabled (default), disabled (dev), disabled │ │ │ (forge), disabled (ops), disabled (research), disabled (rhodes), disabled (rich), disabled (work) │ │ Last heartbeat │ unavailable │ │ Sessions │ 384 active · default MiniMax-M2.1 (100k ctx) · 16 stores │ └─────────────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘

Security audit Summary: 1 critical · 2 warn · 3 info CRITICAL Config file is writable by others /home/ccampos/.openclaw/openclaw.json mode=664; another user could change gateway/auth/tool policies. Fix: chmod 600 /home/ccampos/.openclaw/openclaw.json WARN Gateway HTTP /tools/invoke re-enables dangerous tools gateway.tools.allow includes sessions_spawn which removes them from the default HTTP deny list. This can allow remote session spawning / control-plane actions … Fix: Remove these entries from gateway.tools.allow (recommended). If you keep them enabled, keep gateway.bind loopback-only (or tailnet-only), restrict network exposure, and treat the gateway token/password as full-admin. WARN Potential multi-user setup detected (personal-assistant model warning) Heuristic signals indicate this gateway may be reachable by multiple users: - channels.discord.accounts.default.groupPolicy="allowlist" with configured group t… Fix: If users may be mutually untrusted, split trust boundaries (separate gateways + credentials, ideally separate OS users/hosts). If you intentionally run shared-user access, set agents.defaults.sandbox.mode="all", keep tools.fs.workspaceOnly=true, deny runtime/fs/web tools unless required, and keep personal/private identities + credentials off that runtime. Full report: openclaw security audit Deep probe: openclaw security audit --deep

Channels ┌──────────┬─────────┬────────┬────────────────────────────────────────────────────────────────────────────────────────┐ │ Channel │ Enabled │ State │ Detail │ ├──────────┼─────────┼────────┼────────────────────────────────────────────────────────────────────────────────────────┤ │ Discord │ ON │ OK │ token config×3 (MTQ3…YxPI · len 72) · accounts 3/3 │ └──────────┴─────────┴────────┴────────────────────────────────────────────────────────────────────────────────────────┘

Sessions ┌─────────────────────────────────────────────────┬────────┬──────────┬──────────────┬─────────────────────────────────┐ │ Key │ Kind │ Age │ Model │ Tokens │ ├─────────────────────────────────────────────────┼────────┼──────────┼──────────────┼─────────────────────────────────┤ │ agent:main:subagent:89d0e99d-55… │ group │ just now │ MiniMax-M2.1 │ 81k/100k (81%) │ │ agent:main:discord:channel:1470… │ group │ 1m ago │ MiniMax-M2.1 │ 59k/100k (59%) · 🗄️ 46% cached │ │ agent:main:cron:2014b95a-b82f-4… │ direct │ 15m ago │ MiniMax-M2.1 │ 25k/100k (25%) · 🗄️ 197% cached │ │ agent:main:cron:2014b95a-b82f-4… │ direct │ 15m ago │ MiniMax-M2.1 │ 25k/100k (25%) · 🗄️ 197% cached │ │ agent:main:cron:ee160b3c-a935-4… │ direct │ 15m ago │ MiniMax-M2.1 │ 25k/100k (25%) · 🗄️ 197% cached │ │ agent:main:cron:ee160b3c-a935-4… │ direct │ 16m ago │ MiniMax-M2.1 │ 25k/100k (25%) · 🗄️ 197% cached │ │ agent:main:cron:de4f3024-e2ab-4… │ direct │ 20m ago │ MiniMax-M2.1 │ 25k/200k (12%) · 🗄️ 299% cached │ │ agent:main:main │ direct │ 20m ago │ MiniMax-M2.1 │ 40k/100k (40%) · 🗄️ 78% cached │ │ agent:main:cron:de4f3024-e2ab-4… │ direct │ 22m ago │ MiniMax-M2.1 │ 25k/200k (12%) · 🗄️ 299% cached │ │ agent:main:cron:8d62a037-c9e1-4… │ direct │ 50m ago │ MiniMax-M2.1 │ 31k/100k (31%) · 🗄️ 112% cached │ └─────────────────────────────────────────────────┴────────┴──────────┴──────────────┴─────────────────────────────────┘

Health ┌──────────┬───────────┬───────────────────────────────────────────────────────────────────────────────────────────────┐ │ Item │ Status │ Detail │ ├──────────┼───────────┼───────────────────────────────────────────────────────────────────────────────────────────────┤ │ Gateway │ reachable │ 953ms │ │ Discord │ OK │ ok (@Dobby:default:336ms, @Rhodes:coach:287ms, @Forge:forge:330ms) │ └──────────┴───────────┴───────────────────────────────────────────────────────────────────────────────────────────────┘

FAQ: https://docs.openclaw.ai/faq Troubleshooting: https://docs.openclaw.ai/troubleshooting

Next steps: Need to share? openclaw status --all Need to debug live? openclaw logs --follow Fix reachability first: openclaw gateway probe or {"ok":true,"status":"live"} 4. Gateway shows as reachable in deep check

Actual Behavior

Expected Behavior

Gateway should show as "reachable" when it's actually running and responding.

Additional Info

  • Gateway service is running (systemd pid shown)
  • {"ok":true,"status":"live"} returns
  • status shows gateway as reachable with ~2-3s latency
  • The error message mentions "missing scope: operator.read" which doesn't exist in this context

Environment

  • OpenClaw: 2026.3.13
  • Node: v22.22.1
  • OS: Linux

Suggestion

The status check appears to be looking for a scope that doesn't apply to local gateway connections. This appears to be a false positive in the status check logic.

extent analysis

Fix Plan

To resolve the issue of the gateway showing as "unreachable" despite being running and responding, we need to adjust the status check logic to correctly handle local gateway connections.

Here are the steps:

  • Update the openclaw.json configuration file to include the necessary scope for local gateway connections.
  • Modify the status check logic to ignore the "missing scope: operator.read" error for local connections.

Example code changes:

// Update openclaw.json configuration file
{
  "gateway": {
    "scopes": ["operator.read"] // Add the necessary scope
  }
}

// Modify status check logic
if (gatewayConnection.isLocal()) {
  // Ignore "missing scope: operator.read" error for local connections
  statusCheck.ignoreErrors.push("missing scope: operator.read");
}

Verification

To verify that the fix worked, run the openclaw status command and check that the gateway shows as "reachable". You can also use the openclaw gateway probe command to test the gateway connection.

Extra Tips

  • Make sure to update the openclaw.json configuration file correctly to include the necessary scope for local gateway connections.
  • If you are still experiencing issues, try running the openclaw logs --follow command to debug the issue further.
  • Refer to the OpenClaw documentation for more information on configuring and troubleshooting the gateway connection.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING