Note de l'auteur : Explication détaillée du rôle et de la configuration des plus de 60 variables d'environnement de Claude Code, avec un focus sur CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS pour résoudre les erreurs de header anthropic-beta sur les plateformes tierces.
Lors de l'utilisation de Claude Code pour se connecter à AWS Bedrock, Google Vertex AI ou d'autres passerelles de grands modèles de langage tiers, vous avez probablement rencontré cette erreur : "Unexpected value(s) for the anthropic-beta header". La racine de ce problème est que Claude Code envoie par défaut des en-têtes Beta expérimentaux spécifiques à l'API Anthropic, que les plateformes tierces comme AWS Bedrock ne reconnaissent pas.
La solution tient en une seule ligne de configuration : CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1.
Cependant, les variables d'environnement de Claude Code ne se limitent pas à celle-ci — la documentation officielle répertorie plus de 60 variables d'environnement, couvrant la configuration de l'authentification, la sélection du modèle, l'optimisation des performances, les commutateurs de fonctions, etc. Cet article va structurer systématiquement ces variables pour vous aider à localiser et résoudre rapidement divers problèmes de configuration de Claude Code.
Valeur ajoutée : À la fin de cet article, vous maîtriserez l'écosystème complet des variables d'environnement de Claude Code, vous saurez résoudre rapidement les problèmes de compatibilité avec AWS Bedrock/Vertex AI, et vous apprendrez à optimiser votre expérience utilisateur et vos coûts via ces configurations.

Points clés des variables d'environnement de Claude Code
Les plus de 60 variables d'environnement de Claude Code peuvent être divisées en 6 grandes catégories. Voici les variables essentielles auxquelles vous devez prêter attention :
| Catégorie | Variable clé | Rôle | Scénario d'utilisation courant |
|---|---|---|---|
| Compatibilité plateforme | CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS |
Désactive les en-têtes expérimentaux anthropic-beta | Résoudre les erreurs AWS Bedrock/Vertex AI |
| Configuration de l'authentification | ANTHROPIC_API_KEY |
Définit la clé API | Invocation via des plateformes API tierces |
| Sélection du modèle | ANTHROPIC_MODEL |
Spécifie le modèle utilisé | Basculer vers une version spécifique du modèle |
| Optimisation des performances | CLAUDE_CODE_MAX_OUTPUT_TOKENS |
Contrôle le jeton de sortie maximum | Limiter les réponses longues pour économiser des coûts |
| Commutateurs de fonctions | DISABLE_PROMPT_CACHING |
Désactive la mise en cache des invites | Besoins de débogage ou de compatibilité |
| Gestion du contexte | CLAUDE_AUTOCOMPACT_PCT_OVERRIDE |
Contrôle le seuil de compression automatique du contexte | Optimiser l'expérience des conversations longues |
Deux façons de configurer les variables d'environnement de Claude Code
Méthode 1 : Variable d'environnement Shell (effet temporaire)
Définissez-la dans le terminal avant de lancer Claude Code, elle n'est valable que pour la session actuelle :
export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1
export ANTHROPIC_API_KEY="votre-cle-api"
claude
Méthode 2 : Configuration dans settings.json (effet permanent)
Configurez le champ env dans ~/.claude/settings.json, il sera chargé automatiquement à chaque démarrage :
{
"env": {
"CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1",
"ANTHROPIC_API_KEY": "votre-cle-api"
}
}
🎯 Recommandation : Pour les paramètres devant être permanents (comme la clé API ou les correctifs de compatibilité plateforme), il est conseillé d'utiliser le fichier settings.json pour éviter de devoir faire un export manuel à chaque fois. Si votre clé API provient d'une plateforme tierce comme APIYI (apiyi.com), configurez-la également ici.

