OAuth
OpenClaw supporta la “subscription auth” tramite OAuth per i provider che la offrono (in particolare OpenAI Codex (ChatGPT OAuth)). Per gli abbonamenti Anthropic, la nuova configurazione dovrebbe usare il percorso di login locale Claude CLI sull’host gateway, ma Anthropic distingue tra l’uso diretto di Claude Code e il percorso di riutilizzo di OpenClaw. La documentazione pubblica di Anthropic per Claude Code afferma che l’uso diretto di Claude Code rientra nei limiti dell’abbonamento Claude. Separatamente, Anthropic ha notificato agli utenti OpenClaw il 4 aprile 2026 alle 12:00 PM PT / 8:00 PM BST che OpenClaw è considerato un harness di terze parti e ora richiede Extra Usage per quel traffico. OpenAI Codex OAuth è esplicitamente supportato per l’uso in strumenti esterni come OpenClaw. Questa pagina spiega: Per Anthropic in produzione, l’autenticazione tramite chiave API è il percorso consigliato e più sicuro.- come funziona lo scambio del token OAuth (PKCE)
- dove vengono archiviati i token (e perché)
- come gestire più account (profili + override per sessione)
Il token sink (perché esiste)
I provider OAuth spesso emettono un nuovo refresh token durante i flussi di login/refresh. Alcuni provider (o client OAuth) possono invalidare i refresh token più vecchi quando ne viene emesso uno nuovo per lo stesso utente/app. Sintomo pratico:- effettui il login tramite OpenClaw e tramite Claude Code / Codex CLI → uno dei due in seguito risulta casualmente “disconnesso”
auth-profiles.json come un token sink:
- il runtime legge le credenziali da un unico posto
- possiamo mantenere più profili e instradarli in modo deterministico
- quando le credenziali vengono riutilizzate da una CLI esterna come Codex CLI, OpenClaw le rispecchia con provenienza e rilegge quella sorgente esterna invece di ruotare direttamente il refresh token
Archiviazione (dove vivono i token)
I secret vengono archiviati per agente:- Profili auth (OAuth + chiavi API + riferimenti facoltativi a livello di valore):
~/.openclaw/agents/<agentId>/agent/auth-profiles.json - File di compatibilità legacy:
~/.openclaw/agents/<agentId>/agent/auth.json(le voci staticheapi_keyvengono ripulite quando rilevate)
~/.openclaw/credentials/oauth.json(importato inauth-profiles.jsonal primo utilizzo)
$OPENCLAW_STATE_DIR (override della directory di stato). Riferimento completo: /gateway/configuration
Per i riferimenti a secret statici e il comportamento di attivazione delle istantanee di runtime, vedi Gestione dei secret.
Compatibilità legacy dei token Anthropic
OpenClaw ora espone di nuovo il setup-token Anthropic come percorso legacy/manuale. L’avviso di fatturazione specifico per OpenClaw di Anthropic si applica ancora a quel percorso, quindi usalo aspettandoti che Anthropic richieda Extra Usage per il traffico Claude-login guidato da OpenClaw.Migrazione Anthropic Claude CLI
Se Claude CLI è già installato e autenticato sull’host gateway, puoi spostare la selezione del modello Anthropic sul backend locale CLI. Questo è un percorso OpenClaw supportato quando vuoi riutilizzare un login locale Claude CLI sullo stesso host. Prerequisiti:- il binario
claudeè installato sull’host gateway - Claude CLI è già autenticato lì tramite
claude auth login
anthropic/... a claude-cli/..., riscrive
i fallback Anthropic Claude corrispondenti e aggiunge voci allowlist claude-cli/...
corrispondenti sotto agents.defaults.models.
Verifica:
Scambio OAuth (come funziona il login)
I flussi di login interattivo di OpenClaw sono implementati in@mariozechner/pi-ai e collegati alle procedure guidate/comandi.
Anthropic Claude CLI
Forma del flusso: Percorso Claude CLI:- accedi con
claude auth loginsull’host gateway - esegui
openclaw models auth login --provider anthropic --method cli --set-default - non archiviare alcun nuovo profilo auth; sposta la selezione del modello su
claude-cli/... - mantieni i profili auth Anthropic esistenti per il rollback
claude stesso. OpenClaw può riutilizzare quel login locale, ma
Anthropic classifica separatamente il percorso controllato da OpenClaw come utilizzo di harness di terze parti ai fini della fatturazione.
Percorso assistente interattivo:
openclaw onboard/openclaw configure→ scelta authanthropic-cli
OpenAI Codex (ChatGPT OAuth)
OpenAI Codex OAuth è esplicitamente supportato per l’uso al di fuori di Codex CLI, inclusi i flussi di lavoro OpenClaw. Forma del flusso (PKCE):- genera verifier/challenge PKCE +
statecasuale - apri
https://auth.openai.com/oauth/authorize?... - prova a catturare la callback su
http://127.0.0.1:1455/auth/callback - se la callback non riesce a fare bind (o sei in remoto/headless), incolla l’URL/code di reindirizzamento
- effettua lo scambio su
https://auth.openai.com/oauth/token - estrai
accountIddall’access token e archivia{ access, refresh, expires, accountId }
openclaw onboard → scelta auth openai-codex.
Refresh + scadenza
I profili archiviano un timestampexpires.
A runtime:
- se
expiresè nel futuro → usa l’access token archiviato - se è scaduto → esegui il refresh (con lock del file) e sovrascrivi le credenziali archiviate
- eccezione: le credenziali CLI esterne riutilizzate restano gestite esternamente; OpenClaw rilegge l’archivio auth della CLI e non consuma mai direttamente il refresh token copiato
Più account (profili) + instradamento
Due modelli:1) Preferito: agenti separati
Se vuoi che “personale” e “lavoro” non interagiscano mai, usa agenti isolati (sessioni + credenziali + workspace separati):2) Avanzato: più profili in un solo agente
auth-profiles.json supporta più ID profilo per lo stesso provider.
Scegli quale profilo usare:
- globalmente tramite l’ordinamento nella configurazione (
auth.order) - per sessione tramite
/model ...@<profileId>
/model Opus@anthropic:work
openclaw channels list --json(mostraauth[])
- /concepts/model-failover (regole di rotazione + cooldown)
- /tools/slash-commands (superficie dei comandi)
Correlati
- Autenticazione — panoramica dell’autenticazione dei provider di modelli
- Secrets — archiviazione delle credenziali e SecretRef
- Riferimento configurazione — chiavi di configurazione auth