OAuth
OpenClaw prend en charge « l’authentification par abonnement » via OAuth pour les fournisseurs qui la proposent (notamment OpenAI Codex (ChatGPT OAuth)). Pour les abonnements Anthropic, une nouvelle configuration doit utiliser le chemin de connexion local Claude CLI sur l’hôte de la passerelle, mais Anthropic distingue l’utilisation directe de Claude Code du chemin de réutilisation d’OpenClaw. La documentation publique d’Anthropic sur Claude Code indique que l’utilisation directe de Claude Code reste dans les limites de l’abonnement Claude. Séparément, Anthropic a informé les utilisateurs d’OpenClaw le 4 avril 2026 à 12:00 PM PT / 8:00 PM BST qu’OpenClaw est compté comme un harnais tiers et requiert désormais Extra Usage pour ce trafic. OpenAI Codex OAuth est explicitement pris en charge pour une utilisation dans des outils externes comme OpenClaw. Cette page explique : Pour Anthropic en production, l’authentification par clé API est la voie recommandée la plus sûre.- comment fonctionne l’échange de jetons OAuth (PKCE)
- où les jetons sont stockés (et pourquoi)
- comment gérer plusieurs comptes (profils + surcharges par session)
Le puits à jetons (pourquoi il existe)
Les fournisseurs OAuth émettent couramment un nouveau jeton d’actualisation pendant les flux de connexion/actualisation. Certains fournisseurs (ou clients OAuth) peuvent invalider les anciens jetons d’actualisation lorsqu’un nouveau est émis pour le même utilisateur/la même application. Symptôme pratique :- vous vous connectez via OpenClaw et via Claude Code / Codex CLI → l’un des deux se retrouve ensuite « déconnecté » de manière aléatoire
auth-profiles.json comme un puits à jetons :
- le runtime lit les identifiants depuis un seul endroit
- nous pouvons conserver plusieurs profils et les router de manière déterministe
- lorsque des identifiants sont réutilisés depuis une CLI externe comme Codex CLI, OpenClaw les reflète avec leur provenance et relit cette source externe au lieu de faire lui-même tourner le jeton d’actualisation
Stockage (où vivent les jetons)
Les secrets sont stockés par agent :- Profils d’authentification (OAuth + clés API + refs facultatives au niveau valeur) :
~/.openclaw/agents/<agentId>/agent/auth-profiles.json - Fichier de compatibilité hérité :
~/.openclaw/agents/<agentId>/agent/auth.json(les entrées statiquesapi_keysont nettoyées lorsqu’elles sont découvertes)
~/.openclaw/credentials/oauth.json(importé dansauth-profiles.jsonlors de la première utilisation)
$OPENCLAW_STATE_DIR (surcharge du répertoire d’état). Référence complète : /gateway/configuration
Pour les refs de secrets statiques et le comportement d’activation des instantanés à l’exécution, voir Gestion des secrets.
Compatibilité héritée avec les jetons Anthropic
OpenClaw expose désormais de nouveau le setup-token Anthropic comme chemin hérité/manuel. L’avis de facturation spécifique à OpenClaw d’Anthropic s’applique toujours à ce chemin, donc utilisez-le en partant du principe qu’Anthropic exige Extra Usage pour le trafic Claude-login piloté par OpenClaw.Migration Anthropic Claude CLI
Si Claude CLI est déjà installé et connecté sur l’hôte de la passerelle, vous pouvez basculer la sélection du modèle Anthropic vers le backend CLI local. C’est un chemin OpenClaw pris en charge lorsque vous voulez réutiliser une connexion Claude CLI locale sur le même hôte. Prérequis :- le binaire
claudeest installé sur l’hôte de la passerelle - Claude CLI y est déjà authentifié via
claude auth login
anthropic/... vers claude-cli/..., réécrit les fallbacks Anthropic Claude correspondants, et ajoute des entrées de liste d’autorisation claude-cli/... correspondantes sous agents.defaults.models.
Vérifier :
Échange OAuth (comment fonctionne la connexion)
Les flux de connexion interactifs d’OpenClaw sont implémentés dans@mariozechner/pi-ai et câblés dans les assistants/commandes.
Anthropic Claude CLI
Forme du flux : Chemin Claude CLI :- connectez-vous avec
claude auth loginsur l’hôte de la passerelle - exécutez
openclaw models auth login --provider anthropic --method cli --set-default - ne stockez aucun nouveau profil d’authentification ; basculez la sélection de modèle vers
claude-cli/... - conservez les profils d’authentification Anthropic existants pour un rollback
claude lui-même. OpenClaw peut réutiliser cette connexion locale, mais
Anthropic classe séparément le chemin contrôlé par OpenClaw comme usage de harnais tiers à des fins de facturation.
Chemin de l’assistant interactif :
openclaw onboard/openclaw configure→ choix d’authentificationanthropic-cli
OpenAI Codex (ChatGPT OAuth)
OpenAI Codex OAuth est explicitement pris en charge pour une utilisation en dehors de la Codex CLI, y compris dans les workflows OpenClaw. Forme du flux (PKCE) :- générer le verifier/challenge PKCE + un
statealéatoire - ouvrir
https://auth.openai.com/oauth/authorize?... - essayer de capturer le callback sur
http://127.0.0.1:1455/auth/callback - si le callback ne peut pas se binder (ou si vous êtes à distance/sans interface), coller l’URL ou le code de redirection
- échanger sur
https://auth.openai.com/oauth/token - extraire
accountIddu jeton d’accès et stocker{ access, refresh, expires, accountId }
openclaw onboard → choix d’authentification openai-codex.
Actualisation + expiration
Les profils stockent un horodatageexpires.
À l’exécution :
- si
expiresest dans le futur → utiliser le jeton d’accès stocké - s’il a expiré → actualiser (sous verrou de fichier) et écraser les identifiants stockés
- exception : les identifiants réutilisés d’une CLI externe restent gérés en externe ; OpenClaw relit le magasin d’authentification de la CLI et n’utilise jamais lui-même le jeton d’actualisation copié
Comptes multiples (profils) + routage
Deux modèles :1) Préféré : agents séparés
Si vous voulez que « personnel » et « travail » n’interagissent jamais, utilisez des agents isolés (sessions + identifiants + espace de travail séparés) :2) Avancé : plusieurs profils dans un seul agent
auth-profiles.json prend en charge plusieurs identifiants de profil pour le même fournisseur.
Choisissez quel profil est utilisé :
- globalement via l’ordre de configuration (
auth.order) - par session via
/model ...@<profileId>
/model Opus@anthropic:work
openclaw channels list --json(afficheauth[])
- /concepts/model-failover (règles de rotation + cooldown)
- /tools/slash-commands (surface de commandes)
Lié
- Authentification — vue d’ensemble de l’authentification des fournisseurs de modèles
- Secrets — stockage des identifiants et SecretRef
- Référence de configuration — clés de configuration d’authentification