Passer au contenu principal
Une passerelle LLM est un proxy que votre organisation exécute entre Claude Code et le fournisseur de modèle. Lorsque votre organisation en utilise une, Claude Code s’authentifie auprès de la passerelle avec un identifiant que votre organisation émet au lieu de votre connexion personnelle claude.ai. Cette page est destinée aux développeurs exécutant Claude Code via une passerelle que leur organisation exploite. Elle couvre deux chemins : vérifier si votre administrateur l’a déjà configurée pour vous, et la configurer vous-même s’il ne l’a pas fait.

Vérifier une configuration existante

Les administrateurs peuvent distribuer l’adresse de la passerelle et l’identifiant via les paramètres gérés, la gestion des appareils, ou un apiKeyHelper, de sorte que Claude Code les récupère au démarrage sans rien à configurer de votre côté. Pour vérifier si votre organisation l’a déjà fait :
1

Démarrer Claude Code

Exécutez claude. S’il s’ouvre sur l’écran de connexion au lieu d’une session, aucun identifiant de passerelle n’a été distribué ; configurez-le vous-même ci-dessous.
2

Vérifier l'onglet Statut

Si Claude Code a démarré une session sans afficher l’écran de connexion, exécutez /status, ouvrez l’onglet Status, et vérifiez deux lignes :
  • Anthropic base URL : cette ligne n’apparaît que lorsqu’une adresse de passerelle est définie. Si elle n’est pas là, Claude Code n’est pas pointé vers la passerelle ; configurez-le vous-même ci-dessous.
  • Auth token ou API key : une ligne nommant ANTHROPIC_AUTH_TOKEN, ANTHROPIC_API_KEY, ou un apiKeyHelper confirme qu’un identifiant de passerelle est actif. Une ligne Login method nommant un compte claude.ai à la place signifie que l’identifiant n’a pas été distribué ; définissez-le vous-même.
3

Envoyer un message de test

Fermez le menu /status et envoyez n’importe quel message dans Claude Code. Une réponse normale de Claude, sans erreur, confirme que la connexion à la passerelle fonctionne.
Si les deux lignes du menu /status semblent correctes mais que le message à Claude échoue, voir le tableau de dépannage.

Configurer Claude Code vous-même

Pour configurer Claude Code pour la passerelle vous-même, vous avez besoin de votre équipe de passerelle :
  • L’URL de base de la passerelle
  • Un identifiant : une chaîne de clé ou de jeton, ou une commande qui en récupère un
    • Si votre équipe de passerelle n’a pas dit quel type d’identifiant c’est, la section variable d’identifiant ci-dessous couvre ce qu’il faut essayer
Les sections ci-dessous couvrent la configuration dans l’ordre :
  • Définir la variable d’identifiant et définir l’URL de base : les deux variables que chaque connexion de passerelle nécessite
  • Vérifier la connexion : confirmer qu’elle fonctionne avant de persister quoi que ce soit
  • Configurer chaque surface : si vous utilisez une surface autre que la CLI Claude Code, comme VS Code, voir comment la configurer avec vos identifiants de passerelle
  • Configuration supplémentaire : variables que certaines passerelles nécessitent au-delà de l’URL de base et de l’identifiant, comme un en-tête personnalisé, un assistant d’identifiant, la découverte de modèle, une URL de base au format fournisseur, ou désactiver le trafic en dehors du chemin de la passerelle. Définissez-les uniquement si votre administrateur les a nommées ou si votre réseau restreint la sortie

Définir la variable d’identifiant

Pour authentifier Claude Code auprès de la passerelle, définissez votre identifiant dans une variable d’environnement. Quelle variable dépend de ce que votre équipe de passerelle vous a dit : Si vous n’avez pas été informé du type, utilisez ANTHROPIC_AUTH_TOKEN ; la demande de vérification ci-dessous montre comment savoir si vous devez basculer.

Définir l’URL de base et l’identifiant

