Service config looks out of date or non-standard.
Service config issue: Gateway service embeds OPENCLAW_GATEWAY_TOKEN and should be reinstalled. (Run `openclaw gateway install --force` to remove embedded service token.)
Recommendation: run "openclaw doctor" (or "openclaw doctor --repair").
Config (cli): ~/.openclaw/openclaw.json
Config (service): ~/.openclaw/openclaw.json
Gateway: bind=loopback (127.0.0.1), port=18789 (service args)
Probe target: ws://127.0.0.1:18789
Dashboard: http://127.0.0.1:18789/
Probe note: Loopback-only gateway; only local clients can connect.
Runtime: running (pid 81718, state active)
Warm-up: launch agents can take a few seconds. Try again shortly.
Connectivity probe: failed
Probe target: ws://127.0.0.1:18789
connect ECONNREFUSED 127.0.0.1:18789
Capability: unknown
Gateway port 18789 is not listening (service appears running).
Last gateway error: 2026-04-27T20:23:23.938-04:00 [tailscale] serve failed: spawn tailscale ENOENT
Logs: ~/.openclaw/logs/gateway.log
Errors: ~/.openclaw/logs/gateway.err.log
Restart log: ~/.openclaw/logs/gateway-restart.log
#Service config looks out of date or non-standard.
1 messages ยท Page 1 of 1 (latest)
This looks like two issues, but the startup blocker is probably the Tailscale one:
spawn tailscale ENOENT = OpenClaw is configured to use Tailscale Serve/Funnel, but the tailscale CLI isnโt installed or isnโt on the service PATH. Because of that, the gateway service is โrunningโ but never actually starts listening on 127.0.0.1:18789.
First, please also paste:
openclaw --version
Then pick one path:
If you do NOT need Tailscale right now:
openclaw config set gateway.tailscale.mode off
openclaw gateway install --force
openclaw gateway restart
openclaw gateway status
openclaw doctor
If you DO want Tailscale access:
tailscale version
tailscale status
If either fails, install/log into Tailscale first, then:
openclaw gateway install --force
openclaw gateway restart
openclaw gateway status
openclaw doctor
The openclaw gateway install --force part is also what clears the โservice embeds OPENCLAW_GATEWAY_TOKENโ warning.
Docs: https://docs.openclaw.ai/gateway/tailscale and https://docs.openclaw.ai/gateway/troubleshooting ๐ฆ
openclaw gateway install --force
Config warnings:
- plugins.entries.memory-wiki: plugin disabled (disabled in config) but config is present
๐ฆ OpenClaw 2026.4.25 (aa36ee6) โ I don't just autocompleteโI auto-commit (emotionally), then ask you to review (logically).
โ
โ Config warnings โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ โ
โ - plugins.entries.memory-wiki: plugin disabled (disabled in config) but config is โ
โ present โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
Installed LaunchAgent: /Users/<user>/Library/LaunchAgents/ai.openclaw.gateway.plist
Logs: /Users/<user>/.openclaw/logs/gateway.log
Nice, that reinstalled the LaunchAgent and should clear the embedded-token warning.
Next run:
openclaw gateway restart
openclaw gateway status
If it still says ECONNREFUSED and the last error is still:
[tailscale] serve failed: spawn tailscale ENOENT
then the actual blocker is Tailscale. Either disable OpenClawโs Tailscale integration:
openclaw config set gateway.tailscale.mode off
openclaw gateway install --force
openclaw gateway restart
openclaw gateway status
or install/fix Tailscale so this works from Terminal:
tailscale version
The plugins.entries.memory-wiki warning is separate and probably not causing the gateway failure. It just means that plugin is disabled but still has leftover config. You can ignore it for now, or later run:
openclaw doctor --repair
Docs: https://docs.openclaw.ai/gateway/tailscale https://docs.openclaw.ai/gateway/troubleshooting ๐ฆ
openclaw gateway restart
Config warnings:
- plugins.entries.memory-wiki: plugin disabled (disabled in config) but config is present
๐ฆ OpenClaw 2026.4.25 (aa36ee6) โ I've read more man pages than any human shouldโso you don't have to.
โ
โ Config warnings โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ โ
โ - plugins.entries.memory-wiki: plugin disabled (disabled in config) but config is โ
โ present โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
Restarted LaunchAgent: gui/501/ai.openclaw.gateway
Timed out after 60s waiting for gateway port 18789 to become healthy.
Gateway process is running but port 18789 is still free (startup hang/crash loop or very slow VM startup).
Service runtime: status=running, state=active, pid=84751
Gateway port 18789 status: free.
Gateway restart timed out after 60s waiting for health checks.
Tip: openclaw gateway status --deep
Tip: openclaw doctor
Yep, this is not a port conflict โ port 18789 status: free means the gateway is failing/hanging before it binds.
Most likely still the same blocker: Tailscale is enabled but tailscale canโt be spawned.
Try disabling Tailscale for now:
openclaw config set gateway.tailscale.mode off
openclaw gateway install --force
openclaw gateway restart
openclaw gateway status
If that still times out, paste this:
openclaw gateway status --deep
tail -n 120 ~/.openclaw/logs/gateway.err.log
tail -n 120 ~/.openclaw/logs/gateway.log
The memory-wiki warning is unrelated; ignore it until the gateway is healthy. ๐ฆ
2026-04-27T20:45:28.408-04:00 (node:86550) ExperimentalWarning: SQLite is an experimental feature and might change at any time
(Use node --trace-warnings ... to show where the warning was created)
2026-04-27T20:45:38.491-04:00 [gateway] security warning: dangerous config flags enabled: tools.fs.workspaceOnly=false. Run openclaw security audit.
2026-04-27T20:51:49.607-04:00 (node:88346) ExperimentalWarning: SQLite is an experimental feature and might change at any time
(Use node --trace-warnings ... to show where the warning was created)
2026-04-27T20:52:18.717-04:00 [gateway] security warning: dangerous config flags enabled: tools.fs.workspaceOnly=false. Run openclaw security audit.
2026-04-27T20:57:49.649-04:00 (node:90652) ExperimentalWarning: SQLite is an experimental feature and might change at any time
(Use node --trace-warnings ... to show where the warning was created)
Those lines arenโt fatal. The SQLite warning is normal-ish, and tools.fs.workspaceOnly=false is a security warning, not the reason port 18789 is free.
Whatโs important: the gateway process is starting, logging early warnings, then apparently hanging before it binds the port.
Please run these next:
openclaw config get gateway.tailscale.mode
openclaw gateway status --deep
tail -n 120 ~/.openclaw/logs/gateway.err.log
tail -n 120 ~/.openclaw/logs/gateway-restart.log
If gateway.tailscale.mode is still serve or funnel, turn it off and restart:
openclaw config set gateway.tailscale.mode off
openclaw gateway install --force
openclaw gateway restart
If itโs already off, try one foreground run so we can see where startup stalls:
openclaw gateway stop
OPENCLAW_GATEWAY_STARTUP_TRACE=1 openclaw gateway --verbose
Also: once the gateway is healthy, Iโd fix tools.fs.workspaceOnly=false unless you intentionally enabled full filesystem access. Thatโs risky.
openclaw config get gateway.tailscale.mode
Config warnings:
- plugins.entries.memory-wiki: plugin disabled (disabled in config) but config is present
๐ฆ OpenClaw 2026.4.25 (aa36ee6) โ Say "stop" and I'll stopโsay "ship" and we'll both learn a lesson.
off
Good โ that means the old Tailscale error is stale now. We can stop chasing that one.
At this point the gateway is starting but hanging/crashing before it binds. Please run this exact sequence so we can see the current blocker:
openclaw gateway install --force
openclaw gateway restart
openclaw gateway status --deep
tail -n 160 ~/.openclaw/logs/gateway.err.log
tail -n 160 ~/.openclaw/logs/gateway-restart.log
tail -n 160 ~/.openclaw/logs/gateway.log
If those logs still only show the SQLite/security warnings, do a foreground startup trace:
openclaw gateway stop
OPENCLAW_GATEWAY_STARTUP_TRACE=1 openclaw gateway --verbose
Then paste where it stops.
The memory-wiki disabled config warning and tools.fs.workspaceOnly=false warning are separate; annoying/risky, but they should not keep port 18789 from listening.
21:05:05 [gateway] agent model: openai-codex/gpt-5.4
21:05:05 [gateway] ready (6 plugins: acpx, device-pair, lossless-claw, memory-core, phone-control, talk-voice; 17.6s)
21:05:05 [gateway] log file: /tmp/openclaw/openclaw-2026-04-27.log
21:05:05 [gateway] security warning: dangerous config flags enabled: tools.fs.workspaceOnly=false. Run `openclaw security audit`.
21:05:05 [gateway] startup trace: post-attach.log 238.7ms total=15898.6ms
21:05:05 [gateway] startup trace: post-attach.update-check 1.4ms total=15901.3ms
21:05:05 [gateway] starting channels and sidecars...
21:05:05 [gateway] startup trace: sidecars.session-locks 12.7ms total=15917.3ms
21:05:05 [gateway] startup trace: sidecars.gmail-watch 0.1ms total=15919.5ms
21:05:05 [gateway] startup trace: sidecars.gmail-model 0.1ms total=15920.8ms
21:05:06 [hooks:loader] Registered hook: boot-md -> gateway:startup
21:05:06 [hooks:loader] Registered hook: bootstrap-extra-files -> agent:bootstrap
21:05:06 [hooks:loader] Registered hook: command-logger -> command
21:05:06 [hooks:loader] Registered hook: session-memory -> command:new, command:reset
21:05:06 [hooks] loaded 4 internal hook handlers
21:05:06 [gateway] startup trace: sidecars.internal-hooks 463.9ms total=16385.6ms
21:05:42 [model-pricing] OpenRouter pricing fetch failed: TypeError: fetch failed
21:05:42 [codex/catalog] codex model discovery failed; using fallback catalog
That log is actually encouraging: the gateway reached ready. The OpenRouter/Codex catalog fetch failures are non-fatal network/catalog warnings.
Key question: did OPENCLAW_GATEWAY_STARTUP_TRACE=1 openclaw gateway --verbose keep running, or did it return you to the shell?
If itโs still running, open another terminal and run:
openclaw gateway status
If status is OK, foreground works and the remaining issue is specifically the LaunchAgent/service. Then stop the foreground gateway with Ctrl+C and run:
openclaw gateway install --force
openclaw gateway restart
openclaw gateway status
If foreground works but LaunchAgent still times out, paste:
which openclaw
openclaw --version
openclaw gateway status --deep
tail -n 160 ~/.openclaw/logs/gateway-restart.log
Also: the OpenRouter pricing fetch failed and codex model discovery failed; using fallback catalog lines are not the port/listening problem. They just mean it couldnโt fetch remote model metadata and fell back.
send failed: Error: gateway request timeout for chat.send
Good, the failure moved: this is now TUI/WebChat โ Gateway chat.send timing out, not Discord delivery.
chat.send should normally ack almost immediately, so either the gateway event loop is wedged after โreadyโ, or the client is talking to a stale/half-dead gateway.
Run these while the gateway is โreadyโ:
openclaw gateway status
openclaw health --verbose
openclaw logs --limit 250 --local-time
If gateway status or health also timeout, the gateway is wedged. Then restart cleanly:
openclaw gateway stop
pkill -f "openclaw gateway" # only if stop doesn't clear it
openclaw gateway start
openclaw gateway status
If status/health are OK but only chat.send times out, paste the log lines right after the failed send:
tail -n 200 ~/.openclaw/logs/gateway.log
tail -n 200 ~/.openclaw/logs/gateway.err.log
Also worth trying once after a clean restart:
openclaw doctor --repair
is this the correct command
openclaw models auth login --provider codex
No โ for the normal ChatGPT/Codex subscription OAuth path, use:
openclaw models auth login --provider openai-codex
Optional, if you want it to become the default route:
openclaw models auth login --provider openai-codex --set-default
If browser OAuth is awkward on that machine:
openclaw models auth login --provider openai-codex --device-code