#Session chat issues after updating to 2026.5.12
1 messages Β· Page 1 of 1 (latest)
For the first bullet: that βnot a git repo, run updateβ path is usually not saying your workspace is broken. In current source, doctor probes the OpenClaw install root with git; if your install is npm/pnpm/global rather than a source checkout, it prints the package-manager update hint. openclaw update is still the right updater for that install type. Docs: https://docs.openclaw.ai/install/updating and https://docs.openclaw.ai/gateway/doctor
For the chat timeouts, since it happens in both CLI chat and the dashboard, Iβd treat it as a gateway/agent-run issue, not just a web UI issue. Quick safe triage:
openclaw --version
openclaw status --all
openclaw gateway status
openclaw models status
openclaw logs --follow
Then, in a fresh chat/session, try a tiny prompt like βhiβ. If a fresh session works but the existing one times out, it points toward stale/corrupt session history after the update; use /new or /reset for that chat. The FAQ calls this out for stale session/history cases: https://docs.openclaw.ai/help/faq#sessions-and-multiple-chats
If even a brand-new session times out, please paste the redacted output from openclaw status --all plus the log lines from one failed tiny prompt. Look especially for provider/auth timeout, model/tool-schema errors, or session lock/state warnings. If itβs reproducible on 2026.5.12 after restart + fresh session, thatβs probably worth a GitHub issue with those logs: https://github.com/openclaw/openclaw/issues
Overview
ββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Item β Value
ββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Version β 2026.5.12
β OS β macos 26.4.1 (x64)
β Node β 24.15.0
β Config β ~/.openclaw/openclaw.json
β Dashboard β http://127.0.0.1:18789/
β Tailscale exposure β off
β Channel β stable (default)
β Update β pnpm Β· up to date Β· npm latest 2026.5.12
β Gateway β local Β· ws://127.0.0.1:18789 (local loopback) Β· reachable 104ms Β· auth token Β· MBP.local (192.168.1.142) app 2026.5.12 macos 26.4.1 β
β Security β Run: openclaw security audit --deep
β Gateway self β unknown
β Gateway service β LaunchAgent installed Β· loaded Β· running (pid 47922, state active)
β Node service β LaunchAgent not installed
β Agents β 1 total Β· 0 bootstrapping Β· 1 active Β· 2 sessions
β Secrets β none
ββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Channels
ββββββββββββ¬ββββββββββ¬βββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Channel β Enabled β State β Detail e
Thanks, that status is useful. Node 24.15.0 is not automatically suspicious here; current docs require Node >=22, and the updater explicitly allows Node 24. The macOS LaunchAgent piece is more worth checking because version-managed Node paths can get stale after upgrades.
Two next steps Iβd do:
openclaw doctor --repair
openclaw gateway restart
Then start a brand-new session and send only βhiβ:
openclaw chat --new
If that still times out, run this while sending the tiny prompt and paste the relevant failure block:
openclaw logs --follow
The snippet you posted shows the gateway is reachable, loaded, and on 2026.5.12, so the missing clue is whether the agent run is hanging on provider auth/model transport, a session-store issue, or a service/runtime path mismatch. doctor --repair should also surface/rewrite a bad LaunchAgent entrypoint if thatβs involved. Docs refs: https://docs.openclaw.ai/help/faq#first-60-seconds-if-something-is-broken and https://docs.openclaw.ai/gateway/doctor
Diagnosis (read-only)
Gateway connection details:
Gateway target: ws://127.0.0.1:18789
Source: local loopback
Config: /Users/agent/.openclaw/openclaw.json
Bind: loopback
β Config: /Users/agent/.openclaw/openclaw.json
β Secret diagnostics (0)
β Restart sentinel: none
Gateway last log line:
2026-05-15T12:21:03.355+02:00 [ws] β res β health 539ms conn=4229b24dβ¦5435 id=eb79d865β¦8f81
β Port 18789
Detected OpenClaw Gateway listener on the configured port.
! Tailscale exposure: off Β· daemon unknown
β Skills: 11 eligible Β· 0 missing Β· /Users/agent/.openclaw/workspace
β Plugin compatibility (none)
This still looks healthy at the gateway layer: config loads, port is listening, WS health responds, skills are present. The Tailscale exposure: off Β· daemon unknown line is not relevant unless you expect Tailscale Serve.
At this point the useful evidence is the agent run itself. Please do this exact loop:
openclaw logs --follow
In another terminal:
openclaw chat --new
Send just:
hi
Then paste the log block from when that prompt starts until it times out/errors. Also run:
openclaw models status
Given gateway health is OK, Iβd expect the logs to show one of: provider/auth cooldown, model transport failure, stale session/history handling, or a LaunchAgent/runtime path issue. If you installed Node/OpenClaw through nvm/pnpm, openclaw doctor --repair is still worth running because macOS LaunchAgents do not load shell init files and can keep pointing at old version-manager paths after upgrades.
2026-05-15T12:13:48.882+02:00 [ws] β res β commands.list 85ms conn=2bb1e42fβ¦da56 id=8478f28fβ¦9e0d
2026-05-15T12:13:48.884+02:00 [ws] β res β models.list 87ms conn=2bb1e42fβ¦da56 id=fe259c66β¦fd90
2026-05-15T12:13:48.888+02:00 [ws] β res β sessions.list 91ms conn=2bb1e42fβ¦da56 id=b5411f59β¦f39a
2026-05-15T12:13:48.898+02:00 [ws] β res β chat.history 101ms conn=2bb1e42fβ¦da56 id=c08c1608β¦dc25
2026-05-15T12:16:54.588+02:00 [reload] config change detected; evaluating reload (wizard.lastRunAt, wizard.lastRunCommand, meta.lastTouchedAt)
2026-05-15T12:19:52.270+02:00 [reload] config change detected; evaluating reload (wizard.lastRunAt, meta.lastTouchedAt)
2026-05-15T12:20:11.360+02:00 [reload] config change detected; evaluating reload (wizard.lastRunAt, meta.lastTouchedAt)
2026-05-15T12:20:38.888+02:00 [ws] β res β channels.status 677ms conn=6ce505e2β¦bb42 id=99f86803β¦2d1f
2026-05-15T12:21:03.355+02:00 [ws] β res β health 539ms conn=4229b24dβ¦5435 id=eb79d865β¦8f81
Gateway restart attempts (tail): /Users/agent/.openclaw/logs/gateway-restart.log
[2026-05-10T21:21:11Z] openclaw restart attempt source=launchd-handoff mode=kickstart target=gui/502/ai.openclaw.gateway waitPid=28274
[2026-05-10T21:21:16Z] openclaw restart done source=launchd-handoff mode=kickstart
[2026-05-10T21:52:51Z] openclaw restart attempt source=launchd-handoff mode=kickstart target=gui/502/ai.openclaw.gateway waitPid=31144
[2026-05-10T21:52:56Z] openclaw restart done source=launchd-handoff mode=kickstart
β Channel issues (none)
Those lines are all successful dashboard/control RPCs; I donβt see a chat.send, agent, provider, or error line in that slice. The config reload lines are probably from doctor/wizard touching metadata and donβt explain the timeout by themselves.
Can you capture from just before submitting the tiny prompt? The useful block should include the request that starts the run, not just commands.list/models.list/sessions.list/chat.history.
Try:
openclaw logs --follow --json
Then send hi in openclaw chat --new. If nothing at all appears in logs when you submit the prompt, thatβs a different clue: the CLI/dashboard is not successfully dispatching the chat request to the gateway, despite health/list/history working.
Also paste openclaw models status when you can; if the run reaches the model layer, thatβs where Iβd expect the actual failure to show up.
That restart tail is from May 10, so it probably isnβt related to todayβs 2026.5.12 timeout. βChannel issues noneβ is also expected here because CLI/dashboard chat does not depend on Discord/Telegram/etc channel health.
The thread is at the point where generic health checks are exhausted. Please grab one live failing run:
openclaw logs --follow --json
Then in another terminal:
openclaw chat --new
Send hi, wait for the timeout, and paste the log lines produced during that exact window. Also paste:
openclaw models status
Without the live run log, all we can say is βgateway/control plane worksβ; the broken piece is likely after dispatch, in the agent/model/session path.
openclaw chat --new (new is not recognized)
Youβre right, sorry β openclaw chat --new is stale/wrong.
Current flow is:
openclaw chat
Then send this as the first message inside the chat:
/new hi
or just:
/new
Then send:
hi
Docs/source confirm openclaw chat is the TUI entrypoint and /new / /reset are in-chat session commands: https://docs.openclaw.ai/web/tui and https://docs.openclaw.ai/tools/slash-commands
Keep openclaw logs --follow --json running while you do that so we capture the actual failing run.
{"type":"log","time":"2026-05-15T12:27:28.267+02:00","level":"warn","subsystem":"skills","message":"{"subsystem":"skills"} {"source":"agents-skills-personal","rootDir":"/Users/agent/.agents/skills","rootRealPath":"/Users/agent/.agents/skills","path":"/Users/agent/.agents/skills/test-skill","realPath":"/Users/agent/.local/share/test-skill/skills/test-skill","reason":"symlink-escape"} Skipping escaped skill path outside its configured root.","raw":"{"0":"{\"subsystem\":\"skills\"}","1":{"source":"agents-skills-personal","rootDir":"/Users/agent/.agents/skills","rootRealPath":"/Users/agent/.agents/skills","path":"/Users/agent/.agents/skills/test-skill","realPath":"/Users/agent/.local/share/test-skill/skills/test-skill","reason":"symlink-escape"},"2":"Skipping escaped skill path outside its configured root.","_meta":{"runtime":"node","runtimeVersion":"24.15.0","hostname":"unknown","name":"{\"subsystem\":\"skills\"}","parentNames":["openclaw"],"date":"2026-05-15T10:27:28.267Z","logLevelId":4,"logLevelName":"WARN","path":{"fullFilePath":"file:///usr/local/Cellar/node@24/24.15.0/lib/node_modules/openclaw/dist/subsystem-DLRoKDlF.js:176:51","fileName":"subsystem-DLRoKDlF.js","fileNameWithLine":"subsystem-DLRoKDlF.js:176","fileColumn":"51","fileLine":"176","filePath":"/usr/local/Cellar/node@24/24.15.0/lib/node_modules/openclaw/dist/subsystem-DLRoKDlF.js","filePathWithLine":"/usr/local/Cellar/node@24/24.15.0/lib/node_modules/openclaw/dist/subsystem-DLRoKDlF.js:176","method":"logToFile"}},"time":"2026-05-15T12:27:28.267+02:00","hostname":"MBP.local","message":"Skipping escaped skill path outside its configured root."}"}
That warning is real, but itβs probably not the chat-timeout root cause by itself. It means OpenClaw found a skill entry here:
/Users/agent/.agents/skills/test-skill
β¦but it resolves through a symlink to:
/Users/agent/.local/share/test-skill/skills/test-skill
Because that target is outside the configured skills root, OpenClaw skips it for safety.
To clean that up, either remove that test symlink, or configure the real parent as an extra skills directory if you actually want to load it. Since it says test-skill, Iβd first move/remove that symlink and restart:
ls -la /Users/agent/.agents/skills/test-skill
trash /Users/agent/.agents/skills/test-skill
openclaw gateway restart
Then retry openclaw chat β /new hi.
If it still times out, we still need the next log lines after this warning. This line only says skill discovery skipped one escaped path; it doesnβt show the agent/model run failing yet.
will paste a few log messages, continue when i say "DONE" please
{"type":"log","time":"2026-05-15T12:29:46.839+02:00","level":"info","subsystem":"gateway/ws","message":"{"subsystem":"gateway/ws"} β res β logs.tail 347ms conn=02f1aac3β¦0995 id=67fd13a9β¦0a61","raw":"{"0":"{\"subsystem\":\"gateway/ws\"}","1":"β res β logs.tail 347ms conn=02f1aac3β¦0995 id=67fd13a9β¦0a61","_meta":{"runtime":"node","runtimeVersion":"24.15.0","hostname":"unknown","name":"{\"subsystem\":\"gateway/ws\"}","parentNames":["openclaw"],"date":"2026-05-15T10:29:46.838Z","logLevelId":3,"logLevelName":"INFO","path":{"fullFilePath":"file:///usr/local/Cellar/node@24/24.15.0/lib/node_modules/openclaw/dist/subsystem-DLRoKDlF.js:177:14","fileName":"subsystem-DLRoKDlF.js","fileNameWithLine":"subsystem-DLRoKDlF.js:177","fileColumn":"14","fileLine":"177","filePath":"/usr/local/Cellar/node@24/24.15.0/lib/node_modules/openclaw/dist/subsystem-DLRoKDlF.js","filePathWithLine":"/usr/local/Cellar/node@24/24.15.0/lib/node_modules/openclaw/dist/subsystem-DLRoKDlF.js:177","method":"logToFile"}},"time":"2026-05-15T12:29:46.839+02:00","hostname":"MBP.local","message":"β res β logs.tail 347ms conn=02f1aac3β¦0995 id=67fd13a9β¦0a61","traceId":"6c9e8ebd9c9bf81ba92c0709133219c4","spanId":"04529ae020cb35ff","traceFlags":"01"}"}
Got it. Iβll wait for DONE before interpreting the log batch.
{"type":"log","time":"2026-05-15T12:29:49.086+02:00","level":"warn","subsystem":"main-session-restart-recovery","message":"{"subsystem":"main-session-restart-recovery"} marked interrupted main session failed: agent:main:main (transcript tail is not resumable)","raw":"{"0":"{\"subsystem\":\"main-session-restart-recovery\"}","1":"marked interrupted main session failed: agent:main:main (transcript tail is not resumable)","_meta":{"runtime":"node","runtimeVersion":"24.15.0","hostname":"unknown","name":"{\"subsystem\":\"main-session-restart-recovery\"}","parentNames":["openclaw"],"date":"2026-05-15T10:29:49.085Z","logLevelId":4,"logLevelName":"WARN","path":{"fullFilePath":"file:///usr/local/Cellar/node@24/24.15.0/lib/node_modules/openclaw/dist/subsystem-DLRoKDlF.js:177:14","fileName":"subsystem-DLRoKDlF.js","fileNameWithLine":"subsystem-DLRoKDlF.js:177","fileColumn":"14","fileLine":"177","filePath":"/usr/local/Cellar/node@24/24.15.0/lib/node_modules/openclaw/dist/subsystem-DLRoKDlF.js","filePathWithLine":"/usr/local/Cellar/node@24/24.15.0/lib/node_modules/openclaw/dist/subsystem-DLRoKDlF.js:177","method":"logToFile"}},"time":"2026-05-15T12:29:49.086+02:00","hostname":"MBP.local","message":"marked interrupted main session failed: agent:main:main (transcript tail is not resumable)"}"}
{"type":"log","time":"2026-05-15T12:29:49.088+02:00","level":"info","subsystem":"main-session-restart-recovery","message":"{"subsystem":"main-session-restart-recovery"} main-session restart recovery complete: recovered=0 failed=1 skipped=0","raw":"{"0":"{\"subsystem\":\"main-session-restart-recovery\"}","1":"main-session restart recovery complete: recovered=0 failed=1 skipped=0","_meta":{"runtime":"node","runtimeVersion":"24.15.0","hostname":"unknown","name":"{\"subsystem\":\"main-session-restart-recovery\"}","parentNames":["openclaw"],"date":"2026-05-15T10:29:49.088Z","logLevelId":3,"logLevelName":"INFO","path":{"fullFilePath":"file:///usr/local/Cellar/node@24/24.15.0/lib/node_modules/openclaw/dist/subsystem-DLRoKDlF.js:177:14","fileName":"subsystem-DLRoKDlF.js","fileNameWithLine":"subsystem-DLRoKDlF.js:177","fileColumn":"14","fileLine":"177","filePath":"/usr/local/Cellar/node@24/24.15.0/lib/node_modules/openclaw/dist/subsystem-DLRoKDlF.js","filePathWithLine":"/usr/local/Cellar/node@24/24.15.0/lib/node_modules/openclaw/dist/subsystem-DLRoKDlF.js:177","method":"logToFile"}},"time":"2026-05-15T12:29:49.088+02:00","hostname":"MBP.local","message":"main-session restart recovery complete: recovered=0 failed=1 skipped=0"}"}
{"type":"log","time":"2026-05-15T12:29:49.649+02:00","level":"info","subsystem":"gateway/ws","message":"{"subsystem":"gateway/ws"} webchat connected conn=b3b8909d-d563-4290-a3f5-b712dd650f17 remote=127.0.0.1 client=openclaw-control-ui webchat vcontrol-ui","raw":"{"0":"{\"subsystem\":\"gateway/ws\"}","1":"webchat connected conn=b3b8909d-d563-4290-a3f5-b712dd650f17 remote=127.0.0.1 client=openclaw-control-ui webchat vcontrol-ui","_meta":{"runtime":"node","runtimeVersion":"24.15.0","hostname":"unknown","name":"{\"subsystem\":\"gateway/ws\"}","parentNames":["openclaw"],"date":"2026-05-15T10:29:49.649Z","logLevelId":3,"logLevelName":"INFO","path":{"fullFilePath":"file:///usr/local/Cellar/node@24/24.15.0/lib/node_modules/openclaw/dist/subsystem-DLRoKDlF.js:177:14","fileName":"subsystem-DLRoKDlF.js","fileNameWithLine":"subsystem-DLRoKDlF.js:177","fileColumn":"14","fileLine":"177","filePath":"/usr/local/Cellar/node@24/24.15.0/lib/node_modules/openclaw/dist/subsystem-DLRoKDlF.js","filePathWithLine":"/usr/local/Cellar/node@24/24.15.0/lib/node_modules/openclaw/dist/subsystem-DLRoKDlF.js:177","method":"logToFile"}},"time":"2026-05-15T12:29:49.649+02:00","hostname":"MBP.local","message":"webchat connected conn=b3b8909d-d563-4290-a3f5-b712dd650f17 remote=127.0.0.1 client=openclaw-control-ui webchat vcontrol-ui","traceId":"e26d2c594092a458ba5dfe0ce5eb4553","spanId":"dcbc9601fb1d0ed0","traceFlags":"01"}"}
{"type":"log","time":"2026-05-15T12:29:49.782+02:00","level":"info","subsystem":"gateway/ws","message":"{"subsystem":"gateway/ws"} β res β agents.list 52ms conn=b3b8909dβ¦0f17 id=29842d37β¦afc1","raw":"{"0":"{\"subsystem\":\"gateway/ws\"}","1":"β res β agents.list 52ms conn=b3b8909dβ¦0f17 id=29842d37β¦afc1","_meta":{"runtime":"node","runtimeVersion":"24.15.0","hostname":"unknown","name":"{\"subsystem\":\"gateway/ws\"}","parentNames":["openclaw"],"date":"2026-05-15T10:29:49.782Z","logLevelId":3,"logLevelName":"INFO","path":{"fullFilePath":"file:///usr/local/Cellar/node@24/24.15.0/lib/node_modules/openclaw/dist/subsystem-DLRoKDlF.js:177:14","fileName":"subsystem-DLRoKDlF.js","fileNameWithLine":"subsystem-DLRoKDlF.js:177","fileColumn":"14","fileLine":"177","filePath":"/usr/local/Cellar/node@24/24.15.0/lib/node_modules/openclaw/dist/subsystem-DLRoKDlF.js","filePathWithLine":"/usr/local/Cellar/node@24/24.15.0/lib/node_modules/openclaw/dist/subsystem-DLRoKDlF.js:177","method":"logToFile"}},"time":"2026-05-15T12:29:49.782+02:00","hostname":"MBP.local","message":"β res β agents.list 52ms conn=b3b8909dβ¦0f17 id=29842d37β¦afc1","traceId":"e67d53f5a2369ed605ce88c81dbca133","spanId":"cfd4b0973f251a67","traceFlags":"01"}"}
{"type":"log","time":"2026-05-15T12:29:49.899+02:00","level":"info","subsystem":"gateway/ws","message":"{"subsystem":"gateway/ws"} β res β commands.list 74ms conn=b3b8909dβ¦0f17 id=a7c9e447β¦02f3","raw":"{"0":"{\"subsystem\":\"gateway/ws\"}","1":"β res β commands.list 74ms conn=b3b8909dβ¦0f17 id=a7c9e447β¦02f3","_meta":{"runtime":"node","runtimeVersion":"24.15.0","hostname":"unknown","name":"{\"subsystem\":\"gateway/ws\"}","parentNames":["openclaw"],"date":"2026-05-15T10:29:49.898Z","logLevelId":3,"logLevelName":"INFO","path":{"fullFilePath":"file:///usr/local/Cellar/node@24/24.15.0/lib/node_modules/openclaw/dist/subsystem-DLRoKDlF.js:177:14","fileName":"subsystem-DLRoKDlF.js","fileNameWithLine":"subsystem-DLRoKDlF.js:177","fileColumn":"14","fileLine":"177","filePath":"/usr/local/Cellar/node@24/24.15.0/lib/node_modules/openclaw/dist/subsystem-DLRoKDlF.js","filePathWithLine":"/usr/local/Cellar/node@24/24.15.0/lib/node_modules/openclaw/dist/subsystem-DLRoKDlF.js:177","method":"logToFile"}},"time":"2026-05-15T12:29:49.899+02:00","hostname":"MBP.local","message":"β res β commands.list 74ms conn=b3b8909dβ¦0f17 id=a7c9e447β¦02f3","traceId":"22650e8bf362e4b8952df5be8cdfd7af","spanId":"e3268100fd627eaa","traceFlags":"01"}"}
{"type":"log","time":"2026-05-15T12:29:49.929+02:00","level":"info","subsystem":"gateway/ws","message":"{"subsystem":"gateway/ws"} β res β chat.history 104ms conn=b3b8909dβ¦0f17 id=98f3dc94β¦03f7","raw":"{"0":"{\"subsystem\":\"gateway/ws\"}","1":"β res β chat.history 104ms conn=b3b8909dβ¦0f17 id=98f3dc94β¦03f7","_meta":{"runtime":"node","runtimeVersion":"24.15.0","hostname":"unknown","name":"{\"subsystem\":\"gateway/ws\"}","parentNames":["openclaw"],"date":"2026-05-15T10:29:49.928Z","logLevelId":3,"logLevelName":"INFO","path":{"fullFilePath":"file:///usr/local/Cellar/node@24/24.15.0/lib/node_modules/openclaw/dist/subsystem-DLRoKDlF.js:177:14","fileName":"subsystem-DLRoKDlF.js","fileNameWithLine":"subsystem-DLRoKDlF.js:177","fileColumn":"14","fileLine":"177","filePath":"/usr/local/Cellar/node@24/24.15.0/lib/node_modules/openclaw/dist/subsystem-DLRoKDlF.js","filePathWithLine":"/usr/local/Cellar/node@24/24.15.0/lib/node_modules/openclaw/dist/subsystem-DLRoKDlF.js:177","method":"logToFile"}},"time":"2026-05-15T12:29:49.929+02:00","hostname":"MBP.local","message":"β res β chat.history 104ms conn=b3b8909dβ¦0f17 id=98f3dc94β¦03f7","traceId":"edf0a8fdf04a6dfd9f0280394522fa37","spanId":"9bbcddd0e567b7c7","traceFlags":"01"}"}
{"type":"log","time":"2026-05-15T12:29:49.939+02:00","level":"info","subsystem":"gateway/ws","message":"{"subsystem":"gateway/ws"} β res β models.list 115ms conn=b3b8909dβ¦0f17 id=3380d4acβ¦ffa1","raw":"{"0":"{\"subsystem\":\"gateway/ws\"}","1":"β res β models.list 115ms conn=b3b8909dβ¦0f17 id=3380d4acβ¦ffa1","_meta":{"runtime":"node","runtimeVersion":"24.15.0","hostname":"unknown","name":"{\"subsystem\":\"gateway/ws\"}","parentNames":["openclaw"],"date":"2026-05-15T10:29:49.939Z","logLevelId":3,"logLevelName":"INFO","path":{"fullFilePath":"file:///usr/local/Cellar/node@24/24.15.0/lib/node_modules/openclaw/dist/subsystem-DLRoKDlF.js:177:14","fileName":"subsystem-DLRoKDlF.js","fileNameWithLine":"subsystem-DLRoKDlF.js:177","fileColumn":"14","fileLine":"177","filePath":"/usr/local/Cellar/node@24/24.15.0/lib/node_modules/openclaw/dist/subsystem-DLRoKDlF.js","filePathWithLine":"/usr/local/Cellar/node@24/24.15.0/lib/node_modules/openclaw/dist/subsystem-DLRoKDlF.js:177","method":"logToFile"}},"time":"2026-05-15T12:29:49.939+02:00","hostname":"MBP.local","message":"β res β models.list 115ms conn=b3b8909dβ¦0f17 id=3380d4acβ¦ffa1","traceId":"69694900c67e591b568ba222fe27cf05","spanId":"9030961dcf8b9a21","traceFlags":"01"}"}
{"type":"log","time":"2026-05-15T12:29:49.948+02:00","level":"info","subsystem":"gateway/ws","message":"{"subsystem":"gateway/ws"} β res β sessions.list 123ms conn=b3b8909dβ¦0f17 id=fc29f61aβ¦0c95","raw":"{"0":"{\"subsystem\":\"gateway/ws\"}","1":"β res β sessions.list 123ms conn=b3b8909dβ¦0f17 id=fc29f61aβ¦0c95","_meta":{"runtime":"node","runtimeVersion":"24.15.0","hostname":"unknown","name":"{\"subsystem\":\"gateway/ws\"}","parentNames":["openclaw"],"date":"2026-05-15T10:29:49.947Z","logLevelId":3,"logLevelName":"INFO","path":{"fullFilePath":"file:///usr/local/Cellar/node@24/24.15.0/lib/node_modules/openclaw/dist/subsystem-DLRoKDlF.js:177:14","fileName":"subsystem-DLRoKDlF.js","fileNameWithLine":"subsystem-DLRoKDlF.js:177","fileColumn":"14","fileLine":"177","filePath":"/usr/local/Cellar/node@24/24.15.0/lib/node_modules/openclaw/dist/subsystem-DLRoKDlF.js","filePathWithLine":"/usr/local/Cellar/node@24/24.15.0/lib/node_modules/openclaw/dist/subsystem-DLRoKDlF.js:177","method":"logToFile"}},"time":"2026-05-15T12:29:49.948+02:00","hostname":"MBP.local","message":"β res β sessions.list 123ms conn=b3b8909dβ¦0f17 id=fc29f61aβ¦0c95","traceId":"5d259913986e4296312af79d881f4fd5","spanId":"3cd3f33ff6ee15aa","traceFlags":"01"}"}
DONE
Thanks. This batch has one meaningful warning:
main-session-restart-recovery: marked interrupted main session failed: agent:main:main (transcript tail is not resumable)
main-session restart recovery complete: recovered=0 failed=1 skipped=0
That means the gateway found an interrupted main session after restart/update and could not resume its transcript tail. That lines up with βsession chat after updateβ much more than the skill symlink warning.
The rest of the batch is just the dashboard/control UI connecting and loading lists/history/models successfully. I still donβt see a chat.send, agent, or provider/model error in this pasted set, so either the send happened after the pasted window, or the UI/CLI never got as far as dispatching the chat run.
Next move:
openclaw chat
Then type exactly:
/new hi
If that works, the old interrupted main session was the problem.
If /new hi still times out, run:
openclaw doctor --repair
openclaw gateway restart
and retry once. If it still fails after that, Iβd package this as a bug because 2026.5.12 is failing to recover or bypass a non-resumable main transcript. Best artifact for a GitHub issue is:
openclaw gateway diagnostics export
Issue link: https://github.com/openclaw/openclaw/issues
can i just remove/reset all old sessions and start anew
Yes. If you only want to discard conversation/session state and keep config/auth/workspace, donβt use openclaw reset yet; thatβs a broader reset.
Safest order:
- Try the normal in-chat reset first:
/new
- If you want to wipe all stored sessions for the main agent, stop the gateway and move the sessions folder aside:
openclaw gateway stop
mv ~/.openclaw/agents/main/sessions ~/.openclaw/agents/main/sessions.backup.$(date +%Y%m%d-%H%M%S)
openclaw gateway start
openclaw doctor
That should preserve config, auth profiles, credentials, skills, and workspace memory. It only removes/moves conversation history + session metadata for agent main.
If your agent id is not main, check:
ls ~/.openclaw/agents
Docs for the paths: https://docs.openclaw.ai/help/faq#where-does-openclaw-store-its-data
If it works after moving sessions aside, keep the backup for a bit, then delete it later once youβre comfortable. If it still fails with a totally fresh sessions dir, thatβs strong evidence for a 2026.5.12 bug outside session history.
A weird tell is that openclaw chat takes a long time to start
That is a useful tell. openclaw chat startup should mostly be: start CLI/TUI, connect to gateway, then load agents.list, commands.list, models.list, sessions.list, and chat.history. In the logs you pasted, those gateway calls were fast once connected, so if the delay is before the UI appears it may be local CLI startup or session/history scanning.
Quick way to narrow it:
time openclaw chat
Quit as soon as it opens, then compare after moving sessions aside:
openclaw gateway stop
mv ~/.openclaw/agents/main/sessions ~/.openclaw/agents/main/sessions.backup.$(date +%Y%m%d-%H%M%S)
openclaw gateway start
time openclaw chat
If chat startup becomes normal, the old sessions/transcript store was the slowdown and likely also tied to the non-resumable main-session warning.
If itβs still slow with a fresh sessions dir, check whether the CLI itself is slow:
time openclaw --version
time openclaw status
If even openclaw --version is slow, that points away from sessions and toward the pnpm/Homebrew Node/global install path or shell/env startup.
can i not just remove the old sessions transcripts
Yes, you can. Iβd move them aside rather than delete them outright, because if this isnβt the root cause you can put them back.
I would move the whole sessions directory, not just transcript files. If you delete only transcripts while leaving sessions.json, you can leave metadata pointing at missing files.
openclaw gateway stop
mv ~/.openclaw/agents/main/sessions ~/.openclaw/agents/main/sessions.backup.$(date +%Y%m%d-%H%M%S)
openclaw gateway start
Then open chat and try:
/new hi
This preserves config, auth, credentials, skills, and workspace/memory. It only resets conversation history/session state for the main agent. If your agent id is different, check with:
ls ~/.openclaw/agents
If you prefer using Trash on macOS instead of a backup folder:
openclaw gateway stop
trash ~/.openclaw/agents/main/sessions
openclaw gateway start
But the mv ... sessions.backup... route is the cleanest for debugging.
openclaw chat still freezes for >10s
If sessions are already moved aside and openclaw chat still freezes for >10s, Iβd stop focusing on old transcripts and measure CLI startup.
Run these and paste the timings:
time openclaw --version
time openclaw status
OPENCLAW_DEBUG_TIMING=1 openclaw chat
The debug timing output should show which startup phase burns the time. There is a known-ish class of macOS issues where launch/service or version-manager paths are weird after updates, but your pasted logs showed Homebrew Node under /usr/local/Cellar/node@24/24.15.0/..., so we need timing before guessing.
Also run:
openclaw doctor --repair
openclaw gateway restart
If openclaw --version itself takes ~10s, thatβs local CLI/package startup. If --version is fast but status/chat is slow, itβs gateway connect or startup RPCs. If debug timing points at chat.history/sessions even after moving sessions aside, thatβs useful bug evidence.
openclaw --version < 1.s
openclaw status 4s
openclaw chat >15s
Good, that rules out general Node/package startup. The slow part is after the CLI starts: gateway/status RPCs or TUI initialization.
Next most useful thing is the phase breakdown:
OPENCLAW_DEBUG_TIMING=1 openclaw chat
Paste the timing lines it prints before/while the UI appears. If it hangs before printing anything useful, try JSON mode and redirect it:
OPENCLAW_DEBUG_TIMING=json openclaw chat 2> /tmp/openclaw-chat-timing.jsonl
Also, since status is 4s, run the lighter checks separately:
time openclaw gateway status
time openclaw health --verbose
time openclaw models status
My read so far:
openclaw --version <1s= local CLI/package startup is fine.status 4s= gateway health/model/session checks are a bit slow but not frozen.chat >15s= likely TUI startup waiting on one ofagents.list,models.list,sessions.list, orchat.history.
If the debug timing shows chat.history or sessions.list taking the time even after moving ~/.openclaw/agents/main/sessions aside, thatβs strong bug-report material for 2026.5.12.
is it ok to use openai/gpt-5.5 as model even in this new version where codex is a default?
Short version: use the prefix that matches your auth/route.
Per the current OpenAI docs:
openai-codex/...= Codex subscription/OAuth through the default PI runner.openai/...= direct OpenAI API-key route, unless you explicitly force the Codex app-server harness.
So if you mean βuse my Codex subscription / the new Codex default pathβ, prefer:
openclaw config set agents.defaults.model.primary openai-codex/gpt-5.5
If you set openai/gpt-5.5 without the Codex app-server harness, OpenClaw treats that as the direct OpenAI API route, and the docs say direct API-key access depends on OpenAI enabling that model on the public API.
Docs: https://docs.openclaw.ai/providers/openai and model config overview: https://docs.openclaw.ai/concepts/models
For βwhatβs best todayβ model picks, #models is still the better place because availability/quality changes fast.
will do openclaw reset config+creds+sessions
and setup up from scratch
Thatβs reasonable if youβre okay re-onboarding auth and config from scratch.
Before you do it, Iβd make one backup snapshot so you can recover anything important:
cp -a ~/.openclaw ~/.openclaw.backup.$(date +%Y%m%d-%H%M%S)
Then the broad reset path from the docs is:
openclaw reset
openclaw onboard --install-daemon
If you want it fully non-interactive/destructive:
openclaw reset --scope full --yes --non-interactive
openclaw onboard --install-daemon
That will wipe more than sessions: config, auth/credentials, state, etc. Your workspace/memory can matter too, so double-check the reset prompt scope before confirming. Docs: https://docs.openclaw.ai/help/faq#how-do-i-completely-reset-openclaw-but-keep-it-installed
After onboarding, first test with a tiny openclaw chat β hi before restoring any old files. If the fresh setup is still slow, that strongly points to an install/runtime bug rather than state corruption.
I reinstalled. Still same issue. Times out
Fresh reinstall + same timeout means this is very unlikely to be old sessions/transcripts now. Iβd treat it as either model/auth routing or a 2026.5.12 runtime bug.
Please check two things:
openclaw models status
openclaw config get agents.defaults.model
If youβre using Codex subscription auth, make sure the model route is openai-codex/..., not plain openai/.... Plain openai/... is the direct API-key route unless you explicitly configured the Codex app-server harness. Docs: https://docs.openclaw.ai/providers/openai
Then capture the failing tiny prompt:
openclaw logs --follow --json
In another terminal, run openclaw chat and send just hi. If it times out after a clean reinstall, please file this with a diagnostics export:
openclaw gateway diagnostics export
Issue link: https://github.com/openclaw/openclaw/issues
At this point the important artifact is the log line where the agent run starts/fails; the gateway health/control RPCs we saw earlier were fine.
can i try an older version to see if that works differently?
Yes. Thatβs a good A/B test now that a reinstall didnβt fix it.
The previous stable before 2026.5.12 on npm is 2026.5.7 (there are 2026.5.10-beta.* builds too, but Iβd test stable first).
Try:
openclaw update --tag 2026.5.7
openclaw --version
openclaw doctor
openclaw gateway restart
If openclaw update --tag 2026.5.7 doesnβt cooperate with your install, use the same package manager path directly:
pnpm add -g openclaw@2026.5.7
openclaw doctor
openclaw gateway restart
Then test:
time openclaw chat
To go back to current stable:
openclaw update --channel stable
or:
pnpm add -g openclaw@latest
openclaw doctor
openclaw gateway restart
Docs rollback section: https://docs.openclaw.ai/install/updating#rollback
If 2026.5.7 works and 2026.5.12 times out on the same fresh config/model auth, thatβs a very clean regression signal for a GitHub issue.
if i uninstall can i install openclaw@2026.5.7 directly?
Yes. You can install that version directly; uninstall first is optional but can make the test cleaner.
Since your status said the install type was pnpm, Iβd do:
openclaw gateway stop
pnpm remove -g openclaw
pnpm add -g openclaw@2026.5.7
openclaw --version
openclaw doctor
openclaw gateway restart
If pnpm remove -g openclaw complains, you can usually just overwrite:
pnpm add -g openclaw@2026.5.7
If you originally installed with npm instead:
openclaw gateway stop
npm rm -g openclaw
npm i -g openclaw@2026.5.7
openclaw --version
openclaw doctor
openclaw gateway restart
After openclaw --version confirms 2026.5.7, test time openclaw chat before changing anything else. That keeps the comparison clean.
How do I prevent openclaw form auto upgrading?
Yes. The auto-updater is off by default, but you can pin the behavior explicitly.
Set these:
openclaw config set update.auto.enabled false
openclaw config set update.checkOnStart false
openclaw config set update.channel stable
openclaw gateway restart
Meaning:
update.auto.enabled: falseprevents background auto-apply.update.checkOnStart: falsedisables the startup βupdate availableβ check/hint.update.channel: stableavoids beta-channel behavior.
Docs confirm auto-update defaults to off, but setting it explicitly is a good idea while youβre testing 2026.5.7: https://docs.openclaw.ai/install/updating and https://docs.openclaw.ai/gateway/configuration-reference#update
One caveat: this prevents OpenClawβs own updater behavior; it wonβt stop your package manager if you manually run pnpm add -g openclaw@latest, openclaw update, or a broader system update that upgrades global packages.
how do i install the specific version of discord
If you mean the OpenClaw Discord channel/plugin, you donβt install a separate Discord version. Discord support is bundled with the openclaw package, so pinning OpenClaw pins the Discord channel code too.
For example:
openclaw gateway stop
pnpm add -g openclaw@2026.5.7
openclaw --version
openclaw doctor
openclaw gateway restart
Then enable/configure Discord normally via channels.discord.... Docs: https://docs.openclaw.ai/channels/discord
If you mean the Discord desktop app itself, thatβs outside OpenClaw; for this bug test you shouldnβt need to change the Discord app version.
but when installed normally the discord plugib says 2026.05.12 but i am runnding 2026.05.7
Ah, that means you likely have an installed external Discord plugin/package still at 2026.5.12, which can shadow or differ from the bundled channel code. Pinning core OpenClaw does not necessarily downgrade separately installed plugins.
Check what is loaded:
openclaw plugins list --verbose
openclaw plugins inspect discord
If discord shows as an installed/tracked plugin at 2026.5.12, either uninstall it so the bundled Discord support from openclaw@2026.5.7 is used:
openclaw plugins uninstall discord
openclaw gateway restart
or update/install that plugin to the matching older version if it is actually a separate npm/ClawHub package:
openclaw plugins update discord@2026.5.7
openclaw gateway restart
Iβd prefer uninstalling the external discord plugin first for this regression test, because Discord is normally part of OpenClaw and you want fewer moving parts. After restart, re-run:
openclaw --version
openclaw plugins list --verbose
Docs for plugin inventory/uninstall/update: https://docs.openclaw.ai/cli/plugins
it didn't find that version. what other discord plugion versions are there?
The package is @openclaw/discord. I checked npm: @openclaw/discord@2026.5.7 does exist.
Recent available versions include:
2026.5.2
2026.5.3
2026.5.4
2026.5.5
2026.5.6
2026.5.7
2026.5.9-beta.1
2026.5.10-beta.1 ... beta.5
2026.5.12-beta.1 ... beta.8
2026.5.12
2026.5.14-beta.1
2026.5.14-beta.2
If discord@2026.5.7 failed, it may have used the plugin id instead of the npm package name. Try the explicit npm package spec:
openclaw plugins update @openclaw/discord@2026.5.7
openclaw gateway restart
If update says it is not tracked, install/replace explicitly:
openclaw plugins install @openclaw/discord@2026.5.7 --force
openclaw gateway restart
Then verify:
openclaw plugins inspect discord
openclaw plugins list --verbose
If this is just for regression testing, another clean route is to uninstall the external plugin and use the bundled Discord from whatever openclaw --version you pinned:
openclaw plugins uninstall discord
openclaw gateway restart
wha