Définissez l’URL de base de la passerelle et la variable d’identifiant que vous avez choisie ci-dessus comme variables d’environnement. Les exemples utilisent ANTHROPIC_AUTH_TOKEN ; remplacez-le par ANTHROPIC_API_KEY si c’est la variable que vous avez choisie. Vous pouvez les définir dans votre shell, ce qui dure une session de terminal, ou dans un fichier de paramètres Claude Code, ce qui persiste partout où Claude Code s’exécute. Pour votre première connexion, commencez par les exports shell et exécutez la demande de vérification avant de déplacer les valeurs vers un fichier de paramètres.

Définir comme variables d’environnement shell

Remplacez les valeurs par celles que votre équipe de passerelle vous a données :
Les exports shell s’appliquent uniquement à cette session de terminal et aux programmes lancés à partir de celle-ci ; un éditeur lancé depuis le dock ou le menu Démarrer ne les verra pas. Pour les faire persister dans les nouveaux terminaux, ajoutez les mêmes lignes à votre profil shell, comme ~/.zshrc, ~/.bashrc, ou votre $PROFILE PowerShell, ou utilisez plutôt un fichier de paramètres.

Définir dans un fichier de paramètres

Pour que la configuration s’applique partout où Claude Code s’exécute sans dépendre de votre shell, définissez les variables dans le bloc env d’un fichier de paramètres. Les fichiers de paramètres ont des portées différentes :
  • ~/.claude/settings.json s’applique à tous vos projets. Sur Windows, le chemin est %USERPROFILE%\.claude\settings.json
  • .claude/settings.local.json s’applique à un projet. Claude Code l’ajoute à votre gitignore quand il crée le fichier ; si vous le créez vous-même, ajoutez-le à votre gitignore manuellement d’abord pour ne pas accidentellement valider votre identifiant
Ne mettez pas l’identifiant dans le .claude/settings.json d’un projet. Ce fichier est validé et partagé avec tous ceux qui clonent le référentiel.
Le bloc env ressemble au même dans l’un ou l’autre fichier :
Quand un export shell et un bloc env de fichier de paramètres définissent la même variable, la valeur du fichier de paramètres s’applique. Exécutez /status pour voir quelle URL de base et source d’identifiant Claude Code utilise.

Vérifier la connexion

