Toutes les pages
Sur cette page

Claude API Ajouté en 0.9.18

Le fournisseur Claude API fait tourner les chats Claude sur une clé d’API de la Claude Console plutôt que sur votre abonnement Claude. L’agent est le même : Claude Code sur la machine du relais, avec les mêmes outils, modes, cartes de question, subagents, le même pilotage et les mêmes tâches de fond. Seule la facture change. Les turns sont facturés à l’organisation Console à laquelle appartient la clé.

Claude API se place à côté de votre abonnement, pas à sa place. Vous pouvez démarrer un chat sur la clé, en démarrer un sur l’abonnement, et faire passer un chat Claude de l’un à l’autre entre deux turns, en gardant sa session. Un plafond mensuel facultatif arrête les dépenses sur la clé dès que l’estimation de ce relais l’atteint. Le tableau de tous les fournisseurs se trouve dans Les fournisseurs en un coup d’œil.

La clé d’API #

Il vous faut une clé d’API de la Claude Console, disponible sur la page API keys (Clés d’API) de platform.claude.com. Créez-la dans un workspace ; voir Limites. Ouvrez Settings → Providers → Claude API (Réglages → Fournisseurs → Claude API), le sous-onglet qui suit Claude.

Contrôle Par défaut Ce qu’il fait
Enable Claude API for New Chat and the billing switch (Activer Claude API dans Nouveau chat et le sélecteur de facturation) activé dès qu’une clé est enregistrée Propose Claude API dans New Chat (Nouveau chat), et le sélecteur de facturation dans les chats Claude. Il ne peut pas être coché avant qu’une clé soit enregistrée, et il s’applique dès que vous le basculez.
Le champ de la clé (Claude Console API key…) vide Votre clé. Une fois une clé enregistrée, le champ affiche Saved API key (enter to replace) (Clé d’API enregistrée, saisir pour la remplacer). Laissez-le vide pour garder la clé enregistrée.
Default model (Modèle par défaut) le modèle par défaut de l’onglet Claude si la clé le propose, sinon le premier Sonnet Le modèle avec lequel démarre un nouveau chat Claude API. Voir Modèles.
Monthly cap in US dollars (optional) (Plafond mensuel en dollars US, facultatif) vide, No cap (Sans limite) Arrête les nouveaux turns sur la clé dès que l’estimation du mois atteint ce montant. Voir Le plafond mensuel.
Save Claude API settings (Enregistrer les réglages Claude API) Enregistre les champs ci-dessus. Le premier enregistrement d’une clé active aussi Claude API.
Refresh models (Actualiser les modèles) Redemande à Anthropic quels modèles la clé peut utiliser.
Remove saved key (Supprimer la clé enregistrée) Demande Remove the saved Claude API key?, puis supprime la clé, la liste des modèles de la clé et votre choix dans Select Models (Sélectionner des modèles), et désactive Claude API.
Claude tab (Onglet Claude) Ouvre le sous-onglet Claude, qui contient les réglages communs aux deux. Voir En commun avec Claude.

La ligne sous les champs indique où vous en êtes :

État Signification
No API key saved. Claude chats run on the relay host's Claude login. Aucune clé n’est enregistrée.
API key saved, Claude API is off. Switch it on to offer it in New Chat. Une clé est enregistrée et l’interrupteur est désactivé.
API key saved. Claude API is on: pick it in New Chat, or switch a Claude chat to the API key. Prêt.
API key saved, but Anthropic refused it: … Anthropic n’a pas accepté la clé lors de son enregistrement ou de l’actualisation de ses modèles. La clé reste enregistrée ; la ligne reste jusqu’à ce qu’un enregistrement ou Refresh models aboutisse.

Ensuite, démarrez une conversation comme d’habitude : dans New Chat, choisissez Claude API. Voir Démarrer une conversation. Un chat Claude API porte une étiquette Claude API dorée, et la note de verrouillage de la zone de saisie indique 🔒 Session locked to Claude API models.

