Skip to main content

Dashboard (Control UI)

The Gateway dashboard is the browser Control UI served at / by default (override with gateway.controlUi.basePath). Quick open (local Gateway): Key references: Authentication is enforced at the WebSocket handshake via connect.params.auth (token or password). See gateway.auth in Gateway configuration.
  • After onboarding, the CLI now auto-opens the dashboard with your token and prints the same tokenized link.
  • Re-open anytime: clawdbot dashboard (copies link, opens browser if possible, shows SSH hint if headless).
  • The token stays local (query param only); the UI strips it after first load and saves it in localStorage.

Token basics (local vs remote)

  • Localhost: open http://127.0.0.1:18789/. If you see “unauthorized,” run clawdbot dashboard and use the tokenized link (?token=...).
  • Token source: gateway.auth.token (or CLAWDBOT_GATEWAY_TOKEN); the UI stores it after first load.
  • Not localhost: use Tailscale Serve (tokenless if gateway.auth.allowTailscale: true), tailnet bind with a token, or an SSH tunnel. See Web surfaces.

If you see “unauthorized” / 1008

  • Run clawdbot dashboard to get a fresh tokenized link.
  • Ensure the gateway is reachable (local: clawdbot status; remote: SSH tunnel ssh -N -L 18789:127.0.0.1:18789 user@host then open http://127.0.0.1:18789/?token=...).
  • In the dashboard settings, paste the same token you configured in gateway.auth.token (or CLAWDBOT_GATEWAY_TOKEN).