Décryptage des variables d'environnement Claude Code : Résoudre les problèmes de compatibilité AWS Bedrock
Focus sur CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS
C'est la variable clé de cet article. Lorsque vous utilisez Claude Code via des passerelles tierces comme AWS Bedrock, Google Vertex AI ou LiteLLM, Claude Code ajoute automatiquement des identifiants Beta expérimentaux d'Anthropic dans les en-têtes de requête, par exemple :
anthropic-beta: prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20
Ces identifiants Beta sont des fonctionnalités spécifiques à l'API directe d'Anthropic. Les plateformes tierces comme AWS Bedrock ne les reconnaissent pas et renvoient donc une erreur :
Error: Unexpected value(s) for the anthropic-beta header
Solution :
# Option 1 : Commande Shell
export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1
# Option 2 : settings.json
{
"env": {
"CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1"
}
}
En réglant cette valeur sur 1, Claude Code cessera d'envoyer ces en-têtes Beta expérimentaux, assurant ainsi la compatibilité avec toutes les plateformes tierces.
Problèmes connus et solutions temporaires
Selon les tickets GitHub, certaines versions de Claude Code (après la 2.1.18) présentent un problème où cette variable d'environnement n'est pas totalement prise en compte : même avec CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1, certains nouveaux en-têtes Beta (comme advanced-tool-use-2025-11-20) continuent d'être envoyés.
Si vous rencontrez toujours des difficultés, vous pouvez essayer ces mesures complémentaires :
- Rétrograder la version de Claude Code : Revenez à une version stable connue comme la 2.1.68.
- Utiliser la passerelle LiteLLM : LiteLLM propose un fichier de configuration
anthropic_beta_headers_config.jsonqui permet de contrôler précisément quels en-têtes Beta sont transmis. - Activer simultanément DISABLE_PROMPT_CACHING : Désactiver la mise en cache des invites permet d'éviter les en-têtes Beta liés à
prompt-caching-scope.
# Configuration de compatibilité totale
export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1
export DISABLE_PROMPT_CACHING=1
Guide de référence des variables d'environnement Claude Code
Catégorie 1 : Authentification et configuration API
Il s'agit de la catégorie la plus fondamentale, contrôlant la manière dont Claude Code se connecte au service API :
| Nom de la variable | Rôle | Scénario d'utilisation |
|---|---|---|
ANTHROPIC_API_KEY |
Clé API, envoyée via l'en-tête X-Api-Key | Utilisation d'une plateforme API tierce (ex: APIYI apiyi.com) |
ANTHROPIC_AUTH_TOKEN |
Valeur d'en-tête Authorization personnalisée (préfixe Bearer auto) | Schémas d'authentification personnalisés |
ANTHROPIC_CUSTOM_HEADERS |
Ajout d'en-têtes personnalisés (format Nom: Valeur) | Passerelles nécessitant des en-têtes spécifiques |
ANTHROPIC_BASE_URL |
Adresse du point de terminaison API personnalisé | Connexion à un service proxy API tiers |
CLAUDE_CODE_CLIENT_CERT |
Chemin vers le certificat client mTLS | Authentification de sécurité d'entreprise |
CLAUDE_CODE_CLIENT_KEY |
Chemin vers la clé privée mTLS | Authentification de sécurité d'entreprise |
🎯 Note pour les utilisateurs de plateformes tierces : Si vous utilisez une plateforme API tierce comme APIYI (apiyi.com), vous devez configurer simultanément
ANTHROPIC_API_KEYetANTHROPIC_BASE_URL. Claude Code utilisera prioritairement la clé API des variables d'environnement, même si vous êtes déjà connecté avec un compte Anthropic.
Catégorie 2 : Sélection et configuration du modèle
Contrôle quel modèle Claude Code utilise ainsi que ses paramètres de comportement :
| Nom de la variable | Rôle | Valeur par défaut |
|---|---|---|
ANTHROPIC_MODEL |
Spécifie le nom du modèle principal | Claude Sonnet 4.6 |
ANTHROPIC_DEFAULT_OPUS_MODEL |
Spécifie le modèle de classe Opus | Claude Opus 4.6 |
ANTHROPIC_DEFAULT_SONNET_MODEL |
Spécifie le modèle de classe Sonnet | Claude Sonnet 4.6 |
ANTHROPIC_DEFAULT_HAIKU_MODEL |
Spécifie le modèle de classe Haiku (tâches de fond) | Claude Haiku 4.5 |
CLAUDE_CODE_SUBAGENT_MODEL |
Modèle utilisé par les sous-agents | Hérite du modèle principal |
CLAUDE_CODE_MAX_OUTPUT_TOKENS |
Nombre max de tokens en sortie | 32 000 (max 64 000) |
CLAUDE_CODE_EFFORT_LEVEL |
Profondeur de réflexion (low/medium/high/max/auto) | auto |
Catégorie 3 : Compatibilité plateforme et passerelles
Ces variables sont dédiées à la résolution des problèmes de compatibilité entre Claude Code et les différentes plateformes cloud ou passerelles LLM :
| Nom de la variable | Rôle | Plateforme concernée |
|---|---|---|
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS |
Désactive les en-têtes Beta expérimentaux | AWS Bedrock / Vertex AI / Passerelles tierces |
CLAUDE_CODE_USE_BEDROCK |
Active le mode AWS Bedrock | AWS Bedrock |
CLAUDE_CODE_SKIP_BEDROCK_AUTH |
Saute l'authentification AWS (via passerelle) | Passerelle LLM + Bedrock |
CLAUDE_CODE_USE_FOUNDRY |
Active le mode Microsoft Foundry | Azure AI |
CLAUDE_CODE_SKIP_FOUNDRY_AUTH |
Saute l'authentification Azure | Passerelle LLM + Azure |
CLAUDE_CODE_SKIP_VERTEX_AUTH |
Saute l'authentification Google Vertex | Passerelle LLM + Vertex |
ANTHROPIC_FOUNDRY_BASE_URL |
URL de base des ressources Foundry | Microsoft Foundry |
ANTHROPIC_FOUNDRY_API_KEY |
Clé API Foundry | Microsoft Foundry |
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION |
Région AWS pour le modèle Haiku | Bedrock multi-régions |
Catégorie 4 : Interrupteurs de fonctionnalités
Désactivez des fonctions spécifiques via les préfixes DISABLE_ ou CLAUDE_CODE_DISABLE_ :
| Nom de la variable | Effet si réglé sur 1 |
|---|---|
DISABLE_PROMPT_CACHING |
Désactive la mise en cache des invites |
DISABLE_AUTOUPDATER |
Désactive la mise à jour automatique |
DISABLE_TELEMETRY |
Désactive la collecte de données télémétriques |
DISABLE_ERROR_REPORTING |
Désactive les rapports d'erreurs |
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC |
Désactive tout le trafic non essentiel ci-dessus |
CLAUDE_CODE_DISABLE_AUTO_MEMORY |
Désactive la fonction de mémoire automatique |
CLAUDE_CODE_DISABLE_1M_CONTEXT |
Désactive la fenêtre de contexte d'un million de tokens |
CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING |
Désactive le raisonnement adaptatif |
CLAUDE_CODE_DISABLE_FAST_MODE |
Désactive le mode rapide |
CLAUDE_CODE_DISABLE_BACKGROUND_TASKS |
Désactive les tâches en arrière-plan |
CLAUDE_CODE_DISABLE_CRON |
Désactive les tâches planifiées |
CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS |
Supprime les instructions Git intégrées |
Catégorie 5 : Gestion du contexte et performance
Contrôle la gestion de la fenêtre de contexte et l'utilisation des ressources par Claude Code :
| Nom de la variable | Rôle | Valeur par défaut |
|---|---|---|
CLAUDE_AUTOCOMPACT_PCT_OVERRIDE |
Seuil de déclenchement de la compression auto | 95% |
CLAUDE_CODE_AUTO_COMPACT_WINDOW |
Taille de la fenêtre de tokens pour le calcul de compression | Fenêtre de contexte du modèle |
CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS |
Tokens max pour la lecture de fichiers | Valeur par défaut |
CLAUDE_CODE_API_KEY_HELPER_TTL_MS |
Intervalle de rafraîchissement des identifiants (ms) | — |
CLAUDE_CODE_TMPDIR |
Répertoire des fichiers temporaires | /tmp (Unix) |
CLAUDE_CODE_SHELL |
Spécifie le Shell à utiliser | Détection auto |
🎯 Conseil d'optimisation : Si vous remarquez que Claude Code compresse trop souvent le contexte lors de longues conversations, vous pouvez abaisser
CLAUDE_AUTOCOMPACT_PCT_OVERRIDE(par exemple à50). Cela déclenchera la compression plus tôt et réduira potentiellement la perte d'informations. Ces configurations sont également supportées lors d'appels via APIYI (apiyi.com).

