Onboarding (macOS app)
This doc describes the current first‑run onboarding flow. The goal is a smooth “day 0” experience: pick where the Gateway runs, connect auth, run the wizard, and let the agent bootstrap itself.Page order (current)
- Welcome + security notice
- Gateway selection (Local / Remote / Configure later)
- Auth (Anthropic OAuth) — local only
- Setup Wizard (Gateway‑driven)
- Permissions (TCC prompts)
- CLI helper (optional)
- Onboarding chat (dedicated session)
- Ready
1) Local vs Remote
Where does the Gateway run?- Local (this Mac): onboarding can run OAuth flows and write credentials locally.
- Remote (over SSH/Tailnet): onboarding does not run OAuth locally; credentials must exist on the gateway host.
- Configure later: skip setup and leave the app unconfigured.
- If you only use Clawdbot locally (loopback), auth can be Off.
- Use a token for multi‑machine access or non‑loopback binds.
2) Local-only auth (Anthropic OAuth)
The macOS app supports Anthropic OAuth (Claude Pro/Max). The flow:- Opens the browser for OAuth (PKCE)
- Asks the user to paste the
code#statevalue - Writes credentials to
~/.clawdbot/credentials/oauth.json
3) Setup Wizard (Gateway‑driven)
The app can run the same setup wizard as the CLI. This keeps onboarding in sync with Gateway‑side behavior and avoids duplicating logic in SwiftUI.4) Permissions
Onboarding requests TCC permissions needed for:- Notifications
- Accessibility
- Screen Recording
- Microphone / Speech Recognition
- Automation (AppleScript)
5) CLI helper (optional)
The app can symlink the bundledclawdbot CLI into /usr/local/bin and
/opt/homebrew/bin so terminal workflows work out of the box.
6) Onboarding chat (dedicated session)
After setup, the app opens a dedicated onboarding chat session so the agent can introduce itself and guide next steps. This keeps first‑run guidance separate from your normal conversation.Agent bootstrap ritual
On the first agent run, Clawdbot bootstraps a workspace (default~/clawd):
- Seeds
AGENTS.md,BOOTSTRAP.md,IDENTITY.md,USER.md - Runs a short Q&A ritual (one question at a time)
- Writes identity + preferences to
IDENTITY.md,USER.md,SOUL.md - Removes
BOOTSTRAP.mdwhen finished so it only runs once
Optional: Gmail hooks (manual)
Gmail Pub/Sub setup is currently a manual step. Use:Remote mode notes
When the Gateway runs on another machine, credentials and workspace files live on that host. If you need OAuth in remote mode, create:~/.clawdbot/credentials/oauth.json~/.clawdbot/agents/<agentId>/agent/auth-profiles.json