Quelles clés sont acceptées #

  • Une clé d’API Console, c’est-à-dire une clé qui commence par sk-ant-, de 8 à 512 caractères sans espace.
  • Les tokens de connexion et de session Claude, ainsi que les clés Admin, sont refusés à l’enregistrement, avec un message qui nomme ce qui a été collé, par exemple This is an Anthropic Admin API key (it manages an organisation and cannot run models), not an API key. Une clé d’un autre éditeur reçoit This does not look like a Claude API key. Aucun message ne cite la clé.
  • On voit si Anthropic accepte la clé quand le relais demande ses modèles (voir Modèles). Une clé refusée reste enregistrée, et la ligne d’état dit pourquoi.

Enregistrer, changer et supprimer la clé #

  • Enregistrer une autre clé efface la liste des modèles de la clé et arrête les workers Claude API en cours, y compris un worker au milieu d’un turn : changez donc la clé entre deux turns. Le message suivant les redémarre avec la nouvelle clé.
  • La suppression de la clé est refusée tant qu’un chat Claude API a envoyé un message ou en a un en file : Cannot remove the Claude API key while N Claude API conversation(s) still exist. Switch Claude API off for new conversations instead. Elle est refusée aussi tant qu’un worker tourne encore sur la clé.
  • Supprimer la clé, ou désactiver Claude API, renvoie vers Copilot les chats Claude API qui n’ont pas encore envoyé de message. Un chat sur la clé qui a déjà démarré garde son sélecteur de facturation, vous pouvez donc le passer sur l’abonnement ; ses turns sur la clé ne tournent pas tant que Claude API est désactivé.

Basculer un chat entre l’abonnement et la clé #

