Gateway CLI
The Gateway is Clawdbot’s WebSocket server (providers, nodes, sessions, hooks). Subcommands in this page live underclawdbot gateway ….
Related docs:
Run the Gateway
Run a local Gateway process:- By default, the Gateway refuses to start unless
gateway.mode=localis set in~/.clawdbot/clawdbot.json. Use--allow-unconfiguredfor ad-hoc/dev runs. - Binding beyond loopback without auth is blocked (safety guardrail).
SIGUSR1triggers an in-process restart (useful without a supervisor).
Options
--port <port>: WebSocket port (default comes from config/env; usually18789).--bind <loopback|lan|tailnet|auto>: listener bind mode.--auth <token|password>: auth mode override.--token <token>: token override (also setsCLAWDBOT_GATEWAY_TOKENfor the process).--password <password>: password override (also setsCLAWDBOT_GATEWAY_PASSWORDfor the process).--tailscale <off|serve|funnel>: expose the Gateway via Tailscale.--tailscale-reset-on-exit: reset Tailscale serve/funnel config on shutdown.--dev: create a dev config + workspace if missing (skips BOOTSTRAP.md).--reset: reset dev config + credentials + sessions + workspace (requires--dev).--force: kill any existing listener on the selected port before starting.--verbose: verbose logs.--claude-cli-logs: only show claude-cli logs in the console (and enable its stdout/stderr).--ws-log <auto|full|compact>: websocket log style (defaultauto).--compact: alias for--ws-log compact.--raw-stream: log raw model stream events to jsonl.--raw-stream-path <path>: raw stream jsonl path.
Query a running Gateway
All query commands use WebSocket RPC. Output modes:- Default: human-readable (colored in TTY).
--json: machine-readable JSON (no styling/spinner).--no-color(orNO_COLOR=1): disable ANSI while keeping human layout.
--url <url>: Gateway WebSocket URL.--token <token>: Gateway token.--password <password>: Gateway password.--timeout <ms>: timeout/budget (varies per command).--expect-final: wait for a “final” response (agent calls).
gateway health
gateway status
gateway status is the “debug everything” command. It always probes:
- your configured remote gateway (if set), and
- localhost (loopback) even if remote is configured.
Remote over SSH (Mac app parity)
The macOS app “Remote over SSH” mode uses a local port-forward so the remote gateway (which may be bound to loopback only) becomes reachable atws://127.0.0.1:<port>.
CLI equivalent:
--ssh <target>:user@hostoruser@host:port(port defaults to22).--ssh-identity <path>: identity file.--ssh-auto: pick the first discovered bridge host as SSH target (LAN/WAB only).
gateway.remote.sshTargetgateway.remote.sshIdentity
gateway call <method>
Low-level RPC helper.
Discover gateways (Bonjour)
gateway discover scans for Gateway bridge beacons (_clawdbot-bridge._tcp).
- Multicast DNS-SD:
local. - Unicast DNS-SD (Wide-Area Bonjour):
clawdbot.internal.(requires split DNS + DNS server; see /gateway/bonjour)
gatewayPort(WebSocket port, usually18789)sshPort(SSH port; defaults to22if not present)tailnetDns(MagicDNS hostname, when available)cliPath(optional hint for remote installs)
gateway discover
--timeout <ms>: per-command timeout (browse/resolve); default2000.--json: machine-readable output (also disables styling/spinner).