Skip to main content
Les variables d’environnement peuvent contrôler le comportement de Claude Code, comme la sélection du modèle, l’authentification, le routage des requêtes et les bascules de fonctionnalités. Beaucoup des mêmes comportements peuvent également être configurés via un fichier de paramètres, un drapeau CLI ou une commande en session comme /model. Cette page couvre comment :

Définir les variables d’environnement

Une variable que vous définissez dans votre shell dure pendant cette session de terminal, tandis qu’une variable dans un fichier de paramètres s’applique chaque fois que claude s’exécute.

Dans votre shell

Définissez la variable avant de lancer claude :
Pour la définir pour chaque session, ajoutez la ligne export à ~/.bashrc, ~/.zshrc, ou le fichier de profil de votre shell.
La ligne d’assignation n’affiche rien en cas de succès, donc confirmez que la variable est définie en l’affichant dans le même shell avant d’exécuter claude :

Dans les fichiers de paramètres

Ajoutez les variables sous la clé env dans un fichier settings.json, en créant le fichier s’il n’existe pas. Claude Code les lit directement depuis le fichier, donc elles prennent effet peu importe comment claude a été lancé. Une session en cours applique les valeurs nouvelles et modifiées à son environnement lorsque vous enregistrez le fichier, mais une fonctionnalité qui lit ses variables une seule fois au démarrage, comme la surveillance OpenTelemetry, conserve ses valeurs de démarrage jusqu’à ce que vous relancez. Retirer une variable du fichier ne la supprime pas d’une session en cours ; ce retrait prend effet la prochaine fois que vous lancez claude.
~/.claude/settings.json
Le fichier que vous choisissez contrôle à qui les variables s’appliquent : Consultez Fichiers de paramètres pour savoir où se trouve chaque fichier et Précédence des paramètres pour savoir comment ils se combinent lorsque plusieurs définissent la même variable.

Précédence

Certains comportements ont à la fois une variable d’environnement et une clé de paramètres dédiée, et celle que Claude Code lit en premier diffère selon la clé. Pour ANTHROPIC_MODEL et CLAUDE_CODE_AUTO_CONNECT_IDE, Claude Code lit d’abord la variable et utilise le paramètre model ou autoConnectIde uniquement lorsque la variable n’est pas définie. Pour la paire que vous définissez, vérifiez la ligne de la variable ci-dessous et l’entrée de la clé sur la référence des paramètres. Lorsque la même variable est définie à la fois dans votre shell et dans un bloc env du fichier de paramètres, la valeur du fichier de paramètres s’applique dans la plupart des sessions. Claude Code écrit chaque entrée env dans l’environnement du processus, en remplaçant la valeur héritée du shell. Comment les valeurs env interagissent avec votre shell couvre les sessions qui conservent la valeur héritée à la place, et le paramètre env indique quand il les applique. Quelques variables sont traitées de manière spéciale ; le paramètre env énumère les exceptions. Dans un fichier de paramètres, vous pouvez définir une variable mais vous ne pouvez pas en retirer une. Pour remplacer une variable que vous ne pouvez pas supprimer, comme une CLAUDE_CODE_USE_VERTEX obsolète exportée par un profil de shell que vous ne contrôlez pas, définissez-la sur une chaîne vide dans le bloc env : "CLAUDE_CODE_USE_VERTEX": "". Claude Code traite la valeur vide comme non définie pour la sélection du fournisseur. Les sous-processus héritent toujours de la valeur vide. Entre les fichiers de paramètres, les valeurs env suivent la précédence des paramètres, de sorte qu’une entrée de paramètres gérée remplace la même variable dans les paramètres utilisateur ou projet. Les paramètres de projet et locaux ne peuvent pas définir certaines variables, comme CLAUDE_CONFIG_DIR et les variables d’exportateur OpenTelemetry. Les variables que Claude Code ignore dans env les énumère, ainsi que les valeurs d’arrêt OpenTelemetry qui s’appliquent toujours. La façon dont une variable d’environnement interagit avec les drapeaux CLI et les commandes en session varie selon la fonctionnalité : --model et /model remplacent ANTHROPIC_MODEL, tandis que CLAUDE_CODE_EFFORT_LEVEL remplace --effort et /effort. Lorsqu’une variable interagit avec une autre source de configuration, sa ligne dans la liste Variables indique la précédence ou établit un lien vers la page qui la documente. Claude Code lit les variables d’environnement du shell au démarrage, de sorte que les modifications apportées à celles-ci prennent effet la prochaine fois que vous lancez claude. Les variables définies sous la clé env dans les fichiers de paramètres sont réappliquées à une session en cours lorsque le fichier change, à l’exception du démarrage uniquement décrite dans Dans les fichiers de paramètres.