Un chat Claude, quelle que soit sa facturation, a un sélecteur sous la note de verrouillage : Subscription | API key (Abonnement | clé d’API). Il s’affiche tant que Claude API est activé avec une clé enregistrée. Un chat qui est sur la clé la garde après la désactivation de Claude API, pour pouvoir revenir.

  • À partir du turn suivant. Un turn en cours se termine sur la facturation avec laquelle il a démarré. Les messages déjà en file tournent sur la nouvelle.
  • La session reste. Le relais redémarre le Claude Code du chat entre deux turns et reprend la même session. Il attend la fin du turn en cours, d’une question ouverte, d’un compactage ou des tâches de fond, et le sélecteur indique ce qu’il attend, par exemple Moves to the API key after the running turn.
  • Le premier turn sur la clé coûte plus cher. Il n’a pas de cache de prompt. Le sélecteur le signale : The first turn on the API key has no prompt cache and costs more.
  • Le fil de la conversation note chaque bascule, par exemple 💳 Billing: this chat runs on the Claude API key from the next turn., avec (switched by an agent) ou (switched at the usage limit) le cas échéant.
  • Quand un côté ne peut pas être choisi, son bouton est grisé et son info-bulle dit pourquoi. La bascule est refusée quand Claude API n’a pas de clé ou est désactivé, quand le plafond du mois est atteint (le sélecteur indique alors This month's Claude API cap is reached: the chat stays on the subscription.), quand Claude est désactivé pour un retour vers l’abonnement (CLAUDE_NOT_CONFIGURED), ou quand le modèle du chat ne figure pas dans la liste des modèles de l’autre côté.
  • Une page en retard. Un message envoyé depuis une page qui affichait encore l’ancienne facturation n’est pas envoyé sur la nouvelle : son texte retourne dans le brouillon.

Rien d’autre ne fait basculer un chat. Il y a trois façons de le faire : le sélecteur, la bannière de limite d’utilisation et le send d’un agent :

  • À la limite d’utilisation. Quand un chat sur abonnement est mis en pause à la limite d’utilisation Claude, la bannière propose Switch this chat to API key (Passer ce chat sur la clé d’API) si le chat peut basculer. Le turn en pause continue alors aussitôt sur la clé. Au plafond, la bannière indique No switch to the API key: this month's Claude API cap is reached.
  • Par un agent. Le send de relay_tool accepte provider (claude ou claude-api) pour une session Claude et la fait basculer en même temps que le message. La carte d’approbation indique alors Switches billing to API key.

Il n’y a pas de réglage de facturation par dossier : chaque chat a la sienne, choisie dans New Chat et changée avec le sélecteur. Ce qu’un dossier définit, son attribution des commits, s’applique aux deux facturations.

Le plafond mensuel #

Monthly cap in US dollars (optional) limite ce que ce relais dépense sur la clé au cours d’un mois civil, d’après sa propre estimation. Montants supérieurs à 0, jusqu’à 1 000 000, avec au plus deux décimales ; laissez le champ vide pour n’avoir aucun plafond.

Dès que l’estimation du mois atteint le plafond :

  • Un nouveau turn sur la clé ne tourne pas. Le chat reçoit une note qui se termine par Error code: relay.claude-api-cap-reached. et les boutons Claude API settings (Réglages Claude API), qui ouvre l’onglet au champ du plafond, et Switch to subscription (Passer à l’abonnement).
  • Une bascule vers la clé est refusée, qu’elle vienne du sélecteur, de la bannière de limite d’utilisation ou d’un agent.
  • New Chat refuse un chat Claude API. La boîte de dialogue reste ouverte avec la raison, Claude API settings, et Start on subscription (Démarrer sur l’abonnement), qui démarre le même chat sur Claude à la place (proposé tant que Claude est activé). Sur un téléphone, la boîte de dialogue défile jusqu’à lui.
  • Les agents sont refusés aussi. Le send d’un agent vers une session sur la clé, et son create_session pour un chat Claude API, sont refusés : le relais répond 409 CLAUDE_API_CAP_REACHED, et rien n’est mis en file ni créé.
  • Un turn que Claude Code démarre de lui-même sur la clé, quand une tâche de fond rend compte, reçoit la note, et les tâches de fond du chat sont arrêtées, puisque chaque compte rendu démarrerait un autre turn de ce genre. Sa première requête peut déjà être facturée. La note n’apparaît qu’une fois par chat, jusqu’à ce que le plafond soit levé, qu’un réglage Claude API soit enregistré ou qu’un turn du chat tourne de nouveau sur la clé.

Un turn déjà en cours se termine. Le coût d’un turn est comptabilisé à sa fin, si bien que des turns en cours peuvent faire dépasser le plafond au mois. Le plafond ne compte que la partie de l’estimation qui a un prix (voir Limites). Tant qu’un plafond est défini et que les dépenses ne peuvent pas être lues, le plafond est considéré comme atteint. Le mois est celui du relais : il repart de zéro à minuit le 1er, dans le fuseau horaire du relais. Les limites de dépenses définies dans la Console s’appliquent en plus.

Les mêmes note et boutons apparaissent quand Claude API n’a pas de clé (relay.claude-api-not-configured) ou est désactivé : le turn ne tourne pas. New Chat refuse alors aussi un chat Claude API, avec CLAUDE_API_NOT_CONFIGURED.

La carte de consommation #

📊 Check Usage (Vérifier la consommation) a un onglet Claude API tant qu’une clé est enregistrée, même avec Claude API désactivé, pour que les dépenses du mois restent visibles. Il montre ce que les turns de ce relais sur la clé ont coûté selon l’estimation :

Partie Ce qu’elle montre
Barre Monthly cap (Plafond mensuel) Seulement quand un plafond est défini : l’estimation du mois par rapport au plafond, marquée estimated (estimé), avec la date à laquelle elle repart de zéro.
Estimated today (Estimé aujourd’hui), Estimated this month (Estimé ce mois-ci) Les dépenses du jour et du mois jusqu’ici.
Estimated spend by model, this month (Dépenses estimées par modèle, ce mois-ci) Une ligne par modèle, avec ce qu’il a coûté aujourd’hui.
Tokens by model, this month (Tokens par modèle, ce mois-ci) Lectures du cache, autres entrées (écritures dans le cache de prompt comprises) et sortie par modèle, et la part de l’entrée venue du cache.
La note sur l’estimation D’où viennent les chiffres.

La barre change de couleur à 50 % et 75 % du plafond et passe au rouge à 90 %, comme toutes les barres ; voir Lire une carte. La carte renvoie vers Console billing (Facturation Console) et Console limits (Limites Console).

D’où viennent les chiffres. C’est l’estimation propre de Claude Code, d’après sa table de prix, pour les turns sur la clé enregistrée de ce relais ; les subagents, le compactage et la recherche web y sont donc inclus. OAR ne tient pas de table de prix à lui. Les jours et le mois suivent l’horloge et le fuseau horaire du relais. Les turns payés avec le crédit d’API qui accompagne un forfait Max ou Team sont comptés aussi ; OAR ne voit pas ce crédit, ni le solde de la Console. La page de facturation de la Console a les vrais chiffres et le solde.

Des tokens sans prix. Un modèle pour lequel Claude Code n’a pas de prix affiche no price known au lieu d’un montant, jamais 0 $. Un total qui laisse de côté de tels tokens indique (estimate incomplete).

Un agent peut lire la même carte avec l’action usage de relay_tool.

Modèles #

Le relais demande à Anthropic quels modèles la clé peut utiliser (GET /v1/models) quand vous enregistrez une clé, quand vous réactivez Claude API, et avec Refresh models sur l’onglet ou Refresh (Actualiser) dans 🤗 Select Models. Une requête abandonne au bout de 10 secondes.

  • Jusqu’à la première réponse, l’onglet propose les modèles de l’onglet Claude, avec la note Not listed by Anthropic yet: these are the Claude tab's models until the key's list is read.
  • Une requête qui échoue garde la liste qu’avait le relais ; Refresh models indique Claude API model discovery failed. The stored models were kept: ….
  • Contexte long. Un modèle avec une fenêtre de 1M tokens ou plus, ou dont l’onglet Claude liste la variante 1M, reçoit aussi sa variante [1m], proposée dans la liste déroulante Context window (Fenêtre de contexte) comme sur Claude.
  • Lesquels s’affichent. 🤗 Select Models → Claude API (Sélectionner des modèles → Claude API) choisit quels modèles propose la zone de saisie. Le Default model est toujours proposé.
  • Par message. Un chat peut changer de modèle entre deux turns, comme sur Claude.

Effort de raisonnement #

Le sélecteur d’effort fonctionne comme sur Claude. Les niveaux viennent de la liste des modèles d’Anthropic : none et les niveaux que le modèle annonce, plus Ultracode sur un modèle qui a xhigh. Un modèle qui n’annonce aucune prise en charge de l’effort ne propose que none. Avant que la liste de la clé soit lue, un modèle a les niveaux que lui donne l’onglet Claude. La boîte de dialogue 🧠 a les mêmes contrôles Thinking (Raisonnement) que sur Claude.

En commun avec Claude #

L’attribution des commits, la limite des commandes de fond, les niveaux d’effort et la fenêtre de compactage sont ceux de l’onglet Claude ; une bascule ne change donc que qui paie :

Un seul dossier de configuration Claude. Les chats Claude API utilisent le même dossier Claude Code que les chats sur abonnement (~/.claude, ou CLAUDE_CONFIG_DIR) : les mêmes skills, plugins, serveurs MCP et fils de conversation. C’est ce qui permet à un chat de garder sa session quand il bascule. Les réglages de ce dossier ou du .claude/ du dossier du chat ne peuvent pas rediriger la clé : le relais impose l’adresse d’Anthropic et la clé par-dessus.

Pas sur la clé. Les compteurs du forfait Claude et la pause à la limite d’utilisation ne s’appliquent pas : un turn qu’Anthropic refuse échoue avec une note. Les chats Claude API tournent avec tous les hooks et la ligne d’état désactivés ; voir Sécurité.

Pour tout le reste, lisez Claude. Là où d’autres pages décrivent ce que font les chats Claude, comme les subagents, les tâches de fond, le compactage, le tableau de plan, les cartes de question ou le bouton d’envoi pendant un turn, un chat Claude API fait de même.

Limites #

  • Une clé hors d’un workspace reçoit HTTP 400. Anthropic répond HTTP 400 à une clé qui n’est liée à aucun workspace, et l’onglet indique API key saved, but Anthropic refused it: …. Créez la clé dans un workspace de la Claude Console et enregistrez celle-ci. Il est prévu de pouvoir nommer le workspace dans OAR.
  • Des modèles sans prix. Un modèle pour lequel Claude Code n’a pas de prix, actuellement Claude Haiku 5.5, affiche no price known sur la carte. Ses tokens sont exclus de l’estimation et du plafond.
  • L’estimation est celle de ce relais. Les autres usages de la clé n’y figurent pas ; la Console a toutes les requêtes.
  • Pas de solde. OAR ne lit ni le solde de la Console ni le crédit d’API du forfait.
  • Pas d’URL de base. La clé va uniquement à https://api.anthropic.com. Il n’y a pas de réglage pour un autre point de terminaison.
  • L’agent peut lire la clé. Voir Sécurité.

Codes d’erreur #

Une réponse Claude API en échec se termine par Error code: relay.<code>. et, pour certains codes, par des boutons qui mènent directement à la solution :

Code Quand Boutons
relay.claude-api-cap-reached L’estimation du mois a atteint le plafond ; le turn n’a pas tourné. Claude API settings (au champ du plafond), Switch to subscription
relay.claude-api-not-configured Claude API n’a pas de clé, est désactivé, ou le relais n’a pas pu vérifier ; le turn n’a pas tourné. Claude API settings, Switch to subscription
relay.claude-api-key Anthropic n’a pas accepté la clé (HTTP 401 ou 403). Claude API settings
relay.claude-api-key-source Claude Code a démarré avec un autre identifiant que la clé enregistrée, et le turn a été arrêté. Voir Sécurité. Claude API settings
relay.claude-api-credit Le solde de crédit du compte est trop bas. Add funds (Ajouter des fonds), Claude API settings
relay.claude-api-billing Anthropic a refusé la requête pour une raison de facturation (HTTP 402). Console billing
relay.claude-api-spend-limit Le compte a atteint une limite de dépenses définie dans la Console. Console limits
relay.claude-api-rate-limit Anthropic limite le débit de la clé ou est surchargé (HTTP 429 ou 529). Console limits

Claude API settings ouvre Settings → Providers → Claude API. Add funds et Console billing ouvrent la page de facturation de la Console, Console limits sa page des limites. Switch to subscription fait passer le chat sur votre abonnement à partir de son prochain turn ; renvoyez le message.

Les refus propres au relais ont aussi des codes :

Code Où Signification
CLAUDE_API_CAP_REACHED New Chat, le sélecteur de facturation, le send ou le create_session d’un agent Le plafond est atteint.
CLAUDE_API_NOT_CONFIGURED New Chat, le sélecteur de facturation Claude API n’a pas de clé, ou est désactivé.
CLAUDE_NOT_CONFIGURED New Chat, le sélecteur de facturation Le fournisseur Claude (l’abonnement) est désactivé : un chat Claude ne peut pas être démarré, et un chat sur la clé ne peut pas revenir. Activez Claude dans Settings → Providers → Claude (Réglages → Fournisseurs → Claude).
CLAUDE_BILLING_MODEL_UNAVAILABLE Le sélecteur de facturation Le modèle du chat ne figure pas dans la liste de l’autre côté. Choisissez un modèle qu’elle contient, puis basculez.
CLAUDE_BILLING_SWITCH_REQUIRED, CLAUDE_BILLING_CHANGED L’envoi d’un message Le message désigne l’autre facturation, ou vient d’une page qui affiche encore l’ancienne. Rien n’est envoyé ; le texte retourne dans le brouillon.

Dépannage #

Problème Que faire
Claude API manque dans New Chat, ou le sélecteur refuse API key Enregistrez une clé dans Settings → Providers → Claude API, vérifiez que Enable Claude API for New Chat and the billing switch est coché et que les dépenses du mois n’ont pas atteint le plafond. L’info-bulle du sélecteur dit pourquoi.
API key saved, but Anthropic refused it: … avec un 400, ou chaque turn échoue avec HTTP 400 La clé n’est liée à aucun workspace. Créez-en une dans un workspace de la Claude Console et enregistrez-la.
relay.claude-api-key La clé est fausse ou a été révoquée. Collez une clé valide et enregistrez, entre deux turns.
relay.claude-api-credit, relay.claude-api-billing ou relay.claude-api-spend-limit Appuyez sur Add funds, Console billing ou Console limits, corrigez le problème dans la Claude Console, puis renvoyez le message.
relay.claude-api-cap-reached Appuyez sur Switch to subscription, ou relevez le plafond avec Claude API settings. Le plafond repart de zéro le 1er.
New Chat indique que le plafond est atteint Appuyez sur Start on subscription, ou relevez le plafond.
La carte affiche no price known pour un modèle Claude Code n’a pas encore de prix pour lui (actuellement Claude Haiku 5.5). Ses tokens sont listés, mais ne comptent ni dans l’estimation ni dans le plafond.
Les dépenses de la carte sont inférieures à celles de la Console La carte ne compte que les turns de ce relais sur la clé.
relay.claude-api-key-source Retirez l’apiKeyHelper ou l’autre identifiant des réglages de Claude Code sur la machine du relais (settings.json), vérifiez la clé sur l’onglet, puis renvoyez le message.
Cannot remove the Claude API key while … Archivez ou supprimez ces chats, ou passez-les sur l’abonnement, ou désactivez plutôt Claude API.

Sécurité #

Où la clé est conservée. La clé est stockée dans la base de données du relais, sur la machine du relais, et n’est jamais envoyée à un navigateur : l’onglet indique seulement qu’une clé est enregistrée. Le relais l’utilise lui-même pour une seule requête, la liste des modèles, et l’envoie à https://api.anthropic.com et nulle part ailleurs. Elle ne parvient qu’aux workers des chats Claude API ; là où les sessions tournent sous tmux, elle passe par un fichier que seul l’utilisateur du relais peut lire. Dans le worker, elle parvient à Claude Code par son environnement et par des réglages transmis sur son entrée standard, jamais sur sa ligne de commande, que les autres utilisateurs de la machine peuvent lire. Une clé dans l’environnement propre du relais (ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN) n’atteint aucun chat.

Ce que l’agent peut voir. Les propres commandes de l’agent peuvent lire la clé dans leur environnement, comme pour toute clé que détient une CLI. Le relais remplace la clé par [redacted] dans tout ce qu’un worker publie et dans le journal du worker, dès l’instant où elle est enregistrée, comme pour DeepSeek. Cela la tient à l’écart de ce qu’OAR stocke et affiche ; ce n’est pas une barrière contre l’agent.

L’identifiant est vérifié, et une requête de modèle peut partir avant. Un chat Claude API partage le dossier Claude Code où se trouve votre connexion Claude. Le relais impose la clé enregistrée par-dessus tout identifiant présent dans les réglages de ce dossier ou du dossier du chat, et quand le rapport de démarrage de Claude Code nomme une autre source pour sa clé, le relais arrête aussitôt le turn (relay.claude-api-key-source). Claude Code n’attend pas cette vérification : il envoie sa première requête de modèle environ 50 à 90 ms après le rapport, si bien qu’une requête de modèle peut déjà être partie avec l’autre identifiant, par exemple votre connexion Claude, avant que l’arrêt prenne effet. La vérification limite un mauvais identifiant à cette seule requête de modèle ; elle ne l’empêche pas. La même vérification s’applique en sens inverse dans un chat sur votre abonnement ; voir Claude.

Pas de hooks. Dans un chat Claude API, Claude Code démarre avec tous les hooks désactivés : ni les vôtres (~/.claude), ni ceux du dossier du chat (.claude/settings.json, settings.local.json), ni ceux d’un plugin ne s’exécutent, pas plus qu’une commande de ligne d’état. Ils s’exécuteraient sous l’utilisateur du relais avec la clé dans leur environnement. Le réglage est sur la ligne de commande de Claude Code, si bien qu’un fichier de réglages ne peut pas les réactiver. Les hooks des réglages gérés, ceux de l’administrateur de la machine, s’exécutent toujours. Les chats sur votre abonnement gardent leurs hooks et leur ligne d’état.

Ce qui part chez Anthropic. Tout ce que l’agent lit et écrit pendant un turn, comme dans un chat sur abonnement.

Plus d’informations dans Sécurité.