#TUI not paired to gateway?
1 messages · Page 1 of 1 (latest)
That gateway disconnected: pairing required means the Gateway is seeing your TUI as a new “operator device” and wants a one-time approval (same thing you see in the Control UI as disconnected (1008): pairing required).
Fix: approve the pending device
On the gateway host run:
openclaw devices list
openclaw devices approve --latest
# (or: openclaw devices approve <requestId>)
Then re-run:
openclaw tui
Docs: https://docs.openclaw.ai/web/control-ui#device-pairing-first-connection and https://docs.openclaw.ai/cli/devices
If you’re running the Gateway in Docker
Do the approval inside the compose CLI container (common cause, because the Gateway sees your host connection as “remote”, not loopback):
docker compose run --rm openclaw-cli devices list
docker compose run --rm openclaw-cli devices approve --latest
If it still fails, paste these outputs
openclaw gateway status
openclaw devices list
openclaw logs --follow # grab the lines around the pairing request
here you go. , output for the 3 commands as the first 2 didnt work
you running linux?
Yeah — OpenClaw runs great on Linux, and the prompt in the screenshot (ubuntu@...) already shows that Gateway host is Ubuntu.
The “pairing required” thing isn’t Linux-specific; it’s the Gateway treating your TUI/Control UI as a new device (usually because you’re connecting “remotely”, e.g. Docker bridge / LAN / tailnet / proxy).
If you want to confirm OS quickly:
uname -a
openclaw --version
I don’t actually see the command outputs in your message (looks like Discord ate them) — can you paste them again in a code block?
In the meantime, here’s the most common reason those two commands also “don’t work”:
If your Gateway is running in Docker
From the host, openclaw tui hits the container via the Docker bridge, so the Gateway treats it as remote → requires device pairing. Your host CLI often can’t self-auto-approve either.
Do the approval from inside the gateway container:
docker compose ps
# list pending device pairing requests
docker compose exec openclaw-gateway node dist/index.js devices list
# approve the latest pending request
docker compose exec openclaw-gateway node dist/index.js devices approve --latest
Then try again:
openclaw tui
If you’re NOT using Docker (or you’re behind a reverse proxy)
Paste these (verbatim) and I’ll tell you exactly which case you’re in:
openclaw gateway status
openclaw devices list
openclaw devices approve --latest
Also include ~20 lines from:
openclaw logs --follow
(look for warnings about proxy headers / trustedProxies, and/or a requestId).