Documentation Index
Fetch the complete documentation index at: https://cryptoclawdocs.termix.ai/llms.txt
Use this file to discover all available pages before exploring further.
Gateway CLI
The Gateway is OpenClaw’s WebSocket server (channels, nodes, sessions, hooks). Subcommands in this page live underopenclaw gateway ….
Related docs:
Run the Gateway
Run a local Gateway process:- By default, the Gateway refuses to start unless
gateway.mode=localis set in~/.openclaw/openclaw.json. Use--allow-unconfiguredfor ad-hoc/dev runs. - Binding beyond loopback without auth is blocked (safety guardrail).
SIGUSR1triggers an in-process restart when authorized (commands.restartis enabled by default; setcommands.restart: falseto block manual restart, while gateway tool/config apply/update remain allowed).SIGINT/SIGTERMhandlers stop the gateway process, but they don’t restore any custom terminal state. If you wrap the CLI with a TUI or raw-mode input, restore the terminal before exit.
Options
--port <port>: WebSocket port (default comes from config/env; usually18789).--bind <loopback|lan|tailnet|auto|custom>: listener bind mode.--auth <token|password>: auth mode override.--token <token>: token override (also setsOPENCLAW_GATEWAY_TOKENfor the process).--password <password>: password override (also setsOPENCLAW_GATEWAY_PASSWORDfor the process).--tailscale <off|serve|funnel>: expose the Gateway via Tailscale.--tailscale-reset-on-exit: reset Tailscale serve/funnel config on shutdown.--allow-unconfigured: allow gateway start withoutgateway.mode=localin config.--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).
--url, the CLI does not fall back to config or environment credentials.
Pass --token or --password explicitly. Missing explicit credentials is an error.
gateway health
gateway status
gateway status shows the Gateway service (launchd/systemd/schtasks) plus an optional RPC probe.
--url <url>: override the probe URL.--token <token>: token auth for the probe.--password <password>: password auth for the probe.--timeout <ms>: probe timeout (default10000).--no-probe: skip the RPC probe (service-only view).--deep: scan system-level services too.
gateway probe
gateway probe 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 gateway host as SSH target (LAN/WAB only).
gateway.remote.sshTargetgateway.remote.sshIdentity
gateway call <method>
Low-level RPC helper.
Manage the Gateway service
gateway installsupports--port,--runtime,--token,--force,--json.- Lifecycle commands accept
--jsonfor scripting.
Discover gateways (Bonjour)
gateway discover scans for Gateway beacons (_openclaw-gw._tcp).
- Multicast DNS-SD:
local. - Unicast DNS-SD (Wide-Area Bonjour): choose a domain (example:
openclaw.internal.) and set up split DNS + a DNS server; see /gateway/bonjour
role(gateway role hint)transport(transport hint, e.g.gateway)gatewayPort(WebSocket port, usually18789)sshPort(SSH port; defaults to22if not present)tailnetDns(MagicDNS hostname, when available)gatewayTls/gatewayTlsSha256(TLS enabled + cert fingerprint)cliPath(optional hint for remote installs)
gateway discover
--timeout <ms>: per-command timeout (browse/resolve); default2000.--json: machine-readable output (also disables styling/spinner).