openclaw onboard --non-interactive to script setup. It requires --accept-risk: non-interactive setup can write credentials and daemon config without a confirmation prompt, so the flag is the explicit risk acknowledgement.
Each command can install a managed Gateway with --install-daemon, require an already-running compatible Gateway by omitting daemon flags, explicitly leave the Gateway stopped with --skip-daemon, or use --skip-health for config-only setup. The explicit skip still probes for an existing Gateway and reports whether one is reachable, but an absent listener is informational rather than a setup failure.
--json does not imply non-interactive mode. Pass --non-interactive --accept-risk explicitly for scripts.Baseline non-interactive example
--json for a machine-readable summary.
--gateway-portdefaults to18789; only pass it to override.--skip-bootstrapskips creating default workspace files, for automation that pre-seeds its own workspace.--secret-input-mode refstores new credentials as env-backed references ({ source: "env", provider: "default", id: "<ENV_VAR>" }); set the provider env var when adding a credential or passing an inline key flag. Existing resolvable named profiles and theirenv,file,exec, orstorereferences are reused unchanged, without a new credential write or additional provider env var. Existing plaintext is not migrated; runopenclaw secrets configure --apply, thenopenclaw secrets audit --check. See Secrets management.- The gateway token follows the same mode. Setup generates that value itself, so reference mode has no env var to point at unless you supply one: with
OPENCLAW_GATEWAY_TOKENexported,gateway.auth.tokenbecomes anenvref to it; otherwise the token goes into the SQLite secret store asOPENCLAW_GATEWAY_TOKENand config keeps astoreref. Either wayopenclaw.jsonholds no plaintext gateway token. Inspect the entry withopenclaw secrets store list. - In reference mode, explicit
--gateway-passwordand--remote-passwordmust matchOPENCLAW_GATEWAY_PASSWORD, and--remote-tokenmust matchOPENCLAW_GATEWAY_TOKEN. Missing or mismatched environment values fail before setup changes state; matching credentials are stored as env SecretRefs.
Provider-specific examples
Anthropic API key example
Anthropic API key example
Cloudflare AI Gateway example
Cloudflare AI Gateway example
Gemini example
Gemini example
Mistral example
Mistral example
Moonshot example
Moonshot example
Ollama example
Ollama example
OpenCode example
OpenCode example
--auth-choice opencode-go --opencode-go-api-key "$OPENCODE_API_KEY" for the Go catalog.Synthetic example
Synthetic example
Vercel AI Gateway example
Vercel AI Gateway example
Z.AI example
Z.AI example
Custom provider example
Custom provider example
--custom-api-key is optional; some endpoints do not require auth. If omitted, onboarding checks CUSTOM_API_KEY in env. --custom-provider-id is optional and auto-derived from the base URL when omitted. --custom-compatibility defaults to openai (other values: openai-responses, anthropic).OpenClaw infers image-input support from known vision model-id patterns (gpt-4o, claude-3/4, gemini, -vl/vision suffixes, and similar). Add --custom-image-input to force it on for an unrecognized vision model, or --custom-text-input to force text-only.Ref-mode variant, storing apiKey as { source: "env", provider: "default", id: "CUSTOM_API_KEY" }:Add another agent
openclaw agents add <name> creates a separate agent with its own workspace, sessions, and auth profiles. Running it without --workspace (and no other flags) launches the interactive wizard; passing any of --workspace, --model, --agent-dir, --bind, or --non-interactive runs it non-interactively and then requires --workspace.
agents.entries.* entry for the new agent id):
nameworkspaceagentDirmodel(only when--modelis passed)
- Default workspace (when
--workspaceis omitted in the interactive wizard):~/.openclaw/workspace-<agentId>. --bind <channel[:accountId]>is repeatable; add bindings to route inbound messages to the new agent (the wizard can also do this interactively).- The agent name is normalized to a valid agent id.
mainis allowed, but an existing named installation may requireopenclaw doctor --fixto finish legacy-session and shared-auth ownership migrations before creating it.
Related docs
- Onboarding hub: Onboarding (CLI)
- Full reference: CLI Setup Reference
- Command reference:
openclaw onboard