Claude Code : abonnement ou clé API ?
Votre abonnement Claude et votre clé API Anthropic sont deux comptes facturés séparément. Vérifiez l’identité utilisée par Claude Code et changez-la.
Quelle identité d’authentification votre session Claude Code utilise-t-elle ?
Une connexion à Claude Code fonctionne de deux façons. Vous vous connectez avec un compte d’abonnement Claude sur claude.ai, ou vous vous authentifiez auprès d’une organisation Anthropic Console, qui impute chaque token au solde API (application programming interface) de cette organisation. Exécutez /status dans une session en cours pour voir laquelle est active : l’onglet Status affiche une ligne Login method correspondant au compte utilisé pour la connexion, et une ligne API key supplémentaire apparaît lorsqu’une clé API fournit l’identité d’authentification.
La question de savoir si l’outil est couvert par votre offre est distincte. La réponse se trouve dans l’inclusion de Claude Code dans un abonnement Claude Pro, tandis que le fonctionnement des clés avec l’API Claude est expliqué dans le fonctionnement de l’authentification de l’API Claude. La suite traite du point que ces deux ressources ne couvrent pas : l’identité d’authentification effectivement choisie par une session et la façon de la modifier.
Le comportement décrit ci-dessous provient de la documentation d’Anthropic sur l’authentification de Claude Code, consultée le 31 August 2026. Claude Code publie fréquemment de nouvelles versions et plusieurs de ces comportements nécessitent une version minimale. Exécutez donc claude --version avant de conclure que votre machine est défaillante.
Deux comptes peuvent utiliser la même adresse e-mail
Un compte claude.ai et un compte Claude Console sur platform.claude.com sont deux comptes différents. Ils peuvent utiliser la même adresse e-mail tout en restant deux connexions distinctes, avec des soldes séparés et dans des organisations différentes. La création de l’un ne crée pas l’autre. Souscrire à un forfait Max n’ajoute aucun crédit à une organisation Console, et créditer une organisation Console n’ajoute rien à votre forfait.
Les soldes diffèrent parce que les modèles de facturation sont différents. Une connexion par abonnement utilise le quota de votre forfait. Ce quota est réinitialisé selon une fenêtre glissante de cinq heures et une fenêtre hebdomadaire, et il est partagé avec Claude sur le Web. Un identifiant Console est facturé par token à l’organisation. Les chiffres de référence figurent sur la page d’utilisation de Console. Les conséquences de cette différence pour un travail réel sont expliquées dans la facturation au token par rapport au paiement d’un abonnement.
Un type de compte ne permet pas du tout d’utiliser le mode de connexion par abonnement. Anthropic indique que vous pouvez vous connecter avec un abonnement Pro ou Max, une licence Claude for Teams ou Enterprise, un compte Claude Console ou un fournisseur cloud. Un compte claude.ai gratuit ne figure pas dans cette liste. Un utilisateur du forfait gratuit ne dispose donc d’aucun identifiant d’abonnement pour se connecter, et ce que le niveau gratuit de Claude inclut ou non ne s’étend pas à l’outil en ligne de commande. La seule autre possibilité est d’utiliser une organisation Console avec du crédit API. Il s’agit d’un compte payant d’une autre nature.
Parcours 1 : se connecter avec votre abonnement Claude
Exécutez claude dans un répertoire de projet. Lors du premier lancement, une fenêtre de navigateur s’ouvre pour vous permettre de vous connecter avec le compte claude.ai associé à votre abonnement.
claudeDeux éléments se comportent différemment sur un serveur. Si le navigateur ne s’ouvre pas, appuyez sur c pour copier l’URL de connexion dans le presse-papiers, puis collez-la dans un navigateur sur votre propre machine. Si ce navigateur affiche ensuite un code de connexion au lieu de vous rediriger vers le terminal, collez le code à l’invite qui le demande. Ce deuxième cas est normal avec SSH (secure shell), dans WSL2 et dans les conteneurs, car le navigateur ne peut pas atteindre le serveur de callback local démarré par Claude Code sur la machine distante.
Une fois la connexion terminée, vérifiez-la au lieu de la supposer réussie. Démarrez une session et exécutez /status. L’onglet Status indique la méthode de connexion, ainsi que l’organisation et l’adresse e-mail enregistrées. /login relance le processus avec un autre compte, tandis que /logout supprime les identifiants enregistrés. La déconnexion réinitialise également l’état de la configuration initiale. Le prochain claude vous guidera donc à nouveau dans l’onboarding.
Il est important de savoir où cet identifiant est stocké lorsque vous reconstruisez un serveur ou que vous le remettez à quelqu’un :
- Linux :
~/.claude/.credentials.json, avec le mode de fichier0600. - macOS : le trousseau Keychain chiffré. Lorsque Keychain refuse l’écriture, ce qui se produit lorsqu’il est verrouillé dans une session SSH, Claude Code utilise le même fichier
0600en solution de repli. - Windows :
%USERPROFILE%\.claude\.credentials.json, avec un accès limité à votre utilisateur par les propres contrôles d’accès du répertoire de profil. - Toute plateforme sur laquelle
CLAUDE_CONFIG_DIRest défini : le fichier est déplacé sous ce répertoire, et l’entrée macOS Keychain lui est associée. Une session démarrée avec un autreCLAUDE_CONFIG_DIRutilise donc un autre identifiant.
Claude Code gère ce fichier avec /login et /logout. Le modifier manuellement n’est pas une méthode prise en charge pour changer de compte.
Chemin 2 : s’authentifier auprès d’une organisation Console
L’accès à Console commence avec un administrateur. Celui-ci vous invite depuis Console en passant par Settings, puis Members et enfin Invite. Il vous attribue également un rôle : le rôle Claude Code permet de créer uniquement des clés API Claude Code, tandis que le rôle Developer permet de créer n’importe quelle clé. Vous sélectionnez ensuite le compte Anthropic Console à l’invite /login.
Depuis Claude Code v2.1.242, Console propose deux méthodes d’authentification, qui stockent des éléments différents. Si vous vous connectez avec votre compte Console, Claude Code conserve le jeton OAuth (autorisation ouverte) issu de cette connexion dans le navigateur et l’enregistre comme profil Anthropic, sans créer de clé API. Claude Code actualise automatiquement cette session. Si cette actualisation échoue, les requêtes échouent jusqu’à ce que vous vous reconnectiez. Si vous créez une clé API, que l’invite qualifie de legacy, Console génère une clé et Claude Code l’enregistre avec vos autres identifiants. Une clé statique n’est jamais actualisée. Elle continue donc de fonctionner jusqu’à sa révocation. C’est utile sur un serveur de build, mais cela représente un risque sur un ordinateur portable.
Supprimez la variable ANTHROPIC_API_KEY avant de commencer une connexion Console sans clé. Si cette variable est définie, Claude Code ignore entièrement l’invite de connexion et vous demande d’approuver la clé qu’il a trouvée.
Vous n’avez pas toujours le choix. Claude Code crée une clé sans vous le demander lorsque la session utilise un fournisseur cloud, lorsqu’un fichier de paramètres définit forceLoginOrgUUID ou force forceLoginMethod à "claudeai" ou "console", ou lorsqu’une source de paramètres gérés existe sur la machine et que Claude Code ne peut pas la lire. Ces choix relèvent de l’administrateur. Si l’option sans clé ne s’affiche jamais, demandez conseil à la personne qui administre le parc. /status affiche également une ligne Setting sources qui indique le nom de chaque fichier de paramètres chargé par la session. Cette ligne indique aussi la source gérée lorsqu’elle s’applique à votre session.
La première fois que vous authentifiez Claude Code auprès d’une organisation Console, Console crée pour cette organisation un espace de travail nommé « Claude Code ». Cet espace sert à regrouper le suivi des dépenses de Claude Code. Vous ne pouvez pas y créer de clés API.
Pourquoi ANTHROPIC_API_KEY est prioritaire après votre connexion
Claude Code ne vous demande jamais quel identifiant vous préférez utiliser. Il vérifie les sources dans un ordre fixe et utilise la première qu’il trouve. D’après la documentation disponible en août 2026, cet ordre est le suivant :
- Les identifiants du fournisseur cloud, lorsque
CLAUDE_CODE_USE_BEDROCK,CLAUDE_CODE_USE_VERTEXouCLAUDE_CODE_USE_FOUNDRYest défini. ANTHROPIC_AUTH_TOKEN, envoyé dans un en-têteAuthorization: Bearer, pour les gateways qui s’authentifient avec des bearer tokens.ANTHROPIC_API_KEY, envoyé dans l’en-têteX-Api-Key.- La sortie d’un script
apiKeyHelperindiqué dans un fichier de settings. CLAUDE_CODE_OAUTH_TOKEN, le token longue durée provenant declaude setup-token.- Les identifiants du profil Anthropic et de la fédération.
- L’identifiant d’abonnement écrit par
/login.
Votre connexion à l’abonnement est examinée en dernier. Ainsi, un ANTHROPIC_API_KEY exporté n’importe où dans l’environnement du processus est prioritaire sur le compte avec lequel vous vous êtes connecté. La session facture alors une organisation Console, alors que vous pensez utiliser votre abonnement. Rien n’est cassé. L’ordre appliqué correspond à la documentation, ce qui explique qu’aucun avertissement ne s’affiche.
Deux détails rendent ce problème difficile à repérer. Dans une session interactive, Claude Code vous demande une fois s’il doit utiliser la clé trouvée et mémorise votre réponse. Un choix effectué il y a un mois peut donc encore s’appliquer aujourd’hui. En mode non interactif avec -p, aucune invite ne s’affiche et la clé est toujours utilisée lorsqu’elle est présente. -p correspond au mode utilisé par une tâche cron ou une étape de CI (continuous integration). C’est donc précisément dans un job sans supervision que le mauvais identifiant peut rester le plus longtemps inaperçu.
Vous pouvez effectuer un contrôle visuel rapide depuis la session. Lorsque ANTHROPIC_API_KEY est défini, /config affiche un bouton « Use custom API key ». Ce bouton n’existe que lorsque la variable est définie. Son absence signifie donc que l’environnement est propre.
Localiser la clé résiduelle sur un serveur
Une clé exportée peut se trouver à d’autres endroits que dans un profil shell :
~/.bashrc,~/.bash_profile,~/.profileou~/.zshrc, lus par chaque nouveau shell de connexion.- Une unité systemd, via
Environment=ouEnvironmentFile=, pour tout ce que vous exécutez comme service. - Le serveur tmux, qui conserve une copie de l’environnement avec lequel il a été démarré. Un panneau ouvert aujourd’hui peut hériter d’une variable que vous avez supprimée de votre profil la semaine dernière, car le serveur fonctionnait déjà avant la modification.
- Une image de conteneur ou une définition de tâche CI, où la variable est définie en dehors des fichiers accessibles depuis le shell.
- Le bloc
envd’un fichier de paramètres Claude Code, qui est une clé de paramètres standard et suit l’ordre de priorité habituel des paramètres.
Vérifiez ces emplacements avant toute autre intervention :
[ -n "$ANTHROPIC_API_KEY" ] && echo "ANTHROPIC_API_KEY is set" || echo "not set"
env | grep -E '^(ANTHROPIC_|CLAUDE_CODE_)' | cut -d= -f1
grep -n 'ANTHROPIC_API_KEY' ~/.bashrc ~/.bash_profile ~/.profile ~/.zshrc 2>/dev/null
tmux show-environment 2>/dev/null | grep ANTHROPIC
grep -n 'ANTHROPIC_API_KEY\|apiKeyHelper' ~/.claude/settings.json .claude/settings.json .claude/settings.local.json 2>/dev/nullLa deuxième commande utilise volontairement un pipe vers cut. Elle affiche ainsi les noms des variables sans afficher leurs valeurs secrètes sur un écran que vous partagez ou enregistrez. La première commande répond à la question : si elle indique que la variable est définie, le prochain claude que vous démarrerez depuis ce shell utilisera cette clé. Si les cinq commandes n’affichent rien, aucun identifiant d’environnement n’existe. Une session démarrée ici utilisera donc votre identifiant /login.
Ajoutez systemctl cat your-unit.service | grep -i environment pour tout service qui exécute Claude Code, car une unité définit son propre environnement et ne lit jamais votre profil shell.
Changer de session d’un identifiant à l’autre
Pour revenir à votre abonnement :
unset ANTHROPIC_API_KEY
[ -n "$ANTHROPIC_API_KEY" ] && echo "still set" || echo "clear"
claudeAttendez clear, puis exécutez /status dans la nouvelle session et vérifiez que la ligne API key a disparu. Supprimer la variable de votre shell ne change rien pour un processus Claude Code déjà en cours, car un processus conserve l’environnement avec lequel il a été lancé. Redémarrez la session.
Supprimez ensuite l’export du fichier qui le définit. Sinon, le prochain shell de connexion le rétablira. Dans tmux, tmux set-environment -u ANTHROPIC_API_KEY le supprime pour les panes ouverts après cette commande dans la session. Les panes déjà ouverts conservent leur propre copie.
Pour faire l’opération inverse, définissez ANTHROPIC_API_KEY dans l’environnement, ou exécutez /login et sélectionnez le compte Console. Pour supprimer complètement une connexion enregistrée, exécutez /logout. Après une connexion Console sans clé, /logout supprime et révoque l’identifiant créé par cette connexion.
Si /status ne correspond toujours pas à ce que vous attendez, exécutez claude doctor. Cette commande liste les entrées de configuration que Claude Code a rejetées. Elle permet notamment de détecter un fichier de configuration impossible à analyser et qui n’a donc jamais été appliqué.
Authentification sans navigateur
claude setup-token ouvre le même flux d’autorisation dans le navigateur que /login et affiche un token OAuth valide pendant un an dans le terminal.
claude setup-tokenLe token n’est enregistré nulle part. Copiez-le dès qu’il apparaît. Définissez-le comme CLAUDE_CODE_OAUTH_TOKEN sur la machine qui en a besoin. Le token s’authentifie auprès de votre abonnement. Il faut donc disposer d’un forfait Pro, Max, Team ou Enterprise. Il peut uniquement effectuer des requêtes de modèle. Le mode bare ne le lit pas. Un script qui transmet --bare a donc besoin de ANTHROPIC_API_KEY ou d’un apiKeyHelper à la place.
L’ordre de priorité s’applique également ici. Si CLAUDE_CODE_OAUTH_TOKEN se trouve dans un profil shell, l’exécution de /login bascule la session courante vers le nouveau login. Chaque nouvelle session relit ensuite la variable jusqu’à sa suppression.
Si votre organisation exécute l’inférence via Amazon Bedrock, Google Cloud ou Microsoft Foundry, ces identifiants sont prioritaires et aucun login dans le navigateur n’a lieu. Cette configuration est traitée séparément dans exécuter Claude Code avec Bedrock ou Vertex.
Une session longue durée sur un VPS (virtual private server) concentre ce type de problème. Le shell qui l’a démarrée peut avoir été configuré plusieurs mois auparavant et ne jamais avoir été redémarré depuis. Exécuter Claude Code sur un VPS dans tmux traite la gestion de la session dans cette configuration.
Vérifier ce que chaque identifiant a réellement consommé
Avec un identifiant de connexion à un abonnement, /usage affiche les barres d’utilisation de votre offre ainsi que le détail de ce qui les a consommées. Le montant en dollars de son bloc Session est calculé localement à partir du nombre de tokens et du tarif catalogue. Considérez-le donc comme une estimation destinée aux utilisateurs de l’API, et non comme une facture. Les abonnés doivent consulter les barres, pas le montant en dollars.
Avec un identifiant Console, les informations importantes se trouvent dans la Console : la page d’utilisation pour les dépenses et le tableau de bord Claude Code pour les chiffres par membre. Rien de ce qui s’affiche dans votre terminal ne fait foi pour cette facturation.
Si les barres de l’offre ne bougent jamais pendant votre travail, un identifiant défini dans l’environnement est prioritaire. Ce symptôme est le signe le plus fiable que le mauvais identifiant est utilisé, et suivre la consommation d’une session Claude Code explique plus en détail comment la mesurer. Si les barres bougent puis s’arrêtent, vous avez atteint une limite de l’offre. le fonctionnement des limites d’utilisation de Claude et des fenêtres de réinitialisation l’explique.
Modes d’échec et points à vérifier
Tout fonctionne, mais l’utilisation de votre forfait ne change jamais. Un identifiant d’environnement est actif. /status affiche une ligne API key, et la vérification du shell ci-dessus affiche la variable.
Les requêtes échouent alors que votre abonnement est valide. Une clé appartenant à une organisation Console désactivée ou expirée prend le dessus sur votre session. Exécutez unset ANTHROPIC_API_KEY, démarrez une nouvelle session, puis vérifiez de nouveau /status. Si l’échec mentionne une clé API non valide, corriger l’erreur de clé API non valide de Claude Code décrit ce cas en détail, notamment pourquoi réexécuter /login ne suffit pas à la supprimer.
Un avertissement au démarrage indique que votre session va expirer. Les versions récentes avertissent lorsqu’un identifiant /login arrive à expiration dans moins de trois jours. /status affiche alors la ligne de connexion comme expirée, avec l’organisation et l’adresse e-mail enregistrées. Exécutez /login pour renouveler la session. L’avertissement ne bloque jamais une requête. Il est donc facile de l’ignorer jusqu’à ce qu’une session sans surveillance cesse de progresser.
Un apiKeyHelper est lent ou échoue. Claude Code exécute de nouveau l’helper toutes les cinq minutes par défaut. Vous pouvez modifier cette fréquence avec CLAUDE_CODE_API_KEY_HELPER_TTL_MS. Un avis s’affiche dans la barre d’invite lorsqu’une exécution dure plus de dix secondes. Un helper qui ne renvoie aucune clé, qu’il ait rencontré une erreur ou expiré, provoque l’échec des requêtes dans les trois tentatives.
Le bon identifiant, mais la mauvaise organisation. Une même adresse e-mail peut appartenir à deux organisations. /status indique l’organisation dans laquelle l’authentification a été effectuée. Consultez donc cette ligne au lieu de supposer dans quelle organisation vous êtes connecté.
FAQ
Comment savoir quel compte Claude Code utilise actuellement ?
Exécutez /status dans la session. L’onglet Status affiche une ligne Login method pour le compte avec lequel vous vous êtes connecté, et ajoute une ligne API key lorsqu’une clé API fournit l’identifiant. Une ligne Profile remplace la ligne de connexion lorsqu’un profil Anthropic ou un identifiant de fédération est sélectionné. En dehors de la session, vérifiez si ANTHROPIC_API_KEY est défini dans votre shell pour savoir si un identifiant d’environnement existe et prendrait le pas sur votre connexion.
Pourquoi mon abonnement Claude Pro ou Max est-il ignoré ?
Parce qu’un identifiant d’environnement prend le pas sur l’abonnement. Claude Code utilise le premier identifiant trouvé dans un ordre fixe, et l’identifiant d’abonnement /login arrive en dernier, après les variables du fournisseur cloud, ANTHROPIC_AUTH_TOKEN, ANTHROPIC_API_KEY, apiKeyHelper et CLAUDE_CODE_OAUTH_TOKEN. Exécutez unset ANTHROPIC_API_KEY, démarrez une nouvelle session et vérifiez avec /status. Supprimez ensuite l’export du profil du shell, de l’unité systemd, de l’environnement tmux ou de la définition du conteneur qui l’a défini. Sinon, il réapparaîtra à la prochaine ouverture d’un shell de connexion.
Puis-je utiliser Claude Code avec un compte Claude gratuit ?
Non. Les types de comptes qu’Anthropic accepte pour la connexion sont un abonnement Pro ou Max, un accès Claude for Teams ou Enterprise, un compte Claude Console et un fournisseur cloud. Un compte claude.ai gratuit n’en fait pas partie. Claude Code ne peut donc pas y stocker d’identifiant d’abonnement. L’alternative payante à un abonnement est une organisation Claude Console avec un crédit API, facturé par token. Il s’agit d’un compte distinct, même s’il utilise la même adresse e-mail.
Mon compte claude.ai et mon compte Console partagent-ils le même solde ?
Non. Il s’agit de comptes distincts avec une facturation séparée, même s’ils utilisent la même adresse e-mail. L’utilisation de l’abonnement est déduite du quota de votre formule. Ce quota est partagé avec Claude sur le Web et se réinitialise selon une fenêtre glissante de cinq heures et une fenêtre hebdomadaire. L’utilisation de Console est facturée par token à l’organisation et apparaît sur la page d’utilisation de Console. Ajouter du crédit à l’un des comptes ne change rien pour l’autre.
Comment authentifier Claude Code sur un serveur headless ?
Deux options sont disponibles. Exécutez claude via SSH et effectuez la connexion dans le navigateur de votre propre machine : appuyez sur c pour copier l’URL, connectez-vous, puis collez le code dans le terminal si le navigateur en affiche un au lieu de rediriger automatiquement. Vous pouvez aussi exécuter claude setup-token sur une machine équipée d’un navigateur, copier le token d’une durée de validité d’un an affiché, puis le définir comme CLAUDE_CODE_OAUTH_TOKEN sur le serveur. Ce token nécessite une formule Pro, Max, Team ou Enterprise et peut uniquement envoyer des requêtes aux modèles. Un script utilisant --bare doit donc utiliser une clé API ou un apiKeyHelper à la place.