Variables

Les variables numériques telles que les délais d’expiration, les budgets de jetons et les nombres de tentatives acceptent la notation scientifique et les orthographes avec séparateurs de chiffres en plus des chiffres simples, sauf si la ligne d’une variable indique qu’elle n’accepte que des chiffres simples. Par exemple, Claude Code lit 2e3 comme 2000 et 64_000 comme 64000. Avant la v2.1.211, ces orthographes pouvaient définir silencieusement une valeur beaucoup plus petite, comme 1e6 définissant un délai d’expiration à 1.
Pour les variables qui activent ou désactivent un comportement, définissez 1 ou true pour l’activer et 0 ou false pour le désactiver, en n’importe quelle casse.Certaines variables ne lisent que si vous les avez définies, donc toute valeur non vide, y compris 0, active le comportement, et vous désactivez le comportement en supprimant la variable ou en la définissant sur une valeur vide. Ces variables fonctionnent de cette façon :
  • CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC
  • DISABLE_TELEMETRY
  • DISABLE_ERROR_REPORTING
  • CLAUDE_CODE_TMUX_TRUECOLOR
  • FALLBACK_FOR_ALL_PRIMARY_MODELS
  • IS_DEMO
Une autre variable a sa propre règle : FORCE_HYPERLINK lit un nombre, donc seul 0 la désactive. La ligne de chaque variable énonce également sa propre règle.
Les variables d’exportateur OpenTelemetry standard (OTEL_METRICS_EXPORTER, OTEL_LOGS_EXPORTER, OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_EXPORTER_OTLP_PROTOCOL, OTEL_EXPORTER_OTLP_HEADERS, OTEL_METRIC_EXPORT_INTERVAL, OTEL_RESOURCE_ATTRIBUTES et les variantes spécifiques au signal) sont également prises en charge. Voir Surveillance pour les détails de configuration. Définissez CLAUDE_CODE_ENABLE_TELEMETRY et les variables OpenTelemetry qui activent l’export, choisissent sa destination ou capturent le contenu dans votre shell, vos paramètres utilisateur ou vos paramètres gérés. Claude Code les ignore dans les paramètres de projet et locaux, à part les valeurs désactivées que cette section décrit. OTEL_RESOURCE_ATTRIBUTES et l’intervalle d’export, le délai d’expiration et les variables de compression, comme OTEL_METRIC_EXPORT_INTERVAL, s’appliquent toujours à partir des paramètres de projet et locaux.

Fonctionnalités nécessitant la récupération de feature flags

Claude Code active certaines fonctionnalités via des feature flags qu’il récupère auprès d’Anthropic. Claude Code ignore cette récupération dans ces sessions :
  • Une session où vous définissez DISABLE_GROWTHBOOK, DISABLE_TELEMETRY, DO_NOT_TRACK, ou CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC ; la ligne de chaque variable dans le tableau des variables indique quelles valeurs désactivent la récupération
  • Une session sur un fournisseur tiers, tel qu’Amazon Bedrock, Claude Platform sur AWS, Agent Platform de Google Cloud, ou Microsoft Foundry, sauf si une plateforme hôte qui intègre Claude Code définit CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST
  • Une session de passerelle d’applications Claude
Avec la récupération désactivée, vous ne pouvez pas :

Première session après une installation ou une mise à jour

Lors de votre première session après l’installation de Claude Code, ou la mise à jour vers une version qui ajoute une fonctionnalité, une fonctionnalité contrôlée par flag peut être manquante. Cette session peut également démarrer dans un mode de permission différent de celui de vos sessions ultérieures. Claude Code récupère les flags lors de cette session, donc votre session suivante dispose de la fonctionnalité et du mode de permission de démarrage habituel. Après une installation propre, dans une session non-interactive telle que claude -p, le SDK Agent, ou l’extension VS Code, Claude Code peut toujours récupérer les flags avant de choisir le mode de permission de démarrage.

Voir aussi