- Pour connecter Claude Code sur votre propre machine à une passerelle existante, consultez Connecter Claude Code à une passerelle LLM
- Pour savoir ce que Claude Code envoie à une passerelle et ce qu’il faut transférer, consultez la référence du protocole de passerelle
Prérequis
Pour terminer le déploiement, vous aurez besoin de :- Une passerelle déployée sur votre infrastructure, servant HTTPS à l’adresse exacte que vous distribuerez aux développeurs, pas une adresse qui redirige vers elle, et configurée pour router les noms de modèles Claude vers votre fournisseur
- Une identifiant de fournisseur pour que la passerelle le transfère avec :
- Pour l’API Anthropic : une clé API de la Console Claude
- Pour un fournisseur cloud : des identifiants cloud avec accès aux modèles. Consultez les prérequis sur la page Amazon Bedrock, Google Cloud’s Agent Platform, ou Microsoft Foundry
- Un moyen de livrer des fichiers de paramètres aux machines des développeurs, comme MDM ou gestion de configuration
- Si vous n’en avez pas encore, comment les paramètres atteignent les appareils compare les options
Exigences de la passerelle
Quel que soit le produit qui fournit la passerelle, il doit :- Accepter un format API pris en charge : l’un des formats du tableau des formats API. Les étapes de déploiement ci-dessous supposent l’API Messages Anthropic à
POST /v1/messages, que la plupart des passerelles servent - Diffuser les réponses : transmettre les événements envoyés par le serveur au fur et à mesure qu’ils arrivent, y compris les pings de maintien de connexion, au lieu de mettre en mémoire tampon la réponse entière ; la section streaming couvre ce que la mise en mémoire tampon ou les pings supprimés cassent
- Router les noms de modèles Claude : mapper chaque nom que les développeurs utilisent à un modèle en amont. Claude Code envoie un nom de modèle tel que
claude-sonnet-4-6dans chaque requête ; dans la plupart des produits de passerelle, le mappage est une liste de modèles ou une table de routage dans la propre configuration de la passerelle - Transférer les en-têtes et le corps inchangés : transmettre
anthropic-beta,anthropic-version, et le corps de la requête dans les deux sens ; le tableau de passage des fonctionnalités mappe chacun à la fonctionnalité qui se casse sans lui - Retourner les erreurs en amont non modifiées : la récupération automatique de Claude Code correspond au libellé de l’erreur, donc envelopper les erreurs dans l’enveloppe propre de la passerelle la casse, sauf si l’enveloppe du message porte l’un des jetons
capability_rejected:qu’une passerelle d’applications Claude substitue au libellé d’erreur des fournisseurs cloud - Exempter le chemin de l’inspection WAF du corps de la requête : les invites Claude Code contiennent du code source et des balises de style XML qui correspondent aux règles du corps de cross-site-scripting ; un WAF devant la passerelle retourne
403sur les vraies sessions tandis que les courtes demandes de test passent
GET /v1/models pour que Claude Code puisse remplir le sélecteur de modèles de votre passerelle avec la découverte de modèles.
Étapes du déploiement
Le déploiement se fait en cinq étapes, chacune avec un point de contrôle :- Confirmer que la passerelle achemine vos modèles
- Émettre une credential pour chaque développeur
- Tester Claude Code par rapport à la passerelle
- Distribuer l’URL de base et les credentials
- Vérifier à partir d’une machine développeur
Confirmer que la passerelle achemine vos modèles
Votre passerelle devrait déjà être configurée avec votre credential du fournisseur, à l’écoute sur son URL de base, et transmettre les demandes à l’API de votre fournisseur. Testez que le chemin fonctionne de bout en bout avec une demande minimale, en remplaçant deux valeurs de votre déploiement :<gateway-key>est la credential qui vous permet d’appeler la passerelle en ce moment : une clé administrative, une clé de test, ou votre propre clé développeur si vous en avez déjà émis une. Tous les produits de passerelle n’ont pas une credential d’administration séparée ; si le vôtre n’en a pas, émettez-vous d’abord une clé développeur dans Émettre une credential pour chaque développeurmodelest un nom de modèle Claude que votre passerelle est configurée pour acheminer. L’exemple utiliseclaude-sonnet-4-6; remplacez par un nom que vous avez configuré
- Bash ou Zsh
- PowerShell
200 avec un champ content signifie que la passerelle a atteint le fournisseur avec ce nom de modèle. Un 404 signifie que ce nom n’est pas acheminé à la passerelle ; un 401 du fournisseur signifie que la credential du fournisseur de la passerelle est incorrecte.
Répétez la demande une fois par nom de modèle Claude dans la configuration d’acheminement de votre passerelle. Un nom que la passerelle n’achemine pas retourne 404 à tout développeur qui le sélectionne, donc testez chaque nom avant le déploiement.
Évitez de servir la passerelle derrière une redirection. Une redirection peut supprimer le corps de la demande ou retirer l’en-tête de credential sur les demandes d’inférence, et la découverte de modèles traite toute redirection comme un échec afin que la credential ne puisse pas fuir vers une cible de redirection.
Émettre une credential pour chaque développeur
Chaque développeur a besoin de sa propre clé de passerelle pour s’authentifier. Créez une credential par développeur à la passerelle, en suivant la documentation de gestion des credentials de votre produit. Confirmez qu’une clé fraîchement émise fonctionne par rapport à la passerelle avec la même demande que Confirmer que la passerelle achemine vos modèles, en remplaçant<gateway-key> par la nouvelle <developer-key> :
- Bash ou Zsh
- PowerShell
200 avec un champ content signifie que la clé développeur atteint la passerelle et que la passerelle la transmet. Un 401 ici, quand l’étape précédente a réussi, signifie que la clé développeur est incorrecte ou n’a pas encore pris effet à la passerelle.
Émettre une clé par développeur plutôt qu’une clé partagée est ce qui fait fonctionner l’attribution d’utilisation par développeur et le départ individuel. La variable d’environnement qui contient la clé dépend de l’en-tête que la passerelle lit. Pour une passerelle qui vérifie les credentials dans l’en-tête Authorization: Bearer, les développeurs définissent leur clé dans ANTHROPIC_AUTH_TOKEN. Pour une passerelle qui lit les clés à partir de l’en-tête x-api-key, les développeurs définissent ANTHROPIC_API_KEY à la place ; le tableau des credentials couvre le mappage.
Tester Claude Code par rapport à la passerelle
Exécutez Claude Code par la passerelle vous-même avant de distribuer quoi que ce soit, en utilisant la même configuration que le déploiement livrera à l’échelle de la flotte. Tapez-les directement dans un terminal, pas dans un fichier.env ou de paramètres ; ils ne durent que pour cette session de terminal, donc la fermer ramène votre machine à sa configuration normale. Utilisez ANTHROPIC_API_KEY au lieu de ANTHROPIC_AUTH_TOKEN si votre passerelle lit l’en-tête x-api-key :
- Bash ou Zsh
- PowerShell
POST au chemin /v1/messages avec le statut 200. Claude Code ajoute une chaîne de requête telle que ?beta=true, donc faites correspondre le chemin, pas l’URL complète. Deux messages d’erreur pointent dans des directions différentes :
Not logged in: vérifiez le journal de la passerelle pour distinguer les deux causes. S’il est vide, aucune credential n’a atteint la session et aucune demande n’a quitté la machine ; réexécutez les exports dans le shell que vous testez. S’il affiche une demande rejetée avecx-api-keydans le corps401, la passerelle s’attend à des clés dans cet en-tête à la place ; basculez versANTHROPIC_API_KEYFailed to authenticate. API Error: 401signifie qu’une credential a été envoyée et rejetée, et le journal de la passerelle dit où : un401nommantapi.anthropic.comou le point de terminaison de votre fournisseur signifie que la passerelle a atteint l’amont mais sa credential du fournisseur a été rejetée, donc la clé développeur a fonctionné et la credential du fournisseur que la passerelle détient est incorrecte ou un placeholder
ANTHROPIC_BASE_URL ne pointe pas vers la passerelle.
Distribuer la configuration
Chaque machine développeur a besoin de l’adresse de la passerelle et d’une credential. Vous pouvez les distribuer de manière centralisée par le biais des paramètres gérés, afin que les développeurs ne configurent rien, ou donner aux développeurs les valeurs à définir eux-mêmes.Ce qu’il faut distribuer
Le même ensemble de variables s’applique quel que soit le chemin que vous choisissez. La plupart des déploiements n’ont besoin que deANTHROPIC_BASE_URL et d’une credential ; incluez les lignes conditionnelles quand votre configuration de passerelle l’exige.
Distribuer par le biais des paramètres gérés
Livrez les variables par le biais du blocenv d’un fichier de paramètres gérés, poussé par MDM, politique de registre, ou gestion de configuration :
env. Un ANTHROPIC_BASE_URL géré est appliqué et ne peut pas être remplacé par une exportation de shell d’un développeur, car Claude Code l’applique sur l’environnement de processus et les paramètres de priorité inférieure.
N’incluez pas forceLoginMethod ou forceLoginOrgUUID dans les paramètres gérés aux côtés d’une credential de passerelle. L’une ou l’autre clé, avec n’importe quelle valeur, bloque ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN, et apiKeyHelper au démarrage, et les développeurs ne peuvent pas continuer. Ils voient This machine's managed settings require a first-party login, ou Administrator policy requires a Cloud gateway sign-in sous une valeur "gateway".
La livraison des paramètres gérés par le serveur nécessite une connexion directe à api.anthropic.com, donc elle n’atteint pas les sessions acheminées par la passerelle. Les déploiements de passerelle utilisent ce chemin de paramètres gérés basé sur fichier, qui applique les mêmes clés.
Pour la credential, distribuez une commande apiKeyHelper dans le fichier de paramètres gérés comme indiqué ci-dessus ; la commande s’authentifie auprès de votre magasin de secrets en tant que développeur local, afin que chaque machine reçoive sa propre clé. Alternativement, livrez à chaque développeur sa clé par le biais de votre processus de secrets existant et demandez-leur de définir ANTHROPIC_AUTH_TOKEN eux-mêmes.
Certains environnements ont besoin d’une livraison séparée :
- L’application de bureau lit l’acheminement de la passerelle à partir de sa configuration d’inférence tierce, pas à partir des paramètres gérés ; déployez ce fichier par le biais de MDM aux côtés des paramètres gérés afin que les sessions de bureau acheminent également par la passerelle. Voir la documentation de configuration tierce du bureau et la documentation de passerelle du bureau
- Les exécuteurs CI ont besoin de
ANTHROPIC_BASE_URLet de la credential définis dans l’environnement de l’exécuteur - WSL sur les machines Windows gérées lit les paramètres gérés Windows uniquement quand
wslInheritsWindowsSettingsesttrue
Donner aux développeurs les valeurs à définir eux-mêmes
Si vous n’avez pas de distribution de paramètres gérés en place, envoyez à chaque développeur ce dont il a besoin pour suivre la page de connexion :- L’URL de la passerelle
- Leur credential personnelle
- Quelle variable mettre la credential dans :
ANTHROPIC_AUTH_TOKENpour une passerelle de jeton porteur, ouANTHROPIC_API_KEYpour une passerellex-api-key. Dire aux développeurs laquelle leur épargne l’essai-erreur décrit sur la page de connexion - Toutes les variables conditionnelles du tableau Ce qu’il faut distribuer, avec leurs valeurs
claude démarre une session sans afficher l’écran de connexion, car la credential distribuée satisfait l’authentification. Ensuite, exécutez /status et ouvrez l’onglet Status : la ligne Anthropic base URL affiche l’adresse de la passerelle, et pour la distribution gérée la ligne Setting sources inclut les paramètres gérés. Un écran de connexion, ou une ligne Anthropic base URL manquante, signifie que la configuration n’a pas atteint la machine.
Vérifier le déploiement
Confirmez que tout fonctionne à partir d’une machine développeur, pas de l’hôte de la passerelle, afin que le test couvre le chemin réseau que les développeurs utilisent. Envoyez une demande en streaming, qui vérifie le point de terminaison, le passage en streaming, et l’acheminement du modèle à la fois :- Bash ou Zsh
- PowerShell
data: arriver de manière progressive. La réponse entière arrivant à la fois après une pause signifie que la passerelle met en mémoire tampon, ce qui bloque Claude Code ; un 404 signifie que le nom du modèle n’est pas acheminé. Répétez par nom de modèle.
Ensuite, démarrez claude et envoyez un message. Chaque symptôme à cette étape a une cause :
- Une invite de connexion signifie une lacune de credential. Exécutez
/statuset ouvrez l’onglet Status : quand la ligneSetting sourcesn’inclut pas les paramètres gérés, la distribution n’a pas atteint la machine ; quand elle le fait, la credential développeur n’a pas été livrée, donc définissezANTHROPIC_AUTH_TOKENou leapiKeyHelper - Les erreurs
Failed to authenticatesignifient que la passerelle rejette les demandes ; son journal dit quelle credential a échoué. Un rejet que la passerelle enregistre elle-même nomme la clé développeur, tandis qu’un401deapi.anthropic.comou du point de terminaison de votre fournisseur signifie que la credential du fournisseur que la passerelle détient a été rejetée - Une invite d’approbation unique pour la clé est attendue à la première utilisation quand la passerelle s’attend à des clés dans l’en-tête
x-api-key, défini commeANTHROPIC_API_KEY. AvecANTHROPIC_AUTH_TOKEN, aucune invite n’apparaît et la variable prend le relais silencieusement ; une connexion claude.ai précédemment enregistrée est inactive pour cette session
/fast ici aussi : la vérification de disponibilité appelle api.anthropic.com directement plutôt que de suivre l’URL de base de la passerelle, donc une session acheminée par la passerelle peut signaler le mode rapide comme indisponible ou désactivé même si l’inférence fonctionne. Utiliser le mode rapide derrière les proxies et les passerelles LLM mappe chaque message à la variable qui le restaure, distribuée avec le reste de la configuration.
Enfin, vérifiez les journaux de la passerelle pour le message que vous avez envoyé : la credential identifie le développeur, et l’en-tête x-claude-code-session-id groupe les demandes par session. Si les fonctionnalités échouent avec les symptômes de dépannage, la passerelle supprime les en-têtes ou réécrit les erreurs ; voir les exigences de la passerelle ci-dessus.
Maintenir la passerelle
Après le déploiement, trois types de changements atteignent la passerelle au fil du temps. Chacun a un symptôme à surveiller et une action à prendre.
Lors du dimensionnement des limites de débit par clé, tenez compte du client réessayant les défaillances transitoires, y compris les réponses
429, jusqu’à 10 fois avec backoff, en respectant Retry-After. Gardez la guide de compatibilité comme référence pour ce que chaque version de Claude Code envoie.
Planifier les mises à niveau de version de Claude Code
Certains comportements de Claude Code sont intégrés à la version installée plutôt que définis à votre passerelle, donc déplacer les développeurs vers une nouvelle version peut modifier le comportement dans tout votre déploiement même quand la configuration de la passerelle n’a pas changé. Pour contrôler quand cela se produit, épinglez les développeurs à une version testée avecrequiredMaximumVersion, ou avec DISABLE_UPDATES si vous distribuez Claude Code via votre propre canal. Avant de relever l’épingle, lisez l’entrée du changelog de la nouvelle version et testez-la contre la passerelle.
Quand vous testez une version, les nouveaux en-têtes ou champs de requête que la passerelle rejette apparaissent comme les erreurs 400 décrites dans Maintenir la passerelle. Le tableau ci-dessous couvre les changements dépendants de la version qui ne produisent pas d’erreur, avec le paramètre qui garde chacun constant lors des mises à niveau.
Ressources connexes
- Connecter Claude Code à une passerelle LLM : les étapes de configuration côté développeur, avec la configuration par surface et un tableau de dépannage que vous pouvez remettre aux développeurs
- Guide de compatibilité de la passerelle : la référence pour les opérateurs de passerelle, couvrant les points de terminaison, les en-têtes à transférer, et le tableau de passage des fonctionnalités
- Quelle valeur Claude Code utilise : comment les paramètres gérés, de projet et utilisateur se combinent
- Mécanismes de livraison : où le fichier géré va sur chaque plateforme
- Configurer Claude Code pour votre organisation : le déploiement plus large dont cette passerelle est une partie, y compris l’application des politiques, la visibilité de l’utilisation, et la gestion des données