docs/reference/wizard.md
This is the full reference for openclaw onboard.
For a high-level overview, see Onboarding (CLI). For step-by-step
behavior and outputs, see CLI setup reference.
Use --non-interactive --accept-risk to automate or script onboarding (the
flag is the required risk acknowledgement; onboarding exits with an error
without it):
openclaw onboard --non-interactive --accept-risk \
--mode local \
--auth-choice apiKey \
--anthropic-api-key "$ANTHROPIC_API_KEY" \
--gateway-port 18789 \
--gateway-bind loopback \
--install-daemon \
--daemon-runtime node \
--skip-skills
Add --json for a machine-readable summary.
Gateway token SecretRef in non-interactive mode:
export OPENCLAW_GATEWAY_TOKEN="your-token"
openclaw onboard --non-interactive --accept-risk \
--mode local \
--auth-choice skip \
--gateway-auth token \
--gateway-token-ref-env OPENCLAW_GATEWAY_TOKEN
--gateway-token and --gateway-token-ref-env are mutually exclusive.
Provider-specific command examples live in CLI Automation. Use this reference page for flag semantics and step ordering.
openclaw agents add work \
--workspace ~/.openclaw/workspace-work \
--model openai/gpt-5.5 \
--bind whatsapp:biz \
--non-interactive \
--json
main is a reserved agent id and cannot be used for openclaw agents add.
The Gateway exposes the onboarding flow over RPC (wizard.start, wizard.next, wizard.cancel, wizard.status).
Clients (macOS app, Control UI) can render steps without re-implementing onboarding logic.
Onboarding detects whether signal-cli is on PATH and, if missing, offers to install it:
signal-cli GitHub releases and stores it under ~/.openclaw/tools/signal-cli/<version>/.channels.signal.cliPath to your config either way.Typical fields in ~/.openclaw/openclaw.json:
agents.defaults.workspaceagents.defaults.skipBootstrap when --skip-bootstrap is passedagents.defaults.model / models.providers (if Minimax chosen)tools.profile (local onboarding defaults to "coding" when unset; existing explicit values are preserved)gateway.* (mode, bind, auth, tailscale)session.dmScope (local onboarding defaults this to "per-channel-peer" when unset; existing explicit values are preserved. Details: CLI Setup Reference)channels.telegram.botToken, channels.discord.token, channels.matrix.*, channels.signal.*, channels.imessage.*skills.install.nodeManager
setup --node-manager accepts npm, pnpm, or bun.yarn by setting skills.install.nodeManager directly.wizard.lastRunAtwizard.lastRunVersionwizard.lastRunCommitwizard.lastRunCommandwizard.lastRunModewizard.securityAcknowledgedAtopenclaw agents add writes agents.list[] and optional bindings.
WhatsApp credentials go under ~/.openclaw/credentials/whatsapp/<accountId>/.
Sessions are stored under ~/.openclaw/agents/<agentId>/sessions/.
Some channels are delivered as plugins. When you pick one during setup, onboarding will prompt to install it (npm or a local path) before it can be configured.