Problem
The OpenClaw dashboard (web UI at localhost:18789) fails to connect to the gateway with error:
disconnected (1008): device signature expired
The gateway itself is healthy - CLI commands work fine, Telegram integration is connected, openclaw gateway health returns OK. Only the browser dashboard fails to authenticate.
Environment
OpenClaw 2026.2.15 (3fe22ea)
Running in WSL (Ubuntu) on Windows
Gateway bound to loopback (127.0.0.1:18789)
Auth mode: token
What I've Tried
Verified system time is correct - not a clock skew issue
Checked gateway health - all OK:
openclaw gateway status # running, RPC probe OK
openclaw gateway health # OK, Telegram connected
openclaw doctor # no critical issues
Ran gateway in verbose mode - confirmed Chrome browser connections are being rejected with code 1008 "device signature expired"
Cleared sessions:
openclaw sessions clear
openclaw gateway restart
Regenerated gateway token:
openclaw doctor --generate-gateway-token
Removed stale UI device from paired.json - manually edited ~/.openclaw/devices/paired.json to remove the openclaw-control-ui device entry
Cleared browser local storage for localhost:18789
Ran openclaw dashboard to get fresh authenticated URL
None of these resolved the issue - browser still gets "device signature expired" on every connection attempt.
Relevant Files
~/.openclaw/devices/paired.json - now contains only CLI device
~/.openclaw/identity/device.json - gateway keypair looks intact
~/.openclaw/openclaw.json - main config
Any suggestions appreciated!