Prise en main rapide des variables d'environnement Claude Code
Exemple minimaliste : configurer Claude Code pour se connecter à une plateforme API tierce
# Lancer Claude Code après avoir configuré les variables d'environnement dans le terminal
export ANTHROPIC_API_KEY="sk-your-api-key"
export ANTHROPIC_BASE_URL="https://vip.apiyi.com/v1"
export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1
claude
Voir le modèle de configuration settings.json complet (incluant les paramètres de compatibilité AWS Bedrock)
{
"env": {
"ANTHROPIC_API_KEY": "sk-your-api-key",
"ANTHROPIC_BASE_URL": "https://vip.apiyi.com/v1",
"CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1",
"CLAUDE_CODE_MAX_OUTPUT_TOKENS": "32000",
"CLAUDE_AUTOCOMPACT_PCT_OVERRIDE": "80",
"DISABLE_TELEMETRY": "1"
},
"permissions": {
"allow": ["Read", "Glob", "Grep"],
"deny": []
}
}
Configuration spécifique pour AWS Bedrock :
{
"env": {
"CLAUDE_CODE_USE_BEDROCK": "1",
"CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1",
"DISABLE_PROMPT_CACHING": "1",
"ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION": "us-east-1"
}
}
Configuration spécifique pour Microsoft Foundry :
{
"env": {
"CLAUDE_CODE_USE_FOUNDRY": "1",
"ANTHROPIC_FOUNDRY_BASE_URL": "https://my-resource.services.ai.azure.com/anthropic",
"ANTHROPIC_FOUNDRY_API_KEY": "your-foundry-key",
"CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1"
}
}
Conseil : Si vous ne voulez pas vous embêter avec les configurations complexes d'AWS Bedrock ou d'Azure, vous pouvez utiliser directement toute la gamme des modèles Claude via APIYI (apiyi.com). Il suffit de configurer deux variables, la clé API et l'URL de base, sans avoir à gérer l'authentification et les problèmes de compatibilité des plateformes cloud.
Questions fréquentes
Q1 : J’ai configuré CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 mais j’ai toujours une erreur de header anthropic-beta, que faire ?
C'est un bug connu de Claude Code (Issues GitHub #22893, #20031). Certaines nouvelles versions introduisent de nouveaux headers Beta que les variables d'environnement ne parviennent pas à intercepter complètement. Solutions :
- Revenir à une version stable connue comme la 2.1.68.
- Configurer simultanément
DISABLE_PROMPT_CACHING=1pour désactiver les headers liés au cache. - Si vous utilisez une passerelle LiteLLM, configurez
anthropic_beta_headers_config.jsonpour un filtrage précis. - Passer par une plateforme tierce avec une meilleure compatibilité comme APIYI (apiyi.com) pour éviter les problèmes de headers liés à une connexion directe à Bedrock.
Q2 : Quelle est la priorité entre la variable d’environnement ANTHROPIC_API_KEY et la connexion via /login ?
La clé API définie en variable d'environnement est prioritaire sur l'authentification par abonnement via /login. Lorsque vous configurez la variable d'environnement ANTHROPIC_API_KEY, Claude Code utilisera cette clé et facturera à l'usage via l'API, même si vous êtes déjà connecté à un abonnement Claude Pro/Team via /login. Si vous utilisez une clé obtenue via APIYI (apiyi.com), les frais seront réglés via cette plateforme.
Q3 : Comment vérifier la configuration des variables d’environnement actuellement active dans Claude Code ?
En mode interactif dans Claude Code, lancez la commande /config pour voir l'état de tous les paramètres actuels, y compris les variables d'environnement, les réglages du fichier settings.json et les valeurs par défaut. Vous pouvez aussi lancer env | grep -E "CLAUDE|ANTHROPIC|DISABLE" dans votre terminal pour voir les variables d'environnement concernées qui ont été définies.
Résumé
Points clés des variables d'environnement Claude Code :
- Résoudre l'erreur AWS Bedrock : Définissez
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1pour désactiver les en-têtes Beta expérimentaux. Une seule ligne de configuration suffit pour corriger l'erreur « Unexpected value(s) for the anthropic-beta header ». - Plus de 60 variables réparties en 6 catégories : Configuration d'authentification, sélection du modèle, compatibilité plateforme, commutateurs de fonctionnalités, gestion du contexte et autres paramètres.
- Deux méthodes de configuration : Export Shell (temporaire) et
settings.json(permanent). Il est recommandé d'utiliser le fichiersettings.jsonpour une configuration durable. - Solution simplifiée via plateforme tierce : En passant par une plateforme API unifiée comme APIYI (apiyi.com), il suffit de configurer deux variables,
ANTHROPIC_API_KEYetANTHROPIC_BASE_URL, sans avoir à gérer l'authentification complexe des plateformes cloud ou les problèmes de compatibilité des en-têtes Beta.
Nous vous recommandons d'utiliser APIYI (apiyi.com) pour tester rapidement Claude Code. La plateforme offre des crédits gratuits et une interface unifiée, vous évitant ainsi les nombreux pièges de configuration liés à AWS Bedrock ou Vertex AI.
📚 Ressources complémentaires
-
Documentation officielle Claude Code – Variables d'environnement : Liste complète et description des variables d'environnement.
- Lien :
code.claude.com/docs/en/env-vars - Description : La référence officielle pour l'ensemble des 60+ variables d'environnement.
- Lien :
-
Documentation officielle Claude Code – Paramètres : Portée de la configuration et spécifications du fichier
settings.json.- Lien :
code.claude.com/docs/en/settings - Description : Pour comprendre le système de configuration à quatre niveaux (Managed/User/Project/Local).
- Lien :
-
Documentation officielle Claude Code – Amazon Bedrock : Guide d'intégration AWS Bedrock.
- Lien :
code.claude.com/docs/en/amazon-bedrock - Description : Configurations spécifiques à Bedrock et résolution des problèmes courants.
- Lien :
-
GitHub Issue #22893 – DISABLE_EXPERIMENTAL_BETAS ne s'applique pas totalement : Rapport de bug de la communauté.
- Lien :
github.com/anthropics/claude-code/issues/22893 - Description : Pour connaître les limitations connues de cette variable d'environnement et les solutions temporaires.
- Lien :
-
LiteLLM – Gestion des en-têtes Beta Claude Code : Solution de filtrage des en-têtes Beta au niveau de la passerelle.
- Lien :
docs.litellm.ai/docs/tutorials/claude_code_beta_headers - Description : Contrôle précis des en-têtes Beta lors de l'utilisation de la passerelle LiteLLM.
- Lien :
Auteur : Équipe technique APIYI
Échanges techniques : N'hésitez pas à partager vos expériences de configuration de Claude Code dans la section commentaires. Pour plus de tutoriels, visitez notre centre de documentation sur APIYI (docs.apiyi.com).
