#Completion cache update failed: Error: spawnSync /usr/bin/node ETIMEDOUT after update
1 messages Β· Page 1 of 1 (latest)
That specific error β Completion cache update failed: ... spawnSync /usr/bin/node ETIMEDOUT β is usually not the main agent slowdown. Itβs the post-update shell completion cache timing out; it mostly affects CLI tab completion.
First thing: please paste this read-only triage output:
openclaw --version
which openclaw
openclaw status --all
openclaw gateway status --deep
If status --all hangs, skip it and do:
openclaw logs --tail 120
Also: donβt manually npm install inside any ~/.openclaw/plugin-runtime-deps/... folder β that can make update/runtime-deps problems worse.
Docs for the flow: https://docs.openclaw.ai/help/faq and https://docs.openclaw.ai/gateway/troubleshooting
broedkrummen@ubuntu-8gb-fsn1-1:~$ openclaw --version
which openclaw
openclaw status --all
openclaw gateway status --deep
OpenClaw 2026.4.26 (be8c246)
/home/broedkrummen/.npm-global/bin/openclaw
π¦ OpenClaw 2026.4.26 (be8c246) β We ship features faster than Apple ships calculator updates.
β
OpenClaw status --all
Overview
ββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Item β Value β
ββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Version β 2026.4.26 β
β OS β linux 6.8.0-90-generic (x64) β
β Node β 22.22.2 β
β Config β ~/.openclaw/openclaw.json β
β Dashboard β https://127.0.0.1:18888/ β
β Tailscale exposure β serve Β· unknown Β· ubuntu-8gb-fsn1-1.taila0448b.ts.net Β· https://ubuntu-8gb-fsn1-1. β
β β taila0448b.ts.net β
β Channel β stable (default) β
β Update β pnpm Β· up to date Β· npm latest 2026.4.26 β
β Gateway β local Β· wss://127.0.0.1:18888 (local loopback) Β· unreachable (timeout) β
β Security β Run: openclaw security audit --deep β
β Gateway self β unknown β
β Gateway service β systemd installed Β· enabled Β· running (pid 192720, state active) β
β Node service β systemd not installed β
β Agents β 4 total Β· 0 bootstrapping Β· 1 active Β· 16 sessions β
β Secrets β none β
ββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Channels
ββββββββββββ¬ββββββββββ¬βββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Channel β Enabled β State β Detail β
ββββββββββββΌββββββββββΌβββββββββΌββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
ββββββββββββ΄ββββββββββ΄βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Agents
βββββββββββββββββββββββββββ¬βββββββββββββββββ¬βββββββββββ¬βββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββ
β Agent β Bootstrap file β Sessions β Active β Store β
βββββββββββββββββββββββββββΌβββββββββββββββββΌβββββββββββΌβββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββ€
β nova (Nova) β ABSENT β 8 β 1m ago β ~/.openclaw/agents/nova/sessions/sessions.json β
β archimedes (Archimedes) β ABSENT β 3 β 15h ago β ~/.openclaw/agents/archimedes/sessions/sessions. β
β β β β β json β
β hemmingway (Hemmingway) β ABSENT β 2 β 13h ago β ~/.openclaw/agents/hemmingway/sessions/sessions. β
β β β β β json β
β iris (Iris) β ABSENT β 3 β 15h ago β ~/.openclaw/agents/iris/sessions/sessions.json β
βββββββββββββββββββββββββββ΄βββββββββββββββββ΄βββββββββββ΄βββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββ
Diagnosis (read-only)
Gateway connection details:
Gateway target: wss://127.0.0.1:18888
Source: local loopback
Config: /home/broedkrummen/.openclaw/openclaw.json
Bind: loopback
β Config: /home/broedkrummen/.openclaw/openclaw.json
β Secret diagnostics (0)
β Restart sentinel: none
! Port 18888
Port 18888 is already in use.
- pid 192720 broedkrummen: openclaw-gateway (127.0.0.1:18888)
- Gateway already running locally. Stop it (openclaw gateway stop) or use a different port.
! Tailscale exposure: serve Β· daemon unknown Β· ubuntu-8gb-fsn1-1.taila0448b.ts.net
https: https://ubuntu-8gb-fsn1-1.taila0448b.ts.net
β Skills: 12 eligible Β· 0 missing Β· /home/broedkrummen/.openclaw/Workspace
β Plugin compatibility (none)
Gateway restart attempts (tail): /home/broedkrummen/.openclaw/logs/gateway-restart.log
[2026-04-27T14:24:06Z] openclaw restart attempt source=update target=openclaw-gateway.service
[2026-04-27T14:24:06Z] openclaw restart done source=update
[2026-04-28T03:27:02Z] openclaw restart attempt source=update target=openclaw-gateway.service
[2026-04-28T03:27:02Z] openclaw restart done source=update
! Channel issues skipped (gateway unreachable)
Gateway health:
timeout
Pasteable debug report. Auth tokens redacted.
Troubleshooting: https://docs.openclaw.ai/troubleshooting
β
π¦ OpenClaw 2026.4.26 (be8c246) β Your .zshrc wishes it could do what I do.
β
β
Service: systemd (enabled)
File logs: /tmp/openclaw/openclaw-2026-04-28.log
Command: /usr/bin/node /home/broedkrummen/.npm-global/lib/node_modules/openclaw/dist/index.js gateway --port 18888
Service file: ~/.config/systemd/user/openclaw-gateway.service
Service env: OPENCLAW_GATEWAY_PORT=18888
Config (cli): ~/.openclaw/openclaw.json
Config (service): ~/.openclaw/openclaw.json
Gateway: bind=loopback (127.0.0.1), port=18888 (service args)
Probe target: wss://127.0.0.1:18888
Dashboard: https://127.0.0.1:18888/
Probe note: Loopback-only gateway; only local clients can connect.
Runtime: running (pid 192720, state active, sub running, last exit 0, reason 0)
Warm-up: launch agents can take a few seconds. Try again shortly.
Connectivity probe: failed
Probe target: wss://127.0.0.1:18888
timeout
Capability: unknown
Port 18888 is already in use.
- pid 192720 broedkrummen: openclaw-gateway (127.0.0.1:18888)
- Gateway already running locally. Stop it (openclaw gateway stop) or use a different port.
Listening: 127.0.0.1:18888
Troubles: run openclaw status
Troubleshooting: https://docs.openclaw.ai/troubleshooting
That completion-cache error is probably not the root cause. It means the post-update shell completion refresh timed out after 30s; worst case your tab completion is stale.
The real bad signal is:
Gateway Β· unreachable (timeout)
Gateway service Β· systemd installed Β· enabled Β· running
So the service process exists, but the gateway isnβt responding β likely stuck, overloaded, or crashing/restarting internally.
Please paste these next:
openclaw logs --limit 300 --plain --no-color
journalctl --user -u openclaw-gateway.service -n 250 --no-pager
openclaw doctor
ps -p 192720 -o pid,etimes,%cpu,%mem,rss,args
If you just need a quick recovery attempt first:
openclaw gateway restart
openclaw gateway status --deep
Docs for the triage ladder: https://docs.openclaw.ai/help/faq and https://docs.openclaw.ai/gateway/troubleshooting
Port 18888 being βin useβ is expected here β itβs owned by the gateway PID. The problem is: the gateway is listening but not answering probes, so itβs probably wedged.
Can you grab logs directly from the file path shown before restarting?
tail -n 250 /tmp/openclaw/openclaw-2026-04-28.log
journalctl --user -u openclaw-gateway.service -n 250 --no-pager
ps -p 192720 -o pid,ppid,etimes,stat,%cpu,%mem,rss,cmd
Then try the clean recovery:
openclaw gateway restart
sleep 5
openclaw gateway status --deep
If it still times out after restart, paste the log tail from immediately after that. The completion-cache timeout is probably just stale shell completion; this gateway timeout is the thing to chase.
Docs: https://docs.openclaw.ai/help/troubleshooting and https://docs.openclaw.ai/cli/logs
I see the errors:
2026-04-28T03:56:01.650Z error Invalid config at /home/broedkrummen/.openclaw/openclaw.json:\n- gateway.bind: gateway.bind must resolve to loopback when gateway.tailscale.mode=serve (use gateway.bind="loopback" or gateway.bind="custom" with gateway.customBindHost="127.0.0.1")
2026-04-28T03:56:01.841Z error Config invalid
2026-04-28T03:56:01.845Z error File: ~/.openclaw/openclaw.json
2026-04-28T03:56:01.848Z error Problem:
2026-04-28T03:56:01.851Z error - gateway.bind: gateway.bind must resolve to loopback when gateway.tailscale.mode=serve (use gateway.bind="loopback" or gateway.bind="custom" with gateway.customBindHost="127.0.0.1")
2026-04-28T03:56:01.854Z error Legacy config keys detected:
2026-04-28T03:56:01.857Z error - gateway.bind: gateway.bind host aliases (for example 0.0.0.0/localhost) are legacy; use bind modes (lan/loopback/custom/tailnet/auto) instead. Run "openclaw doctor --fix".
2026-04-28T03:56:01.860Z error {"0":"","_meta":{"runtime":"node","runtimeVersion":"22.22.2","hostname":"unknown","name":"openclaw","date":"2026-04-28T03:56:01.860Z","logLevelId":5,"logLevelName":"ERROR","path":{"fullFilePath":"file:///home/broedkrummen/.npm-global/lib/node_modules/openclaw/dist/console-D6VW2Y3e.js:149:68","fileName":"console-D6VW2Y3e.js","fileNameWithLine":"console-D6VW2Y3e.js:149","fileColumn":"68","fileLine":"149","filePath":".npm-global/lib/node_modules/openclaw/dist/console-D6VW2Y3e.js","filePathWithLine":".npm-global/lib/node_modules/openclaw/dist/console-D6VW2Y3e.js:149","method":"console.error"}},"time":"2026-04-28T03:56:01.860+00:00","hostname":"ubuntu-8gb-fsn1-1"}
2026-04-28T03:56:01.864Z error Run: openclaw doctor --fix
2026-04-28T03:56:02.033Z error Gateway aborted: config is invalid.
gateway.bind: gateway.bind must resolve to loopback when gateway.tailscale.mode=serve (use gateway.bind="loopback" or gateway.bind="custom" with gateway.customBindHost="127.0.0.1")
Fix the config and retry, or run "openclaw doctor" to repair.
2026-04-28T03:56:06.858Z error Config invalid
2026-04-28T03:56:06.889Z error File: ~/.openclaw/openclaw.json
2026-04-28T03:56:06.892Z error Problem:
2026-04-28T03:56:06.894Z error - gateway.bind: gateway.bind must resolve to loopback when gateway.tailscale.mode=serve (use gateway.bind="loopback" or gateway.bind="custom" with gateway.customBindHost="127.0.0.1")
2026-04-28T03:56:06.897Z error Legacy config keys detected:
2026-04-28T03:56:06.899Z error - gateway.bind: gateway.bind host aliases (for example 0.0.0.0/localhost) are legacy; use bind modes (lan/loopback/custom/tailnet/auto) instead. Run "openclaw doctor --fix".
2026-04-28T03:56:06.901Z error {"0":"","_meta":{"runtime":"node","runtimeVersion":"22.22.2","hostname":"unknown","name":"openclaw","date":"2026-04-28T03:56:06.900Z","logLevelId":5,"logLevelName":"ERROR","path":{"fullFilePath":"file:///home/broedkrummen/.npm-global/lib/node_modules/openclaw/dist/console-D6VW2Y3e.js:149:68","fileName":"console-D6VW2Y3e.js","fileNameWithLine":"console-D6VW2Y3e.js:149","fileColumn":"68","fileLine":"149","filePath":".npm-global/lib/node_modules/openclaw/dist/console-D6VW2Y3e.js","filePathWithLine":".npm-global/lib/node_modules/openclaw/dist/console-D6VW2Y3e.js:149","method":"console.error"}},"time":"2026-04-28T03:56:06.901+00:00","hostname":"ubuntu-8gb-fsn1-1"}
2026-04-28T03:56:06.903Z error Run: openclaw doctor --fix
2026-04-28T03:56:18.187Z error Config invalid
2026-04-28T03:56:18.216Z error File: ~/.openclaw/openclaw.json
2026-04-28T03:56:18.218Z error Problem:
2026-04-28T03:56:18.220Z error - gateway.bind: gateway.bind must resolve to loopback when gateway.tailscale.mode=serve (use gateway.bind="loopback" or gateway.bind="custom" with gateway.customBindHost="127.0.0.1")
2026-04-28T03:56:18.222Z error Legacy config keys detected:
2026-04-28T03:56:18.224Z error - gateway.bind: gateway.bind host aliases (for example 0.0.0.0/localhost) are legacy; use bind modes (lan/loopback/custom/tailnet/auto) instead. Run "openclaw doctor --fix".
2026-04-28T03:56:18.226Z error {"0":"","_meta":{"runtime":"node","runtimeVersion":"22.22.2","hostname":"unknown","name":"openclaw","date":"2026-04-28T03:56:18.226Z","logLevelId":5,"logLevelName":"ERROR","path":{"fullFilePath":"file:///home/broedkrummen/.npm-global/lib/node_modules/openclaw/dist/console-D6VW2Y3e.js:149:68","fileName":"console-D6VW2Y3e.js","fileNameWithLine":"console-D6VW2Y3e.js:149","fileColumn":"68","fileLine":"149","filePath":".npm-global/lib/node_modules/openclaw/dist/console-D6VW2Y3e.js","filePathWithLine":".npm-global/lib/node_modules/openclaw/dist/console-D6VW2Y3e.js:149","method":"console.error"}},"time":"2026-04-28T03:56:18.226+00:00","hostname":"ubuntu-8gb-fsn1-1"}
2026-04-28T03:56:18.228Z error Run: openclaw doctor --fix
2026-04-28T03:56:29.513Z error Config invalid
2026-04-28T03:56:29.549Z error File: ~/.openclaw/openclaw.json
2026-04-28T03:56:29.552Z error Problem:
2026-04-28T03:56:29.555Z error - gateway.bind: gateway.bind must resolve to loopback when gateway.tailscale.mode=serve (use gateway.bind="loopback" or gateway.bind="custom" with gateway.customBindHost="127.0.0.1")
2026-04-28T03:56:29.557Z error Legacy config keys detected:
2026-04-28T03:56:29.560Z error - gateway.bind: gateway.bind host aliases (for example 0.0.0.0/localhost) are legacy; use bind modes (lan/loopback/custom/tailnet/auto) instead. Run "openclaw doctor --fix".
2026-04-28T03:56:29.563Z error {"0":"","_meta":{"runtime":"node","runtimeVersion":"22.22.2","hostname":"unknown","name":"openclaw","date":"2026-04-28T03:56:29.562Z","logLevelId":5,"logLevelName":"ERROR","path":{"fullFilePath":"file:///home/broedkrummen/.npm-global/lib/node_modules/openclaw/dist/console-D6VW2Y3e.js:149:68","fileName":"console-D6VW2Y3e.js","fileNameWithLine":"console-D6VW2Y3e.js:149","fileColumn":"68","fileLine":"149","filePath":".npm-global/lib/node_modules/openclaw/dist/console-D6VW2Y3e.js","filePathWithLine":".npm-global/lib/node_modules/openclaw/dist/console-D6VW2Y3e.js:149","method":"console.error"}},"time":"2026-04-28T03:56:29.563+00:00","hostname":"ubuntu-8gb-fsn1-1"}
2026-04-28T03:56:29.565Z error Run: openclaw doctor --fix
2026-04-28T03:56:40.782Z error Config invalid
2026-04-28T03:56:40.814Z error File: ~/.openclaw/openclaw.json
2026-04-28T03:56:40.817Z error Problem:
2026-04-28T03:56:40.819Z error - gateway.bind: gateway.bind must resolve to loopback when gateway.tailscale.mode=serve (use gateway.bind="loopback" or gateway.bind="custom" with gateway.customBindHost="127.0.0.1")
2026-04-28T03:56:40.822Z error Legacy config keys detected:
2026-04-28T03:56:40.824Z error - gateway.bind: gateway.bind host aliases (for example 0.0.0.0/localhost) are legacy; use bind modes (lan/loopback/custom/tailnet/auto) instead. Run "openclaw doctor --fix".
2026-04-28T03:56:40.826Z error {"0":"","_meta":{"runtime":"node","runtimeVersion":"22.22.2","hostname":"unknown","name":"openclaw","date":"2026-04-28T03:56:40.825Z","logLevelId":5,"logLevelName":"ERROR","path":{"fullFilePath":"file:///home/broedkrummen/.npm-global/lib/node_modules/openclaw/dist/console-D6VW2Y3e.js:149:68","fileName":"console-D6VW2Y3e.js","fileNameWithLine":"console-D6VW2Y3e.js:149","fileColumn":"68","fileLine":"149","filePath":".npm-global/lib/node_modules/openclaw/dist/console-D6VW2Y3e.js","filePathWithLine":".npm-global/lib/node_modules/openclaw/dist/console-D6VW2Y3e.js:149","method":"console.error"}},"time":"2026-04-28T03:56:40.826+00:00","hostname":"ubuntu-8gb-fsn1-1"}
Good find β thatβs the actual blocker.
With gateway.tailscale.mode = serve, OpenClaw now requires the Gateway itself to stay on loopback. Tailscale Serve is the thing that exposes it externally, so gateway.bind: "0.0.0.0" / "localhost" / other old host aliases will fail validation.
Do this:
cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.bak.$(date +%Y%m%d-%H%M%S)
openclaw doctor --fix
openclaw config validate
openclaw gateway restart
sleep 5
openclaw gateway status --deep
If doctor --fix doesnβt clear it, force the intended shape:
openclaw config set gateway.bind loopback
openclaw config validate
openclaw gateway restart
Then use your Tailscale Serve URL for remote access, not a direct non-loopback bind.
If it still complains, paste:
openclaw config get gateway.bind
openclaw config get gateway.customBindHost
openclaw config get gateway.tailscale.mode
(no auth tokens needed)
Yep, thatβs the same error repeating β no need to paste more logs from that section.
Run the fix commands now:
openclaw config set gateway.bind loopback
openclaw config validate
openclaw gateway restart
sleep 5
openclaw gateway status --deep
If config validate still complains, run:
openclaw doctor --fix
openclaw config validate
openclaw gateway restart
The important bit: with gateway.tailscale.mode: serve, donβt bind OpenClaw to 0.0.0.0 / localhost directly. Keep OpenClaw on loopback; Tailscale Serve exposes it.
β Doctor complete.
π¦ OpenClaw 2026.4.26 (be8c246) β I'm not AI-powered, I'm AI-possessed. Big difference.
Config valid: ~/.openclaw/openclaw.json
π¦ OpenClaw 2026.4.26 (be8c246) β I'm like tmux: confusing at first, then suddenly you can't live without me.
Restarted systemd service: openclaw-gateway.service
π¦ OpenClaw 2026.4.26 (be8c246) β Your .zshrc wishes it could do what I do.
β
β
Service: systemd (enabled)
File logs: /tmp/openclaw/openclaw-2026-04-28.log
Command: /usr/bin/node /home/broedkrummen/.npm-global/lib/node_modules/openclaw/dist/index.js gateway --port 18888
Service file: ~/.config/systemd/user/openclaw-gateway.service
Service env: OPENCLAW_GATEWAY_PORT=18888
Config (cli): ~/.openclaw/openclaw.json
Config (service): ~/.openclaw/openclaw.json
Gateway: bind=loopback (127.0.0.1), port=18888 (service args)
Probe target: wss://127.0.0.1:18888
Dashboard: https://127.0.0.1:18888/
Probe note: Loopback-only gateway; only local clients can connect.
Runtime: running (pid 195541, state active, sub running, last exit 0, reason 0)
Warm-up: launch agents can take a few seconds. Try again shortly.
Connectivity probe: failed
Probe target: wss://127.0.0.1:18888
timeout
Capability: unknown
Port 18888 is already in use.
- pid 195541 broedkrummen: openclaw-gateway (127.0.0.1:18888)
- Gateway already running locally. Stop it (openclaw gateway stop) or use a different port.
Listening: 127.0.0.1:18888
Troubles: run openclaw status
Troubleshooting: https://docs.openclaw.ai/troubleshooting
Nice, config is fixed now β this is a different failure: gateway starts + listens, but the probe canβt get a response.
Letβs split βHTTP aliveβ vs βWS/RPC wedgedβ:
curl -k --max-time 5 -i https://127.0.0.1:18888/healthz
curl -k --max-time 5 -i https://127.0.0.1:18888/readyz
tail -n 250 /tmp/openclaw/openclaw-2026-04-28.log
journalctl --user -u openclaw-gateway.service -n 160 --no-pager
ps -p 195541 -o pid,ppid,etimes,stat,%cpu,%mem,rss,cmd
free -h
If /healthz also times out, the Node process is probably wedged/event-loop blocked. If /healthz works but gateway status times out, itβs more likely startup sidecars / WS RPC / auth path.
If you need a more diagnostic restart after that:
openclaw gateway stop
OPENCLAW_GATEWAY_STARTUP_TRACE=1 openclaw gateway --port 18888
Paste the startup trace/log lines around where it stalls.
Docs: https://docs.openclaw.ai/cli/gateway and https://docs.openclaw.ai/gateway/troubleshooting
It seems to have stalled:
04:20:59 [gateway] startup trace: post-attach.update-check 20.8ms total=15066.7ms eventLoopMax=0.0ms
04:20:59 [gateway] starting channels and sidecars...
04:20:59 [gateway] startup trace: sidecars.session-locks 112.1ms total=15187.2ms eventLoopMax=26.6ms
04:20:59 [gateway] startup trace: sidecars.gmail-watch 0.2ms total=15192.1ms eventLoopMax=0.0ms
04:20:59 [gateway] startup trace: sidecars.gmail-model 0.4ms total=15195.9ms eventLoopMax=0.0ms
04:20:59 [gateway] startup trace: sidecars.internal-hooks 0.2ms total=15199.8ms eventLoopMax=0.0ms
04:21:26 [tailscale] serve enabled
04:21:26 [gateway] startup trace: post-attach.tailscale 27743.4ms total=42790.4ms eventLoopMax=26323.5ms
That trace is useful. eventLoopMax=26323ms means the Node event loop was blocked for ~26s during startup β not just βwaiting on networkβ.
Because the last sidecar before the stall is sidecars.internal-hooks, the next likely culprit is channel/model provider startup. Letβs confirm by starting once with channels/providers skipped:
openclaw gateway stop
OPENCLAW_GATEWAY_STARTUP_TRACE=1 OPENCLAW_SKIP_CHANNELS=1 openclaw gateway --port 18888
If that reaches gateway ready, then the core gateway is fine and one of the channel/model startup paths is wedging.
Also check Tailscale itself since it took ~27s:
tailscale status
tailscale serve status
Quick isolation option too:
openclaw config set gateway.tailscale.mode off
openclaw gateway restart
openclaw gateway status --deep
If disabling Tailscale makes it responsive, weβve narrowed it to the Serve setup. If OPENCLAW_SKIP_CHANNELS=1 makes it responsive, paste the trace/log lines around sidecars.model-prewarm / sidecars.channel-start.
Nevermind, It just needed some time:
04:21:26 [gateway] startup trace: post-attach.tailscale 27743.4ms total=42790.4ms eventLoopMax=26323.5ms
04:22:26 [discord] [default] delaying provider startup 10s to reduce Discord startup rate limits
04:22:26 [discord] [hemmingway] delaying provider startup 20s to reduce Discord startup rate limits
04:22:26 [discord] [iris] delaying provider startup 30s to reduce Discord startup rate limits
04:22:26 [gateway] startup trace: sidecars.channels 87675.9ms total=102879.1ms eventLoopMax=1521.5ms
04:22:26 [plugins] embedded acpx runtime backend registered (cwd: /home/broedkrummen/.openclaw/Workspace)
04:22:27 [browser/server] Browser control listening on http://127.0.0.1:18890/ (auth=token)
04:22:27 [gateway] startup trace: sidecars.plugin-services 673.5ms total=103560.1ms eventLoopMax=628.6ms
04:22:27 [gateway] startup trace: sidecars.memory 0.3ms total=103564.4ms eventLoopMax=0.0ms
04:22:27 [gateway] startup trace: sidecars.restart-sentinel 2.6ms total=103569.9ms eventLoopMax=0.0ms
04:22:27 [gateway] startup trace: sidecars.subagent-recovery 5.6ms total=103578.4ms eventLoopMax=0.0ms
04:22:27 [gateway] startup trace: sidecars.main-session-recovery 9.0ms total=103596.2ms eventLoopMax=0.0ms
04:22:27 [gateway] startup trace: sidecars.total 88524.5ms total=103598.7ms eventLoopMax=0.0ms
04:22:27 [gateway] startup trace: sidecars.ready 2.6ms total=103601.3ms eventLoopMax=0.0ms
04:22:27 [gateway] ready
04:22:27 [gateway] startup trace: runtime.post-attach 88659.9ms total=103607.5ms eventLoopMax=0.0ms
04:22:27 [gateway] startup trace: ready 2.5ms total=103610.0ms eventLoopMax=0.0ms
04:22:27 [heartbeat] started
04:22:27 [telegram] [default] starting provider (@Nova_my_bot_bot)
04:22:28 [telegram] menu text exceeded the conservative 5700-character payload budget; shortening descriptions to keep 56 commands visible.
04:22:28 [discord] [archimedes] Discord Message Content Intent is limited; bots under 100 servers can use it without verification.
04:22:28 [discord] [archimedes] starting provider (@Archimedes)
04:22:29 [discord] channels resolved: 1465974811128758304/1472600748800872550 (guild:Broedkrummes server; channel:archimedes)
discord channels unresolved: 1465974811128758304/1498259427055108136 (guildId:1465974811128758304; channelId:1498259427055108136)
04:22:29 [discord] channel users resolved: 1455735626665164871
04:22:32 [discord] logged in to discord as 1498252277461286994 (Archimedes)
04:22:37 [discord] [default] Discord Message Content Intent is limited; bots under 100 servers can use it without verification.
04:22:37 [discord] [default] starting provider (@Nova)
04:22:37 [discord] channels resolved: 1465974811128758304 (guild:Broedkrummes server; aliases:guild:1465974811128758304)
04:22:39 [discord] logged in to discord as 1472960908257923113 (Nova)
04:22:47 [discord] [hemmingway] Discord Message Content Intent is limited; bots under 100 servers can use it without verification.
04:22:47 [discord] [hemmingway] starting provider (@Hemmingway)
04:22:47 [discord] channels resolved: 1465974811128758304/1472821043616809013 (guild:Broedkrummes server; channel:hemmingway)
discord channels unresolved: 1465974811128758304/1496214293958361342 (guildId:1465974811128758304; channelId:1496214293958361342)
04:22:48 [discord] channel users resolved: 1455735626665164871
04:22:49 [discord] logged in to discord as 1496211036766863481 (Hemmingway)
04:22:57 [discord] [iris] Discord Message Content Intent is limited; bots under 100 servers can use it without verification.
04:22:57 [discord] [iris] starting provider (@Iris)
04:22:57 [discord] channels resolved: 1465974811128758304/1475708783647789108 (guild:Broedkrummes server; channel:iris)
discord channels unresolved: 1465974811128758304/1498258459307544596 (guildId:1465974811128758304; channelId:1498258459307544596)
04:22:57 [discord] channel users resolved: 1455735626665164871
04:22:59 [discord] logged in to discord as 1498253644817236018 (Iris)
Nice β yep, that explains it.
Startup took ~103s total:
- ~28s in Tailscale Serve setup
- ~88s in sidecars/channels
- Discord accounts are intentionally staggered: 10s / 20s / 30s delays to avoid startup rate limits
So during that window, gateway status --deep can look scary because the process is listening but not fully ready yet.
Two small cleanup notes:
- Those
discord channels unresolvedlines mean you likely have stale/deleted channel IDs in config. Not fatal, but worth cleaning later. - If startup time keeps being painful, temporarily disable unused Discord accounts/channels or Tailscale Serve to compare.
Final check:
openclaw gateway status --deep
openclaw channels status --probe
If those are good, youβre back. π
If this fixed it, please right-click the solution message β Apps β β Mark Solution so Answer Overflow indexes it for future users.
04:25:34 [discord] gateway: Gateway websocket closed: 1000
04:25:34 [discord] gateway: Gateway reconnect scheduled in 866ms (close, resume=true)
04:25:34 [discord] gateway: Gateway websocket closed: 1000
04:25:34 [discord] gateway: Gateway reconnect scheduled in 1123ms (close, resume=true)
04:25:50 [discord] gateway: Gateway websocket closed: 1000
04:25:50 [discord] gateway: Gateway reconnect scheduled in 1037ms (close, resume=true)
Those are Discord gateway logs, not the OpenClaw gateway dying.
1000 is a normal websocket close code, and resume=true means the Discord client is trying to resume the session. Occasional lines like this after startup/restart are okay, especially with multiple Discord accounts.
If it keeps happening every ~15s forever, then itβs worth chasing. Check:
openclaw gateway status --deep
openclaw channels status --probe
tail -n 200 /tmp/openclaw/openclaw-2026-04-28.log
Look for whether each Discord account logs back in after the reconnect. If they stay logged in and messages work, this is just noisy reconnect logging. If messages still lag/drop, paste the channels status --probe output.
04:26:34 [discord] [iris] delaying provider startup 30s to reduce Discord startup rate limits
04:26:34 [diagnostic] stuck session: sessionId=unknown sessionKey=agent:nova:main state=processing age=61s queueDepth=1
04:26:34 [discord] discord gateway error: Error: socket hang up
04:26:34 [discord] gateway: Gateway websocket closed: 1006
04:26:34 [discord] gateway: Gateway reconnect scheduled in 2227ms (close, resume=true)
04:26:34 [discord] gateway: Gateway websocket closed: 1000
04:26:34 [discord] gateway: Gateway reconnect scheduled in 1073ms (close, resume=true)
04:26:40 [discord] [archimedes] starting provider (@Archimedes)
04:27:13 [diagnostic] stuck session: sessionId=unknown sessionKey=agent:nova:main state=processing age=100s queueDepth=1
04:27:13 [discord] discord gateway opened but did not reach READY within 30000ms
04:27:13 [discord] [hemmingway] channel exited: discord gateway opened but did not reach READY within 30000ms
04:27:13 [discord] [hemmingway] auto-restart attempt 1/10 in 5s
04:27:13 [discord] discord gateway opened but did not reach READY within 30000ms
04:27:13 [discord] [default] channel exited: discord gateway opened but did not reach READY within 30000ms
04:27:13 [discord] [default] auto-restart attempt 1/10 in 5s
Now weβve got two separate things:
-
Discord provider instability
1006/socket hang up/did not reach READY within 30000msmeans the Discord websocket opened but didnβt finish READY in time.- Since you have multiple Discord accounts starting and youβve restarted a few times, Iβd avoid more restarts for a minute or two and let the auto-restart attempts settle.
-
Nova session is stuck
- This line matters for βno way to have a conversationβ:
stuck session ... sessionKey=agent:nova:main state=processing age=100s queueDepth=1That means Novaβs main session is still processing something and one message is queued behind it.
Try sending this to Novaβs DM/main chat:
/stop
Then check:
openclaw gateway status --deep
openclaw channels status --probe
If Discord READY timeouts keep repeating after ~2β3 minutes, temporarily reduce pressure by disabling any Discord accounts you donβt need right now, e.g.:
openclaw config set channels.discord.accounts.hemmingway.enabled false --strict-json
openclaw config set channels.discord.accounts.iris.enabled false --strict-json