openclaw dashboard and chat in the browser, or open http://127.0.0.1:18789/ on the gateway host. Docs: 0) Prereqs
- Node
>=22 pnpm(optional; recommended if you build from source)- Recommended: Brave Search API key for web search. Easiest path:
openclaw configure --section web(storestools.web.search.apiKey). See 1) Install the CLI (recommended)Installer options (install method, non-interactive, from GitHub): 2) Run the onboarding wizard (and install the service)What you’ll choose:- Local vs Remote gateway
- Auth: OpenAI Code (Codex) subscription (OAuth) or API keys. For Anthropic we recommend an API key;
claude setup-tokenis also supported. - Providers: WhatsApp QR login, Telegram/Discord bot tokens, Mattermost plugin tokens, etc.
- Daemon: background install (launchd/systemd; WSL2 uses systemd)
- Runtime: Node (recommended; required for WhatsApp/Telegram). Bun is not recommended.
- Gateway token: the wizard generates one by default (even on loopback) and stores it in
gateway.auth.token.
- Recommended Anthropic path: set an API key (wizard can store it for service use).
claude setup-tokenis also supported if you want to reuse Claude Code credentials. - OAuth credentials (legacy import):
~/.openclaw/credentials/oauth.json - Auth profiles (OAuth + API keys):
~/.openclaw/agents//agent/auth-profiles.json
oauth.jsonto the gateway host.3) Start the Gateway If you installed the service during onboarding, the Gateway should already be running:Manual run (foreground):Dashboard (local loopback):http://127.0.0.1:18789/If a token is configured, paste it into the Control UI settings (stored asconnect.params.auth.token). ⚠️ Bun warning (WhatsApp + Telegram): Bun has known issues with these channels. If you use WhatsApp or Telegram, run the Gateway with Node.3.5) Quick verify (2 min)4) Pair + connect your first chat surfaceWhatsApp (QR login)Scan via WhatsApp → Settings → Linked Devices. WhatsApp doc: Telegram / Discord / others The wizard can write tokens/config for you. If you prefer manual config, start with:- Telegram: 5) DM safety (pairing approvals) Default posture: unknown DMs get a short code and messages are not processed until approved. If your first DM gets no reply, approve the pairing:
Pairing doc: From source (development) If you’re hacking on OpenClaw itself, run from source:If you don’t have a global install yet, run the onboarding step via
pnpm openclaw ...from the repo.pnpm buildalso bundles A2UI assets; if you need to run just that step, usepnpm canvas:a2ui:bundle. Gateway (from this repo):7) Verify end-to-end In a new terminal, send a test message:Ifopenclaw healthshows “no auth configured”, go back to the wizard and set OAuth/key auth — the agent won’t be able to respond without it. Tip:openclaw status --allis the best pasteable, read-only debug report. Health probes:openclaw health(oropenclaw status --deep) asks the running gateway for a health snapshot.Next steps (optional, but great)- macOS menu bar app + voice wake: macOS app
- iOS/Android nodes (Canvas/camera/voice): Nodes
- Remote access (SSH tunnel / Tailscale Serve): Remote access and Tailscale
- Always-on / VPN setups: Remote access, exe.dev, Hetzner, macOS remote