Authentication
Authentication
Section titled “Authentication”OpenClaw supports OAuth and API keys for model providers. For Anthropic accounts, we recommend using an API key. For Claude subscription access, use the long‑lived token created by claude setup-token.
See /docs/concepts/oauth for the full OAuth flow and storage layout.
Recommended Anthropic setup (API key)
Section titled “Recommended Anthropic setup (API key)”If you’re using Anthropic directly, use an API key.
- Create an API key in the Anthropic Console.
- Put it on the gateway host (the machine running
openclaw gateway).
export ANTHROPIC_API_KEY="..."openclaw models status- If the Gateway runs under systemd/launchd, prefer putting the key in
~/.openclaw/.envso the daemon can read it:
cat >> ~/.openclaw/.env <<'EOF'ANTHROPIC_API_KEY=...EOFThen restart the daemon (or restart your Gateway process) and re-check:
openclaw models statusopenclaw doctorIf you’d rather not manage env vars yourself, the onboarding wizard can store API keys for daemon use: openclaw onboard.
See Help for details on env inheritance (env.shellEnv, ~/.openclaw/.env, systemd/launchd).
Anthropic: setup-token (subscription auth)
Section titled “Anthropic: setup-token (subscription auth)”For Anthropic, the recommended path is an API key. If you’re using a Claude subscription, the setup-token flow is also supported. Run it on the gateway host:
claude setup-tokenThen paste it into OpenClaw:
openclaw models auth setup-token --provider anthropicIf the token was created on another machine, paste it manually:
openclaw models auth paste-token --provider anthropicIf you see an Anthropic error like:
This credential is only authorized for use with Claude Code and cannot be used for other API requests.…use an Anthropic API key instead.
Manual token entry (any provider; writes auth-profiles.json + updates config):
openclaw models auth paste-token --provider anthropicopenclaw models auth paste-token --provider openrouterAutomation-friendly check (exit 1 when expired/missing, 2 when expiring):
openclaw models status --checkOptional ops scripts (systemd/Termux) are documented here: /docs/automation/auth-monitoring
claude setup-tokenrequires an interactive TTY.
Checking model auth status
Section titled “Checking model auth status”openclaw models status