Rescue-bot quickstart
The simplest rescue-bot setup:- Keep the main bot on the default profile.
- Run the rescue bot on
--profile rescue, with its own Telegram bot token. - Put the rescue bot on a different base port, e.g.
19789.
gateway install.
During openclaw --profile rescue onboard:
- Use a separate Telegram bot token, dedicated to the rescue account (easy to keep operator-only, independent from the main bot’s channel/app install, and a simple DM-based recovery path).
- Keep the
rescueprofile name. - Use a base port at least 20 higher than the main bot.
- Accept the default rescue workspace unless you already manage one yourself.
What --profile rescue onboard changes
--profile rescue onboard runs the normal onboarding flow but writes everything into a separate profile, so the rescue bot gets its own:
- Profile/config file
- State directory
- Workspace (default:
~/.openclaw/workspace-rescue) - Managed service name
- Base port (plus derived ports)
- Telegram bot token
General multi-gateway setup
The same isolation pattern works for any pair or group of Gateways on one host - give each extra Gateway its own named profile and base port:Isolation checklist
Keep these unique per Gateway instance:| Setting | Purpose |
|---|---|
OPENCLAW_CONFIG_PATH | Per-instance config file |
OPENCLAW_STATE_DIR | Per-instance sessions, creds, caches |
agents.defaults.workspace | Per-instance workspace root |
gateway.port (or --port) | Unique per instance |
| Derived browser/CDP ports | See below |
Port mapping (derived)
Base port =gateway.port (or OPENCLAW_GATEWAY_PORT / --port).
- Browser control service port = base + 2 (loopback only).
- Canvas host is served on the Gateway HTTP server itself (same port as
gateway.port). - Browser profile CDP ports auto-allocate from
browser control port + 9through+ 108.
Browser/CDP notes (common footgun)
- Do not pin
browser.cdpUrlto the same value on multiple instances. - Each instance needs its own browser control port and CDP range (derived from its gateway port).
- For explicit CDP ports, set
browser.profiles.<name>.cdpPortper instance. - For remote Chrome, use
browser.profiles.<name>.cdpUrl(per profile, per instance).
Manual env example
Quick checks
gateway status --deepcatches stale launchd/systemd/schtasks services from older installs.gateway probewarning text such asmultiple reachable gateway identities detectedis expected only when you intentionally run more than one isolated gateway, or when OpenClaw cannot prove reachable probe targets are the same gateway. An SSH tunnel, proxy URL, or configured remote URL to the same gateway is one gateway with multiple transports, even when transport ports differ.