Getting Started
Goal: go from zero → first working chat (with sane defaults) as quickly as possible. Recommended path: use the CLI onboarding wizard (clawdbot onboard). It sets up:
- model/auth (OAuth recommended)
- gateway settings
- providers (WhatsApp/Telegram/Discord/…)
- pairing defaults (secure DMs)
- workspace bootstrap + skills
- optional background daemon
0) Prereqs
- Node
>=22 pnpm(optional; recommended if you build from source)
1) Install the CLI (recommended)
2) Run the onboarding wizard (and install the daemon)
- Local vs Remote gateway
- Auth: Anthropic OAuth or OpenAI OAuth (recommended), API key (optional), or skip for now
- Providers: WhatsApp QR login, Telegram/Discord bot tokens, etc.
- Daemon: background install (launchd/systemd; WSL2 uses systemd)
- Runtime: Node (recommended; required for WhatsApp) or Bun (faster, but incompatible with WhatsApp)
Auth: where it lives (important)
- OAuth credentials (legacy import):
~/.clawdbot/credentials/oauth.json - Auth profiles (OAuth + API keys):
~/.clawdbot/agents/<agentId>/agent/auth-profiles.json
oauth.json to the gateway host.
3) Start the Gateway
If you installed the daemon during onboarding, the Gateway should already be running:http://127.0.0.1:18789/
⚠️ WhatsApp + Bun warning: Baileys (WhatsApp Web library) uses a WebSocket
path that is currently incompatible with Bun and can cause memory corruption on
reconnect. If you use WhatsApp, run the Gateway with Node until this is
resolved. Baileys: https://github.com/WhiskeySockets/Baileys · Bun issue:
https://github.com/oven-sh/bun/issues/5951
4) Pair + connect your first chat surface
WhatsApp (QR login)
Telegram / Discord / others
The wizard can write tokens/config for you. If you prefer manual config, start with: Telegram DM tip: your first DM returns a pairing code. Approve it (see next step) or the bot won’t respond.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:From source (development)
If you’re hacking on Clawdbot itself, run from source:7) Verify end-to-end
In a new terminal:health shows “no auth configured”, go back to the wizard and set OAuth/key auth — the agent won’t be able to respond without it.
Local probe tip: clawdbot status --deep runs provider checks without needing a gateway connection.
Gateway snapshot: clawdbot providers status shows what the gateway reports (use status --deep for local-only probes).
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