The Gateway is the heart of Open Claw — a single long-running service that manages all agent sessions, messaging channels, tool execution, and device connections. Everything flows through the Gateway.
It's a WebSocket server that listens for connections from clients (desktop app, mobile apps, web dashboard) and manages the entire AI assistant lifecycle.
| Mode | Description | |------|-------------| | Loopback | Default. Only accessible from localhost (127.0.0.1) | | LAN | Accessible on your local network. Auto-discoverable via Bonjour/mDNS | | Tailnet | Accessible through Tailscale VPN with MagicDNS | | Custom | Bind to a specific address |
| Method | Description | |--------|-------------| | Token | WebSocket bearer token (UUID or custom string) | | Password | Password-based auth (bcrypt hashed) | | Trusted Proxy | For reverse proxies with pre-auth headers | | Local Trust | Loopback connections auto-approved |
The Gateway is configured via openclaw.json (JSON5 format). Key sections:
| Section | Controls |
|---------|----------|
| agents | Agent list, defaults, workspaces |
| gateway | Port, bind mode, auth, reload behavior |
| channels | Per-channel config and credentials |
| tools | Tool permissions, profiles, security |
| plugins | Plugin loading, enabling, per-plugin config |
| models | Provider auth, fallbacks, provider settings |
| skills | Skill directories, per-skill configuration |
| browser | Browser profiles, ports, headless mode |
| cron | Scheduler configuration |
| session | Reset rules, compaction thresholds |
| messages | TTS settings, media policies |
| memory | Memory indexing configuration |
| security | Sandboxing, elevated mode, approvals |
Configuration changes can be applied without restarting:
| Mode | Behavior | |------|----------| | Hybrid (default) | Hot-apply safe changes, restart for others | | Hot | Only apply hot-safe changes, ignore others | | Restart | Restart on any reload-required change | | Off | No automatic reload |
Tailscale provides secure, zero-config remote access:
Forward the Gateway port through SSH:
The /health HTTP endpoint returns:
When bound to LAN, the Gateway advertises itself via multicast DNS:
_openclaw-gw._tcpDiscover gateways across your network with configurable timeouts. Supports both local Bonjour and Tailscale DNS discovery.
You can run multiple Gateway instances on the same machine using profiles:
The built-in diagnostic tool checks:
It can automatically fix many issues when given permission.
Gateway logs are written to daily JSONL files: