|

Guide complet des variables d’environnement Claude Code : résoudre l’erreur de compatibilité AWS Bedrock en un seul réglage

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.

claude-code-environment-variables-complete-guide-fr 图示


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.

claude-code-environment-variables-complete-guide-fr 图示


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.json qui 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_KEY et ANTHROPIC_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).

claude-code-environment-variables-complete-guide-fr 图示


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 :

  1. Revenir à une version stable connue comme la 2.1.68.
  2. Configurer simultanément DISABLE_PROMPT_CACHING=1 pour désactiver les headers liés au cache.
  3. Si vous utilisez une passerelle LiteLLM, configurez anthropic_beta_headers_config.json pour un filtrage précis.
  4. 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 :

  1. Résoudre l'erreur AWS Bedrock : Définissez CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 pour 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 ».
  2. 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.
  3. Deux méthodes de configuration : Export Shell (temporaire) et settings.json (permanent). Il est recommandé d'utiliser le fichier settings.json pour une configuration durable.
  4. 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_KEY et ANTHROPIC_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

  1. 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.
  2. 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).
  3. 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.
  4. 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.
  5. 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.

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).

Publications similaires