Avec les variables exportées dans votre shell, envoyez une demande d’un jeton à la passerelle directement. Cela confirme que l’URL et l’identifiant fonctionnent avant d’ouvrir Claude Code, de sorte qu’une défaillance pointe vers la passerelle plutôt que votre configuration. Les commandes ci-dessous lisent les variables shell, elles ont donc besoin des exports shell même si vous mettez aussi les valeurs dans un fichier de paramètres.
Si votre passerelle s’attend à des clés dans l’en-tête x-api-key, remplacez l’en-tête Authorization par x-api-key: $ANTHROPIC_API_KEY dans la commande Bash, ou l’entrée de table de hachage "Authorization" par "x-api-key" = "$env:ANTHROPIC_API_KEY" dans la commande PowerShell. Une réponse JSON qui commence par {"id":"msg_ et inclut un champ "content":[...] signifie que la passerelle est accessible et l’identifiant fonctionne. Une erreur nommant un modèle inconnu prouve toujours que l’URL et l’identifiant fonctionnent, puisque la passerelle a authentifié la demande avant de rejeter le nom du modèle ; vous n’avez pas besoin de trouver un modèle que votre passerelle sert pour ce test. Un 401 signifie que l’identifiant a été rejeté : si vous avez deviné la variable, basculez vers l’autre et réexportez.

Confirmer dans Claude Code

Démarrez claude à partir du même shell pour qu’il hérite des exports, envoyez un message, et exécutez /status. Sur l’onglet Status, la ligne Anthropic base URL devrait afficher votre adresse de passerelle, ce qui confirme que les demandes y sont routées ; si la ligne n’est pas là, la variable n’a pas atteint la session. Une ligne Auth token ou API key nommant la variable que vous avez définie confirme que l’identifiant de passerelle est actif plutôt qu’une connexion claude.ai sauvegardée. Si le message échoue, ou /status n’affiche pas l’URL de la passerelle, voir le tableau de dépannage ci-dessous.

Comment la variable d’identifiant mappe à un en-tête

Chaque variable envoie l’identifiant dans un en-tête HTTP différent : ANTHROPIC_AUTH_TOKEN dans Authorization: Bearer, ANTHROPIC_API_KEY dans x-api-key, et apiKeyHelper dans les deux. Un identifiant dans la mauvaise variable atteint la passerelle dans un en-tête qu’elle ne lit pas, et la demande échoue avec 401. Si la demande de vérification a retourné 401, basculez vers l’autre variable et réessayez.

Conflits avec une connexion existante

Une variable d’identifiant de passerelle prend précédence sur une connexion claude.ai sauvegardée ou une clé Console. Votre connexion claude.ai reste sauvegardée et inutilisée tandis que la variable est définie ; désactivez la variable et Claude Code revient à elle. Avec ANTHROPIC_AUTH_TOKEN, la variable prend précédence immédiatement. Avec ANTHROPIC_API_KEY, vous êtes invité une fois en mode interactif à approuver la clé avant qu’elle ne prenne le contrôle. Exécutez /status pour confirmer quelle source d’identifiant est active. Si le démarrage affiche un avertissement de conflit d’authentification nommant deux sources, voir la première ligne du tableau de dépannage pour savoir laquelle supprimer. Pour effacer une connexion sauvegardée afin que seul l’identifiant de passerelle reste, exécutez /logout.

Configurer chaque surface

La CLI lit les variables d’environnement et les fichiers de paramètres ci-dessus. Les autres surfaces sont l’extension VS Code, l’application de bureau, GitHub Actions, l’Agent SDK, et les surfaces cloud comme Slack et le web ; les sections ci-dessous couvrent si ces paramètres atteignent chacun.

Extension VS Code

Définissez les variables de passerelle pour l’extension VS Code dans claudeCode.environmentVariables, dans les propres paramètres utilisateur de VS Code ouverts avec la commande Preferences: Open User Settings (JSON). L’extension vérifie les identifiants de ce paramètre avant de lancer, c’est donc l’endroit fiable pour l’identifiant de passerelle ; les valeurs dans ~/.claude/settings.json atteignent le processus généré mais pas la vérification de connexion propre de l’extension.

Application de bureau

L’application de bureau lit le routage de passerelle à partir de sa configuration d’inférence tierce, pas à partir de ANTHROPIC_BASE_URL ou settings.json. Cette configuration peut provenir de votre organisation ou d’un formulaire dans l’application elle-même :
  • Distribuée par un administrateur : si votre organisation a déployé la configuration, l’application de bureau route via la passerelle sans configuration de votre côté
  • Configurée localement : pour les appareils sans configuration distribuée par un administrateur, ouvrez Help → Troubleshooting → Enable Developer Mode, qui redémarre l’application avec un menu Developer. Ensuite, ouvrez Developer → Configure Third-Party Inference et entrez l’URL de base de votre passerelle. Une configuration distribuée par un administrateur a la priorité et rend ce formulaire en lecture seule
Avec la configuration de passerelle active, l’application de bureau exécute les sessions sur votre machine locale uniquement : le sélecteur d’environnement n’offre pas de sessions SSH ou d’environnements cloud hébergés par Anthropic, et Remote Control n’est pas disponible. Pour utiliser Claude Code sur un hôte distant via la passerelle, exécutez la CLI sur cet hôte avec ANTHROPIC_BASE_URL et l’identifiant de passerelle définis là. Si l’application de bureau affiche Gateway was unreachable, l’application n’a pas pu atteindre l’URL de base configurée au démarrage ; vérifiez l’URL et le chemin réseau avec le test curl ci-dessus.

GitHub Actions

Claude Code GitHub Actions lit ANTHROPIC_BASE_URL et ANTHROPIC_CUSTOM_HEADERS à partir du bloc env du workflow. Passez l’identifiant comme entrée anthropic_api_key de l’action ; l’action le définit comme ANTHROPIC_API_KEY, de sorte qu’il atteint la passerelle dans l’en-tête x-api-key. Pour une passerelle x-api-key, définissez l’URL de base dans env et passez la clé de passerelle comme entrée :
Pour une passerelle bearer-token, passez le même secret deux fois : comme entrée anthropic_api_key et comme ANTHROPIC_AUTH_TOKEN dans le bloc env du workflow. L’action nécessite anthropic_api_key, CLAUDE_CODE_OAUTH_TOKEN, ou la fédération d’identité de charge de travail avant de lancer Claude Code, et elle ne lit pas ANTHROPIC_AUTH_TOKEN, de sorte que l’entrée est là uniquement pour satisfaire cette vérification de lancement. La variable d’environnement est ce qui met la clé dans l’en-tête Authorization que la passerelle lit ; la copie dans x-api-key est ignorée :
Pour les autres options d’authentification de l’action, y compris CLAUDE_CODE_OAUTH_TOKEN et la fédération d’identité de charge de travail, voir Claude Code GitHub Actions et le README de l’action.

Agent SDK

L’Agent SDK n’a pas d’options spécifiques à la passerelle ; il transmet les variables d’environnement au processus Claude Code qu’il génère. Chaque SDK accepte une option env qui définit l’environnement du processus généré, et les SDK TypeScript et Python le traitent différemment :
  • TypeScript : le processus généré hérite de l’environnement parent par défaut, mais la définition de options.env remplace entièrement l’environnement. Propagez process.env dedans pour conserver vos variables de passerelle.
  • Python : ClaudeAgentOptions(env=...) fusionne au-dessus de l’environnement hérité, de sorte que les variables de passerelle définies dans le processus parent se transmettent sans propagation.

Slack, web et Remote Control

Claude Code dans Slack et Claude Code sur le web sont des produits hébergés par Anthropic qui utilisent toujours l’API d’Anthropic ; ils ne font pas partie d’un déploiement de passerelle. Les variables de passerelle définies dans la configuration d’environnement d’une session cloud ne sont pas appliquées. Si votre trafic doit rester sur la passerelle, n’activez pas ces surfaces pour ces utilisateurs. Remote Control et la dictée vocale dépendent tous deux d’une identité claude.ai : Remote Control pour appairer une session en direct avec votre compte, et la dictée vocale pour atteindre le point de terminaison de transcription claude.ai. Ils ne sont pas disponibles tandis que ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN, ou un apiKeyHelper est actif. À partir de la v2.1.196, Remote Control est également désactivé tandis que ANTHROPIC_BASE_URL pointe vers un hôte non-Anthropic, de sorte que la connexion avec claude.ai n’est pas suffisante en soi. Pour restaurer l’une ou l’autre fonctionnalité, connectez-vous avec claude.ai et désactivez les variables de passerelle que la fonctionnalité vérifie. La section Remote Control de claude doctor nomme la variable d’identifiant à désactiver.
  • Dictée vocale : désactivez l’identifiant de passerelle
  • Remote Control : désactivez l’identifiant de passerelle et ANTHROPIC_BASE_URL

Configuration supplémentaire

Ces paramètres couvrent les cas au-delà de l’URL de base et de l’identifiant. Définissez-les uniquement si les instructions de votre administrateur, les règles de sortie de votre réseau, ou le tableau de dépannage en appellent un.

Envoyer des en-têtes supplémentaires

Certaines passerelles routent ou balisent les demandes en utilisant un en-tête personnalisé en plus de l’identifiant, par exemple un identifiant de locataire ou une clé de routage. Pour en envoyer un, définissez ANTHROPIC_CUSTOM_HEADERS avec une paire Name: Value par ligne. L’exemple ci-dessous ajoute un en-tête de routage nommé X-Org-Route :
Vous pouvez aussi définir ANTHROPIC_CUSTOM_HEADERS dans le bloc env d’un fichier de paramètres. Utilisez \n entre les paires là, puisque les chaînes JSON ne peuvent pas s’étendre sur plusieurs lignes :

Ajouter des modèles de passerelle au sélecteur de modèle

La découverte de modèle interroge la passerelle pour sa liste de modèles au démarrage et ajoute ces noms au sélecteur /model à côté des entrées intégrées. Activez-la si votre passerelle sert des noms de modèle qui ne sont pas dans la liste intégrée de Claude Code et que vous voulez les sélectionner à partir du sélecteur. Si les modèles intégrés sont ce que vous utilisez, vous n’avez pas besoin de découverte ; votre administrateur peut aussi l’avoir déjà activée via les paramètres gérés. Pour l’activer, définissez CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1 dans votre shell ou dans le bloc env de ~/.claude/settings.json. La découverte nécessite Claude Code v2.1.129 ou ultérieur. Les modèles découverts apparaissent comme des entrées /model supplémentaires étiquetées From gateway. Pour confirmer que la découverte a fonctionné, démarrez claude --debug et cherchez les lignes [gatewayDiscovery] : un succès enregistre combien de modèles ont été mis en cache, et un 404, un délai d’attente, ou une redirection y est aussi enregistré. Pour quand la découverte s’exécute, ce qu’elle filtre, et le format de réponse que les passerelles servent, voir la référence de découverte de modèle.

Faire tourner les identifiants avec apiKeyHelper

Un apiKeyHelper est une commande que Claude Code exécute pour récupérer votre identifiant de passerelle, au lieu de le lire à partir d’une variable d’environnement statique. Utilisez un assistant quand l’identifiant expire selon un calendrier, provient d’une commande de coffre-fort ou SSO, ou votre administrateur vous a dit de configurer un. Si votre identifiant est une chaîne fixe que vous définissez une fois, la variable d’identifiant est tout ce dont vous avez besoin et vous pouvez ignorer cette section. L’assistant est n’importe quelle commande shell qui imprime l’identifiant actuel sur stdout. Claude Code l’exécute via votre shell système, donc sur Windows il peut être un exécutable ou une invocation PowerShell. Écrivez le script, rendez-le exécutable, et référencez-le à partir de apiKeyHelper dans votre fichier de paramètres :
Par exemple, un script qui lit à partir d’un coffre-fort :
Référencez son chemin dans ~/.claude/settings.json :
Claude Code met en cache la sortie de l’assistant pendant cinq minutes par défaut et la réexécute quand une demande retourne HTTP 401. Pour changer la durée de vie du cache, définissez CLAUDE_CODE_API_KEY_HELPER_TTL_MS en millisecondes, par exemple CLAUDE_CODE_API_KEY_HELPER_TTL_MS=900000 pour 15 minutes. La valeur de l’assistant est envoyée dans les en-têtes Authorization et x-api-key, de sorte qu’elle fonctionne quel que soit l’en-tête que votre passerelle lit.

Désactiver le trafic en dehors du chemin de la passerelle

La passerelle achemine les demandes de modèle, mais Claude Code envoie aussi du trafic de fond non essentiel en dehors du chemin de la passerelle, vers Anthropic et vers des services tiers tels que GitHub : vérifications de version, télémétrie, rapports d’erreurs, notes de version, et demandes similaires. Sur un réseau qui n’autorise la sortie que vers la passerelle, ces demandes échouent et peuvent apparaître comme des connexions bloquées dans votre surveillance de sortie. Pour désactiver ce trafic, définissez CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 à côté des variables de passerelle, dans les mêmes exports shell ou bloc env du fichier de paramètres :
Définir la variable a ces effets et limites :
  • Elle désactive les mises à jour automatiques, donc prévoyez un autre chemin de mise à jour, tel que votre gestionnaire de paquets ou distribution gérée.
  • Elle supprime la vérification de disponibilité du mode rapide. À moins qu’une vérification précédente n’ait déjà activé le mode rapide sur la machine, /fast signale que le mode rapide est indisponible.
  • Elle désactive la découverte de modèle de passerelle, même si la découverte interroge la passerelle elle-même. Les modèles précédemment découverts restent disponibles à partir du cache local, mais la liste n’est pas actualisée.
  • La vérification de sécurité du domaine de l’outil WebFetch n’est pas affectée et appelle toujours api.anthropic.com. Désactivez-la séparément avec skipWebFetchPreflight: true dans les paramètres si votre réseau bloque cet hôte.
  • Pour chaque flux de télémétrie et la variable qui le contrôle, voir services de télémétrie.

Router vers un fournisseur cloud via une passerelle

Ces configurations pointent Claude Code vers une passerelle via une variable d’URL de base spécifique au fournisseur à la place de ANTHROPIC_BASE_URL. Les passerelles Amazon Bedrock et Google Cloud’s Agent Platform acceptent les formats de demande natifs de ces fournisseurs ; les passerelles Microsoft Foundry et Claude Platform sur AWS acceptent le format Anthropic Messages et diffèrent uniquement par la variable d’URL de base qui les atteint. Utilisez-en une uniquement si votre équipe de passerelle a spécifiquement nommé Amazon Bedrock, Google Cloud’s Agent Platform, Microsoft Foundry, ou Claude Platform sur AWS. Si la demande de vérification ci-dessus a retourné JSON, vous pouvez ignorer cette section. Définissez le bloc pour le fournisseur que votre équipe de passerelle a nommé. Les variables skip-auth disent à Claude Code de ne pas signer les demandes avec les identifiants du fournisseur, puisque la passerelle les détient. Si la passerelle a besoin de son propre jeton, ajoutez ANTHROPIC_AUTH_TOKEN après le bloc, sauf pour Microsoft Foundry, qui utilise ANTHROPIC_FOUNDRY_API_KEY comme montré. Une passerelle Microsoft Foundry qui s’attend à un jeton porteur peut utiliser ANTHROPIC_FOUNDRY_AUTH_TOKEN à la place ; elle prend la priorité sur ANTHROPIC_FOUNDRY_API_KEY quand les deux sont définis. ANTHROPIC_FOUNDRY_AUTH_TOKEN nécessite Claude Code v2.1.203 ou ultérieur.

Amazon Bedrock

Google Cloud’s Agent Platform

Microsoft Foundry

Mettez l’identifiant de la passerelle dans ANTHROPIC_FOUNDRY_API_KEY ; il est envoyé à la passerelle comme en-tête x-api-key. Une passerelle qui s’attend à un jeton porteur peut prendre ANTHROPIC_FOUNDRY_AUTH_TOKEN à la place. Claude Code envoie cette valeur comme en-tête Authorization: Bearer, et elle prend la priorité sur ANTHROPIC_FOUNDRY_API_KEY quand les deux sont définis. Nécessite Claude Code v2.1.203 ou ultérieur. Pour une passerelle qui injecte son propre en-tête Authorization, définissez CLAUDE_CODE_SKIP_FOUNDRY_AUTH=1 et laissez les deux variables d’identifiant non définies. Claude Code envoie alors les demandes sans identifiant Azure et préserve l’en-tête Authorization que vous fournissez, par exemple via ANTHROPIC_CUSTOM_HEADERS. Avant v2.1.203, CLAUDE_CODE_SKIP_FOUNDRY_AUTH sans clé API laissait le client Microsoft Foundry incapable d’envoyer des demandes.

Claude Platform sur AWS

Voir Claude Platform sur AWS pour l’ID d’espace de travail.

Dépanner les erreurs de passerelle

Ce sont les erreurs les plus courantes lors de l’exécution de Claude Code via une passerelle, avec la cause côté passerelle et la correction : Si Claude Code vous demande de vous connecter à plusieurs reprises après la suppression de la configuration de passerelle, la cause est généralement le stockage d’identifiants plutôt que la passerelle ; voir erreurs d’authentification.