2026-01-09 00:32:48 +00:00
|
|
|
|
---
|
|
|
|
|
|
summary: "Model authentication: OAuth, API keys, and Claude Code token reuse"
|
|
|
|
|
|
read_when:
|
|
|
|
|
|
- Debugging model auth or OAuth expiry
|
|
|
|
|
|
- Documenting authentication or credential storage
|
|
|
|
|
|
---
|
2026-01-09 09:42:05 +10:30
|
|
|
|
# Authentication
|
|
|
|
|
|
|
2026-01-09 00:32:48 +00:00
|
|
|
|
Clawdbot supports OAuth and API keys for model providers. For Anthropic
|
|
|
|
|
|
subscription accounts, the most stable path is to **reuse Claude Code OAuth
|
|
|
|
|
|
credentials**, including the 1‑year token created by `claude setup-token`.
|
2026-01-09 09:42:05 +10:30
|
|
|
|
|
2026-01-09 00:32:48 +00:00
|
|
|
|
See [/concepts/oauth](/concepts/oauth) for the full OAuth flow and storage
|
|
|
|
|
|
layout.
|
2026-01-09 09:42:05 +10:30
|
|
|
|
|
2026-01-09 00:32:48 +00:00
|
|
|
|
## Recommended: long‑lived Claude Code token
|
|
|
|
|
|
|
|
|
|
|
|
Run this on the **gateway host** (the machine running the Gateway):
|
2026-01-09 09:42:05 +10:30
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
claude setup-token
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2026-01-09 00:32:48 +00:00
|
|
|
|
This issues a long‑lived **OAuth token** (not an API key) and stores it for
|
|
|
|
|
|
Claude Code. Then sync and verify:
|
2026-01-09 09:42:05 +10:30
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-01-09 00:32:48 +00:00
|
|
|
|
clawdbot models status
|
|
|
|
|
|
clawdbot doctor
|
2026-01-09 09:42:05 +10:30
|
|
|
|
```
|
|
|
|
|
|
|
2026-01-09 00:32:48 +00:00
|
|
|
|
Automation-friendly check (exit `1` when expired/missing, `2` when expiring):
|
2026-01-09 09:42:05 +10:30
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-01-09 00:32:48 +00:00
|
|
|
|
clawdbot models status --check
|
2026-01-09 09:42:05 +10:30
|
|
|
|
```
|
|
|
|
|
|
|
2026-01-09 00:32:48 +00:00
|
|
|
|
Optional ops scripts (systemd/Termux) are documented here:
|
|
|
|
|
|
[/automation/auth-monitoring](/automation/auth-monitoring)
|
2026-01-09 09:42:05 +10:30
|
|
|
|
|
2026-01-09 00:32:48 +00:00
|
|
|
|
`clawdbot models status` loads Claude Code credentials into Clawdbot’s
|
|
|
|
|
|
`auth-profiles.json` and shows expiry (warns within 24h by default).
|
|
|
|
|
|
`clawdbot doctor` also performs the sync when it runs.
|
2026-01-09 09:42:05 +10:30
|
|
|
|
|
2026-01-09 00:32:48 +00:00
|
|
|
|
> `claude setup-token` requires an interactive TTY.
|
2026-01-09 09:42:05 +10:30
|
|
|
|
|
2026-01-09 00:32:48 +00:00
|
|
|
|
## Checking model auth status
|
2026-01-09 09:42:05 +10:30
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-01-09 00:32:48 +00:00
|
|
|
|
clawdbot models status
|
|
|
|
|
|
clawdbot doctor
|
2026-01-09 09:42:05 +10:30
|
|
|
|
```
|
|
|
|
|
|
|
2026-01-09 00:32:48 +00:00
|
|
|
|
## How sync works
|
2026-01-09 09:42:05 +10:30
|
|
|
|
|
2026-01-09 00:32:48 +00:00
|
|
|
|
1. **Claude Code** stores credentials in `~/.claude/.credentials.json` (or
|
|
|
|
|
|
Keychain on macOS).
|
|
|
|
|
|
2. **Clawdbot** syncs those into
|
|
|
|
|
|
`~/.clawdbot/agents/<agentId>/agent/auth-profiles.json` when the auth store is
|
|
|
|
|
|
loaded.
|
|
|
|
|
|
3. OAuth refresh happens automatically on use if a token is expired.
|
2026-01-09 09:42:05 +10:30
|
|
|
|
|
2026-01-09 00:32:48 +00:00
|
|
|
|
## Troubleshooting
|
2026-01-09 09:42:05 +10:30
|
|
|
|
|
2026-01-09 00:32:48 +00:00
|
|
|
|
### “No credentials found”
|
2026-01-09 09:42:05 +10:30
|
|
|
|
|
2026-01-09 00:32:48 +00:00
|
|
|
|
If the Anthropic OAuth profile is missing, run `claude setup-token` on the
|
|
|
|
|
|
**gateway host**, then re-check:
|
2026-01-09 09:42:05 +10:30
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-01-09 00:32:48 +00:00
|
|
|
|
clawdbot models status
|
2026-01-09 09:42:05 +10:30
|
|
|
|
```
|
|
|
|
|
|
|
2026-01-09 00:32:48 +00:00
|
|
|
|
### Token expiring/expired
|
|
|
|
|
|
|
|
|
|
|
|
Run `clawdbot models status` to confirm which profile is expiring. If the profile
|
|
|
|
|
|
is `anthropic:claude-cli`, rerun `claude setup-token`.
|
|
|
|
|
|
|
2026-01-09 09:42:05 +10:30
|
|
|
|
## Requirements
|
|
|
|
|
|
|
2026-01-09 00:32:48 +00:00
|
|
|
|
- Claude Max or Pro subscription (for `claude setup-token`)
|
2026-01-09 09:42:05 +10:30
|
|
|
|
- Claude Code CLI installed (`claude` command available)
|