#Starting OpenClaw in browser
1 messages · Page 1 of 1 (latest)
That “Starting OpenClaw” spinner usually means the UI did authenticate, but then it can’t complete the WebSocket handshake / device identity / pairing step (or it’s talking to the wrong gateway).
A few quick checks that usually pinpoint it:
1) First: are you opening the UI locally or remotely?
- Local (same machine as the Gateway):
http://127.0.0.1:18789/ - Remote (LAN/Tailscale/VPS):
http://<ip>:18789/or (better)https://…via Tailscale Serve
If you’re opening it over plain HTTP remotely, browsers can block the “device identity” step (WebCrypto), which can look like it’s just stuck. Docs: https://docs.openclaw.ai/gateway/troubleshooting (Control UI over HTTP)
2) Check if the UI is waiting for device pairing approval (very common)
When connecting from a new browser/device remotely, the gateway may require approval.
On the gateway host, run:
openclaw devices list
If you see a pending request, approve it:
openclaw devices approve <requestId>
Then reload the UI tab. (Docs: https://docs.openclaw.ai/web/control-ui#device-pairing-first-connection)
3) Grab the “safe to paste” status bundle
Please paste these outputs:
openclaw --version
openclaw status --all
openclaw gateway status
Those three usually show immediately if the service is “running” but the RPC probe is failing, config mismatch, wrong bind mode, etc.
4) Quick client-side fix: clear cached UI state
If this started after an update, it can be just stale localStorage/UI cache.
Try in the browser:
- Hard refresh (Ctrl+Shift+R)
- Or open an Incognito window to test
- Or clear site data for the gateway origin (DevTools → Application → Clear storage)
5) If you’re remote: prefer HTTPS (Tailscale Serve)
If you’re accessing it over tailnet, the “least headache” setup is:
openclaw gateway --tailscale serve
Then open the https://<magicdns>/ URL.
If you paste openclaw status --all + openclaw gateway status, I can tell you which of the above it is within a minute.