Files
claude-code-best-practice/fr/best-practice/claude-settings.md
T
2026-06-02 23:24:21 +02:00

112 KiB
Raw Blame History

Bonnes pratiques — Paramètres (settings)

Last Updated Version
Implemented

Un guide complet de toutes les options de configuration disponibles dans les fichiers settings.json de Claude Code. À partir de la v2.1.159, Claude Code expose 80+ paramètres et 200+ variables d'environnement (utilise le champ "env" dans settings.json pour éviter les scripts wrapper).

← Retour à Claude Code Best Practice Claude

Table des matières

  1. Hiérarchie des paramètres
  2. Configuration de base
  3. Permissions
  4. Hooks
  5. Serveurs MCP
  6. Sandbox
  7. Plugins
  8. Configuration du modèle
  9. Affichage & UX
  10. Identifiants AWS & Cloud
  11. Variables d'environnement
  12. Commandes utiles

Hiérarchie des paramètres

Les paramètres s'appliquent par ordre de priorité (du plus élevé au plus bas) :

Priorité Emplacement Portée Partagé ? Objectif
1 Managed settings Organisation Oui (déployé par l'IT) Politiques de sécurité non surchargeables
2 Arguments en ligne de commande Session N/A Surcharges temporaires sur une seule session
3 .claude/settings.local.json Projet Non (git-ignored) Personnel, spécifique au projet
4 .claude/settings.json Projet Oui (committé) Paramètres partagés en équipe
5 ~/.claude/settings.json Utilisateur N/A Défauts personnels globaux

Les managed settings sont imposés par l'organisation et ne peuvent être surchargés par aucun autre niveau, y compris les arguments en ligne de commande. Méthodes de livraison :

  • Paramètres gérés par serveur (livraison distante)
  • Profils MDM — plist macOS à com.anthropic.claudecode
  • Politiques de registre — Windows HKLM\SOFTWARE\Policies\ClaudeCode (admin) et HKCU\SOFTWARE\Policies\ClaudeCode (niveau utilisateur, priorité de politique la plus basse)
  • Fichiermanaged-settings.json et managed-mcp.json (macOS : /Library/Application Support/ClaudeCode/, Linux/WSL : /etc/claude-code/, Windows : C:\Program Files\ClaudeCode\)
  • Répertoire drop-inmanaged-settings.d/ à côté de managed-settings.json pour des fragments de politique indépendants (v2.1.83). Suivant la convention systemd, managed-settings.json est fusionné en premier comme base, puis tous les fichiers *.json du répertoire drop-in sont triés alphabétiquement et fusionnés par-dessus. Les fichiers plus tardifs surchargent les précédents pour les valeurs scalaires ; les tableaux sont concaténés et dédupliqués ; les objets sont fusionnés en profondeur. Les fichiers cachés commençant par . sont ignorés. Utilise des préfixes numériques pour contrôler l'ordre de fusion (par ex. 10-telemetry.json, 20-security.json)

Au sein du palier managed, la priorité est : géré par serveur > politiques MDM/au niveau OS > basé sur fichier (managed-settings.d/*.json + managed-settings.json) > registre HKCU (Windows uniquement). Une seule source managed est utilisée ; les sources ne fusionnent pas entre paliers. Au sein du palier basé sur fichier, les fichiers drop-in et le fichier de base sont fusionnés ensemble.

Note : À partir de la v2.1.75, le chemin de repli Windows déprécié C:\ProgramData\ClaudeCode\managed-settings.json a été retiré. Utilise plutôt C:\Program Files\ClaudeCode\managed-settings.json.

Note (v2.1.126) : /config persiste désormais les changements dans ~/.claude/settings.json au lieu de les garder seulement en mémoire. Les modifications faites via l'UI Config interactive survivent aux redémarrages.

Clés de politique managed-only :

Clé Type Défaut Description
parentSettingsBehavior string "first-wins" Contrôle si les managed settings fournis par programme par un processus hôte d'embarquement (parent SDK) s'appliquent quand un palier managed déployé par admin est aussi présent. "first-wins" : les paramètres fournis par le parent sont écartés et seul le palier admin s'applique. "merge" : les paramètres fournis par le parent s'appliquent sous le palier admin et sont filtrés pour qu'ils puissent resserrer la politique mais pas l'assouplir. Requiert v2.1.133+
policyHelper object - Exécutable déployé par admin qui calcule les managed settings dynamiquement au démarrage. Forme d'objet : {path: string} pointant vers le binaire helper. Honoré uniquement depuis MDM ou un fichier système managed-settings.json (jamais depuis les paramètres utilisateur/projet). La sortie du helper est fusionnée dans le palier managed à chaque démarrage. Requiert v2.1.136+

Important :

  • Les règles deny ont la priorité de sécurité la plus élevée et ne peuvent être surchargées par des règles allow/ask de priorité inférieure.
  • Les managed settings peuvent verrouiller ou surcharger le comportement local même si des fichiers locaux spécifient des valeurs différentes.
  • Les paramètres de type tableau (par ex. permissions.allow) sont concaténés et dédupliqués entre portées — les entrées de tous les niveaux sont combinées, non remplacées.

Configuration de base

Paramètres généraux

Clé Type Défaut Description
$schema string - URL de schéma JSON pour la validation et l'autocomplétion dans l'IDE (par ex. "https://json.schemastore.org/claude-code-settings.json")
model string "default" Surcharger le modèle par défaut. Accepte des alias (sonnet, opus, haiku) ou des IDs de modèle complets
agent string - Définir l'agent par défaut de la conversation principale. La valeur est le nom de l'agent dans .claude/agents/. Aussi disponible via le drapeau CLI --agent
language string "english" Langue de réponse préférée de Claude. Définit aussi la langue de la dictée vocale et le titre de l'onglet de terminal (v2.1.121)
claudeMdExcludes array - Motifs glob ou chemins absolus de fichiers CLAUDE.md à ignorer lors du chargement de la mémoire. Les motifs correspondent aux chemins de fichiers absolus. S'applique uniquement à la mémoire utilisateur, projet et locale ; les fichiers de politique managed ne peuvent pas être exclus. Exemple : ["**/vendor/**/CLAUDE.md"]
claudeMd string - (Managed only) Instructions de style CLAUDE.md injectées comme mémoire gérée par l'organisation. Honoré uniquement quand défini dans les managed/policy settings ; ignoré dans les paramètres utilisateur, projet et locaux. Exemple : "Always run make lint before committing."
cleanupPeriodDays number 30 Seuil d'âge pour le balayage de nettoyage au démarrage (minimum 1). Les transcripts de sessions inactives et les worktrees de sous-agents orphelins sont supprimés ; à partir de la v2.1.117 le balayage couvre aussi ~/.claude/tasks/, ~/.claude/shell-snapshots/, et ~/.claude/backups/. La valeur 0 est rejetée avec une erreur de validation. Pour désactiver l'écriture des transcripts en mode non interactif (-p), utilise --no-session-persistence ou l'option SDK persistSession: false
autoUpdatesChannel string "latest" Canal de version : "stable" ou "latest"
minimumVersion string - Empêcher l'auto-updater de redescendre sous une version spécifique. Défini automatiquement en passant au canal stable et en choisissant de rester sur la version actuelle jusqu'à ce que stable rattrape. Utilisé avec autoUpdatesChannel
alwaysThinkingEnabled boolean false Activer la réflexion étendue par défaut pour toutes les sessions
skipWebFetchPreflight boolean false Sauter la vérification de blocklist WebFetch avant de récupérer des URLs (dans le schéma JSON, pas sur la page officielle des paramètres)
availableModels array - Restreindre quels modèles les utilisateurs peuvent sélectionner via /model, --model, l'outil Config ou ANTHROPIC_MODEL. N'affecte pas l'option Default. Exemple : ["sonnet", "haiku"]
fastModePerSessionOptIn boolean false Exiger des utilisateurs qu'ils optent pour le mode fast à chaque session
defaultShell string "bash" Shell par défaut pour les commandes ! de la zone de saisie. Accepte "bash" (défaut) ou "powershell". Mettre "powershell" route les commandes ! interactives via PowerShell sous Windows. Requiert CLAUDE_CODE_USE_POWERSHELL_TOOL=1 (v2.1.84). v2.1.120 : Quand PowerShell est disponible, il est utilisé comme shell de repli sous Windows même sans Git for Windows installé. v2.1.126 : Quand PowerShell est activé, il est traité comme shell primaire au lieu de revenir à Bash par défaut. La détection de PowerShell 7 couvre désormais aussi les installs Microsoft Store, les installs MSI hors PATH et les installs d'outils globaux .NET
includeGitInstructions boolean true Inclure les instructions intégrées de workflow de commit et de PR ainsi que l'instantané du git status dans le system prompt de Claude. La variable d'environnement CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS prend le pas sur ce paramètre quand elle est définie
voice object - Configuration de la dictée vocale. Objet à trois champs : enabled (boolean — push-to-talk on/off), mode (string — "hold" pour maintenir-pour-parler ou "tap" pour appuyer-pour-basculer), et autoSubmit (boolean — soumettre le transcript immédiatement à la fin de la dictée). Écrit automatiquement quand tu lances /voice. Requiert un compte Claude.ai (structure élargie en v2.1.118)
voiceEnabled boolean - DÉPRÉCIÉ — alias hérité de voice.enabled. Utilise plutôt l'objet voice pour obtenir les contrôles mode et autoSubmit
showClearContextOnPlanAccept boolean false Afficher l'option « clear context » sur l'écran d'acceptation du plan. Mets true pour restaurer l'option (masquée par défaut depuis v2.1.81)
viewMode string - Mode d'affichage du transcript par défaut au démarrage : "default", "verbose", ou "focus". Surcharge la sélection persistante Ctrl+O quand défini
disableDeepLinkRegistration string - Mets "disable" pour empêcher Claude Code d'enregistrer le gestionnaire de protocole claude-cli:// auprès du système d'exploitation au démarrage. Les deep links permettent à des outils externes d'ouvrir une session Claude Code avec un prompt pré-rempli via claude-cli://open?q=.... Le paramètre q supporte les prompts multilignes via des sauts de ligne URL-encodés (%0A). Utile dans les environnements où l'enregistrement de gestionnaires de protocole est restreint ou géré séparément
showThinkingSummaries boolean false Afficher les résumés de réflexion étendue dans les sessions interactives. Quand non défini ou false (défaut en mode interactif), les blocs de réflexion sont caviardés par l'API et affichés sous forme de stub réduit. Le caviardage ne change que ce que tu vois, pas ce que le modèle génère — pour réduire la dépense de réflexion, baisse plutôt le budget ou désactive la réflexion. Le mode non interactif (-p) et les appelants SDK reçoivent toujours les résumés indépendamment de ce paramètre
disableSkillShellExecution boolean false Désactiver l'exécution shell inline pour les blocs !`...` et ```! dans les skills et commandes personnalisées provenant de sources utilisateur, projet, plugin ou répertoire additionnel. Les commandes sont remplacées par [shell command execution disabled by policy] au lieu d'être exécutées. Les skills fournis et managed ne sont pas affectés (v2.1.91)
maxSkillDescriptionChars number 1536 Limite de caractères par skill sur le texte combiné description + when_to_use dans la liste des skills que Claude voit à chaque tour. Le texte plus long est tronqué (v2.1.105)
skillListingBudgetFraction number 0.01 Fraction de la fenêtre de contexte du modèle réservée à la liste des skills que Claude voit à chaque tour (0.01 = 1%). Quand la liste dépasse le budget, les descriptions des skills les moins utilisés sont réduites à leur nom seul, pour que Claude puisse encore les invoquer sans en voir la raison (v2.1.105)
forceRemoteSettingsRefresh boolean false (Managed only) Bloquer le démarrage du CLI jusqu'à ce que les managed settings distants soient fraîchement récupérés. Si la récupération échoue, le CLI quitte (fail-closed). À utiliser dans les environnements entreprise où l'application de la politique doit être à jour avant le début de toute session (v2.1.92)
wslInheritsWindowsSettings boolean false (Managed settings Windows uniquement) Quand true, Claude Code sur WSL lit les managed settings de la chaîne de politique Windows (registre HKLM + C:\Program Files\ClaudeCode\managed-settings.json) en plus de /etc/claude-code, les sources Windows ayant priorité. Honoré uniquement quand défini dans la clé de registre HKLM ou C:\Program Files\ClaudeCode\managed-settings.json, qui requièrent tous deux des droits admin Windows pour écrire. Pour que la politique HKCU s'applique aussi sur WSL, le drapeau doit en plus être défini dans HKCU lui-même. Aucun effet sur Windows natif (v2.1.118)
tui string "default" Mode de rendu : "fullscreen" ou "default". Défini via /tui fullscreen pour un rendu écran alternatif sans scintillement (v2.1.110)
awaySummaryEnabled boolean true Générer un « away summary » (récapitulatif de session inactive) quand l'utilisateur revient après s'être absenté. Mets false pour s'en désinscrire. Va de pair avec la variable d'env CLAUDE_CODE_ENABLE_AWAY_SUMMARY (v2.1.110)
skillOverrides object - Surcharges de visibilité par skill, indexées par nom de skill. La valeur est "on" (complet), "name-only" (visible mais non auto-décrit), "user-invocable-only" (masqué de la découverte modèle mais toujours invocable via slash), ou "off" (entièrement masqué). Exemple : {"legacy-context": "name-only", "deploy": "off"} (v2.1.129)
disableRemoteControl boolean false Désactiver le Remote Control : bloque claude remote-control, le drapeau --remote-control, l'auto-démarrage et le toggle en session. Placé typiquement dans les managed settings pour une application MDM par appareil, mais fonctionne depuis n'importe quelle portée (v2.1.128)
disableAgentView boolean false Mets true pour désactiver les agents en arrière-plan et la vue agent : claude agents, --bg, /background, et le superviseur à la demande. Peut être défini à n'importe quelle portée mais placé typiquement dans les managed settings. Équivalent à mettre la variable d'env CLAUDE_CODE_DISABLE_AGENT_VIEW à 1
disableWorkflows boolean false Mets true pour désactiver les workflows dynamiques (/workflows) et les commandes slash de workflow fournies. Peut être défini à n'importe quelle portée. Équivalent à la variable d'env CLAUDE_CODE_DISABLE_WORKFLOWS. Les workflows ont été introduits en v2.1.154
workflowKeywordTriggerEnabled boolean true Si taper le mot « workflow » dans un prompt peut déclencher un workflow dynamique. Mets false pour exiger une invocation explicite /workflows. Apparaît dans /config (v2.1.157)
ultracode boolean - (Session uniquement — non persisté) Quand true, le harnais rédige et exécute un workflow pour chaque tâche substantielle par défaut, maximisant l'exhaustivité quel que soit le coût en tokens. Apparaît dans la liste officielle « Available settings » mais a une portée de session : défini via /effort ultracode, --settings ou le SDK plutôt qu'écrit dans settings.json (v2.1.154)
feedbackSurveyRate number - Probabilité (01) que l'enquête de qualité de session apparaisse quand éligible. Les admins entreprise peuvent contrôler la fréquence d'affichage de l'enquête. Exemple : 0.05 = 5% des sessions éligibles

Exemple :

{
  "model": "opus",
  "agent": "code-reviewer",
  "language": "japanese",
  "cleanupPeriodDays": 60,
  "autoUpdatesChannel": "stable",
  "alwaysThinkingEnabled": true
}

Répertoires de plans & de mémoire

Stocker les fichiers de plan et d'auto-mémoire dans des emplacements personnalisés.

Clé Type Défaut Description
plansDirectory string ~/.claude/plans Répertoire où sont stockées les sorties de /plan
autoMemoryDirectory string - Répertoire personnalisé pour le stockage de l'auto-mémoire. Accepte les chemins étendus ~/. Non accepté dans les paramètres projet (.claude/settings.json) pour empêcher de rediriger les écritures de mémoire vers des emplacements sensibles ; accepté depuis les paramètres policy, local et utilisateur
autoMemoryEnabled boolean true Activer l'auto-mémoire. Quand false, Claude ne lit ni n'écrit dans le répertoire d'auto-mémoire. Peut aussi être basculé avec /memory durant une session, ou désactivé via la variable d'env CLAUDE_CODE_DISABLE_AUTO_MEMORY

Exemple :

{
  "plansDirectory": "./my-plans"
}

Cas d'usage : Utile pour organiser les artefacts de planification séparément des fichiers internes de Claude, ou pour garder les plans dans un emplacement d'équipe partagé.

Paramètres de worktree

Configurer comment --worktree crée et gère les worktrees git. Utile pour réduire l'usage disque et le temps de démarrage dans les grands monorepos.

Clé Type Défaut Description
worktree.symlinkDirectories array [] Répertoires à lier symboliquement depuis le dépôt principal vers chaque worktree pour éviter de dupliquer de gros répertoires sur disque
worktree.sparsePaths array [] Répertoires à checkout dans chaque worktree via git sparse-checkout (mode cone). Seuls les chemins listés sont écrits sur disque
worktree.baseRef string "fresh" Depuis quelle ref les nouveaux worktrees branchent. "fresh" branche depuis origin/<default-branch> pour un arbre propre correspondant au distant. "head" branche depuis ton HEAD local actuel, incluant les changements non committés mais suivis (v2.1.133)
worktree.bgIsolation string "worktree" Mode d'isolation pour les sessions en arrière-plan. "worktree" (défaut) bloque Edit/Write dans le checkout principal jusqu'à ce que EnterWorktree soit appelé ; "none" laisse les jobs d'arrière-plan éditer la copie de travail directement (v2.1.143)

Exemple :

{
  "worktree": {
    "symlinkDirectories": ["node_modules", ".cache"],
    "sparsePaths": ["packages/my-app", "shared/utils"]
  }
}

Paramètres d'attribution

Personnaliser les messages d'attribution pour les commits git et les pull requests.

Clé Type Défaut Description
attribution.commit string Co-authored-by Attribution des commits git (supporte les trailers)
attribution.pr string Message généré Attribution de la description de pull request
prUrlTemplate string - Template d'URL qui contrôle comment le badge « PR » dans l'attribution de commit pointe vers l'UI de la pull request. Supporte des placeholders pour l'hôte du dépôt, le propriétaire, le dépôt et le numéro de PR. Utile pour les instances GitLab/Bitbucket/GitHub Enterprise auto-hébergées où l'URL par défaut https://github.com/... ne s'applique pas (v2.1.119)
includeCoAuthoredBy boolean true DÉPRÉCIÉ — Utilise attribution à la place

Exemple :

{
  "attribution": {
    "commit": "Generated with AI\n\nCo-Authored-By: Claude <noreply@anthropic.com>",
    "pr": "Generated with Claude Code"
  }
}

Note : Mets une chaîne vide ("") pour masquer entièrement l'attribution.

Helpers d'authentification

Scripts pour la génération dynamique de tokens d'authentification.

Clé Type Description
apiKeyHelper string Chemin de script shell qui produit un token d'auth (envoyé comme en-tête X-Api-Key)
forceLoginMethod string Restreindre le login aux comptes "claudeai" ou "console"
forceLoginOrgUUID string | array Exiger que le login appartienne à une organisation spécifique. Accepte un seul UUID string (qui pré-sélectionne aussi cette organisation pendant le login) ou un tableau d'UUIDs où toute organisation listée est acceptée sans pré-sélection. Quand défini dans les managed settings, le login échoue si le compte authentifié n'appartient pas à une organisation listée ; un tableau vide échoue en fail-closed et bloque le login avec un message de mauvaise configuration
gcpAuthRefresh string Script personnalisé qui rafraîchit les GCP Application Default Credentials quand elles expirent ou ne peuvent être chargées. Exécuté par Claude Code avant de retenter l'authentification. Utile quand les ADC sont à courte durée de vie et requièrent un helper propre à l'organisation pour se renouveler. Exemple : "gcloud auth application-default login"

Exemple :

{
  "apiKeyHelper": "/bin/generate_temp_api_key.sh",
  "forceLoginMethod": "console",
  "forceLoginOrgUUID": ["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"]
}

Annonces d'entreprise

Afficher des annonces personnalisées aux utilisateurs au démarrage (alternées aléatoirement).

Clé Type Description
companyAnnouncements array Tableau de chaînes affichées au démarrage

Exemple :

{
  "companyAnnouncements": [
    "Welcome to Acme Corp!",
    "Remember to run tests before committing!",
    "Check the wiki for coding standards"
  ]
}

Permissions

Contrôler quels outils et opérations Claude peut effectuer.

Structure des permissions

{
  "permissions": {
    "allow": [],
    "ask": [],
    "deny": [],
    "additionalDirectories": [],
    "defaultMode": "acceptEdits",
    "disableBypassPermissionsMode": "disable"
  }
}

Clés de permission

Clé Type Description
permissions.allow array Règles autorisant l'usage d'outils sans demande
permissions.ask array Règles exigeant une confirmation de l'utilisateur
permissions.deny array Règles bloquant l'usage d'outils (priorité la plus élevée)
permissions.additionalDirectories array Répertoires supplémentaires accessibles à Claude
permissions.defaultMode string Mode de permissions par défaut. Dans les environnements Remote, seuls acceptEdits et plan sont honorés (v2.1.70+)
permissions.disableBypassPermissionsMode string Empêcher l'activation du mode bypass
permissions.skipDangerousModePermissionPrompt boolean Sauter la demande de confirmation affichée avant d'entrer en mode bypass permissions via --dangerously-skip-permissions ou defaultMode: "bypassPermissions". Ignoré quand défini dans les paramètres projet (.claude/settings.json) pour empêcher des dépôts non fiables de contourner automatiquement la demande
allowManagedPermissionRulesOnly boolean (Managed only) Seules les règles de permission managed s'appliquent ; les règles allow, ask, deny utilisateur/projet sont ignorées
autoMode object Personnaliser ce que le classifieur du mode auto bloque et autorise. Contient environment (descriptions d'infrastructure de confiance), allow (exceptions aux règles de blocage), soft_deny (règles de blocage) et hard_deny (règles de blocage inconditionnelles — non surchargeables par des exceptions allow ou le sentinel $defaults, v2.1.136) — tous des tableaux de chaînes en prose. Non lu depuis les paramètres projet partagés (.claude/settings.json) pour empêcher l'injection par dépôt. Disponible dans les paramètres utilisateur, local et managed. Mettre allow ou soft_deny remplace toute la liste par défaut pour cette section sauf si tu inclus la chaîne littérale "$defaults" dans le tableau — le sentinel hérite des règles intégrées à cette position pour que les entrées personnalisées s'ajoutent à côté (v2.1.118). Lance claude auto-mode defaults pour voir les règles intégrées avant de personnaliser
disableAutoMode string Mets "disable" pour empêcher l'activation du mode auto. Retire auto du cycle Shift+Tab et rejette --permission-mode auto au démarrage. Peut être défini à n'importe quel niveau de paramètres ; le plus utile dans les managed settings où les utilisateurs ne peuvent le surcharger
useAutoModeDuringPlan boolean Si le mode plan utilise la sémantique du mode auto quand le mode auto est disponible. Défaut : true. Non lu depuis les paramètres projet partagés (.claude/settings.json). Apparaît dans /config comme « Use auto mode during plan »

Modes de permissions

Mode Comportement
"default" Vérification standard des permissions avec demandes
"acceptEdits" Accepte automatiquement les modifications de fichiers et les commandes de système de fichiers courantes (mkdir, touch, mv, cp, etc.) pour les chemins dans le répertoire de travail ou additionalDirectories
"dontAsk" Refuse automatiquement les outils sauf pré-approbation via /permissions ou les règles permissions.allow
"bypassPermissions" Sauter toutes les vérifications de permissions (dangereux). Les écritures vers des chemins protégés (.git, .claude, .vscode, .idea, .husky) demandent toujours. À partir de la v2.1.121, les écritures vers .claude/commands/, .claude/agents/, .claude/skills/ et .claude/worktrees/ sont explicitement exemptées de la demande sur chemins protégés car Claude y écrit régulièrement en créant skills, sous-agents et commandes. v2.1.126 étend encore l'exemption : les écritures vers .claude/, .git/, .vscode/ et les fichiers de config shell (par ex. .bashrc, .zshrc) ne demandent plus sous --dangerously-skip-permissions. Les suppressions visant la racine du système de fichiers ou le répertoire home (rm -rf /, rm -rf ~) demandent toujours, comme disjoncteur contre l'erreur du modèle
"auto" Approuve automatiquement les appels d'outils avec des vérifications de sécurité en arrière-plan qui vérifient que les actions s'alignent sur ta requête. Aperçu de recherche. Le classifieur auto-approuve la lecture seule et les modifications de fichiers ; envoie tout le reste à une vérification de sécurité. Revient à demander après 3 blocages consécutifs ou 20 au total. Dans le cycle de modes de permissions Shift+Tab par défaut depuis v2.1.111 (le drapeau --enable-auto-mode a été retiré en v2.1.111 — démarre dans ce mode avec --permission-mode auto). Configure avec le paramètre autoMode
"plan" Mode d'exploration en lecture seule. À partir de la v2.1.136, les écritures de fichiers sont bloquées même quand une règle allow Edit(...) correspondante existe — le mode plan surcharge désormais les règles allow explicites pour maintenir sa garantie de lecture seule

Syntaxe des permissions d'outils

Outil Syntaxe Exemples
Bash Bash(command pattern) Bash(npm run *), Bash(* install), Bash(git * main)
PowerShell PowerShell(cmd *) PowerShell(Get-ChildItem *), PowerShell(git commit *) — même forme que Bash ; les alias courants sont canonicalisés (gci/ls/dirGet-ChildItem) et l'AST PowerShell est parsé pour que chaque sous-commande d'une chaîne `
Read Read(path pattern) Read(.env), Read(./secrets/**)
Edit Edit(path pattern) Edit(src/**), Edit(*.ts)
Write Write(path pattern) Write(*.md), Write(./docs/**)
NotebookEdit NotebookEdit(pattern) NotebookEdit(*)
WebFetch WebFetch(domain:pattern) WebFetch(domain:example.com)
WebSearch WebSearch Recherche web globale
Task Task(agent-name) Task(Explore), Task(my-agent)
Agent Agent(name) Agent(researcher), Agent(*) — permission limitée à l'instanciation de sous-agents
Skill Skill(skill-name) ou Skill(prefix *) Skill(weather-fetcher), Skill(weather *) correspond à weather-fetcher/weather-svg-creator (v2.1.139)
MCP mcp__server__tool ou MCP(server:tool) mcp__memory__*, MCP(github:*)

Ordre d'évaluation : Les règles sont évaluées dans l'ordre : règles deny d'abord, puis ask, puis allow. La première règle correspondante l'emporte.

Motifs de chemin Read/Edit : Les règles de permission pour Read, Edit et Write supportent des motifs de style gitignore avec quatre types de préfixe :

Préfixe Signification Exemple
// Chemin absolu depuis la racine du système de fichiers Read(//Users/alice/file)
~/ Relatif au répertoire home Read(~/.zshrc)
/ Relatif à la racine du projet Edit(/src/**)
./ ou aucun Chemin relatif (répertoire courant) Read(.env), Read(*.ts)

Résolution des liens symboliques : Les règles de permission vérifient à la fois le chemin du symlink et sa cible résolue. Les règles allow s'appliquent uniquement quand à la fois le symlink et sa cible correspondent — un symlink dans un répertoire autorisé qui pointe en dehors demande quand même. Les règles deny s'appliquent quand soit le symlink soit sa cible correspond — un symlink vers un fichier refusé est lui-même refusé.

Notes sur les jokers Bash :

  • * peut apparaître à n'importe quelle position : préfixe (Bash(* install)), suffixe (Bash(npm *)), ou milieu (Bash(git * main))
  • Frontière de mot : Bash(ls *) (espace avant *) correspond à ls -la mais PAS à lsof ; Bash(ls*) (sans espace) correspond aux deux
  • Bash(*) est traité comme équivalent à Bash (correspond à toutes les commandes bash)
  • Les règles de permission supportent les redirections de sortie : Bash(python:*) correspond à python script.py > output.txt
  • La syntaxe de suffixe héritée :* (par ex. Bash(npm:*)) est équivalente à * mais est dépréciée
  • Commandes composées : les opérateurs shell (&&, ||, ;, |, |&, &, et sauts de ligne) découpent une commande et chaque sous-commande doit correspondre indépendamment — Bash(safe-cmd *) n'autorise pas safe-cmd && other-cmd
  • Wrappers de processus : timeout, time, nice, nohup et stdbuf sont retirés avant la correspondance (donc Bash(npm test *) correspond aussi à timeout 30 npm test) ; xargs seul (sans flags) est aussi retiré. Les wrappers d'exec watch, setsid, ionice, flock et find avec -exec/-delete demandent toujours et ne peuvent être approuvés par une règle de préfixe |

Exemple :

{
  "permissions": {
    "allow": [
      "Edit(*)",
      "Write(*)",
      "Bash(npm run *)",
      "Bash(git *)",
      "WebFetch(domain:*)",
      "mcp__*"
    ],
    "ask": [
      "Bash(rm *)",
      "Bash(git push *)"
    ],
    "deny": [
      "Read(.env)",
      "Read(./secrets/**)",
      "Bash(curl *)"
    ],
    "additionalDirectories": ["../shared-libs/"]
  }
}

Hooks

La configuration des hooks (événements, propriétés, matchers, codes de sortie, variables d'environnement et hooks HTTP) est maintenue dans un dépôt dédié :

claude-code-hooks — Référence complète des hooks avec système de notification sonore, les 25 événements de hook, hooks HTTP, motifs de matcher, codes de sortie et variables d'environnement.

Les clés de paramètres liées aux hooks (hooks, disableAllHooks (désactive aussi toute barre d'état personnalisée), allowManagedHooksOnly, allowedHttpHookUrls, httpHookAllowedEnvVars) y sont documentées.

Pour la référence officielle des hooks, voir la Documentation des hooks Claude Code.


Serveurs MCP

Configurer les serveurs Model Context Protocol pour des capacités étendues.

OAuth (v2.1.111) : Les serveurs MCP qui s'authentifient via OAuth suivent la RFC 9728 pour la découverte de métadonnées de ressource protégée. Les serveurs conformes exposent les endpoints d'autorisation sous /.well-known/oauth-protected-resource, et Claude Code complète le flux OAuth automatiquement — aucun script apiKeyHelper ou headersHelper manuel requis pour les serveurs conformes à la spec.

Nom de serveur réservé (v2.1.128) : workspace est un nom de serveur MCP réservé. Les serveurs définis par l'utilisateur portant ce nom sont sautés au chargement avec un avertissement journalisé dans le log de session. Renomme tout serveur workspace préexistant pour éviter la collision.

Hot-reload de .mcp.json (v2.1.139) : L'action Reconnect de /mcp relit désormais .mcp.json depuis le disque avant de se reconnecter, donc ajouter ou éditer un serveur ne requiert plus un redémarrage de session. Claude Code injecte aussi CLAUDE_PROJECT_DIR dans les environnements des serveurs MCP lancés en stdio (v2.1.139) pour que les serveurs puissent résoudre les chemins relativement à la racine du projet.

Paramètres MCP

Clé Type Portée Description
enableAllProjectMcpServers boolean Toutes Auto-approuver tous les serveurs de .mcp.json
enabledMcpjsonServers array Toutes Allowlist de noms de serveurs spécifiques
disabledMcpjsonServers array Toutes Blocklist de noms de serveurs spécifiques
allowedMcpServers array Managed only Allowlist avec correspondance par nom/commande/URL
deniedMcpServers array Managed only Blocklist avec correspondance
allowManagedMcpServersOnly boolean Managed only Autoriser uniquement les serveurs MCP explicitement listés dans l'allowlist managed
channelsEnabled boolean Managed only Autoriser les channels pour les utilisateurs Team et Enterprise. Quand non défini ou false, la livraison de messages de channel est bloquée indépendamment du drapeau --channels
allowedChannelPlugins array Managed only Allowlist de plugins de channel autorisés à pousser des messages. Remplace l'allowlist Anthropic par défaut quand défini. Undefined = repli sur le défaut, tableau vide = bloquer tous les plugins de channel. Requiert channelsEnabled: true. Chaque entrée est un objet avec champs marketplace et plugin (v2.1.84)
allowAllClaudeAiMcps boolean Managed only Charger les connecteurs MCP cloud claude.ai à côté de managed-mcp.json. Quand activé, les connecteurs MCP hébergés par claude.ai sont rendus disponibles en plus des serveurs MCP managed déployés par admin

Correspondance de serveurs MCP (Managed Settings)

{
  "allowedMcpServers": [
    { "serverName": "github" },
    { "serverCommand": "npx @modelcontextprotocol/*" },
    { "serverUrl": "https://mcp.company.com/*" }
  ],
  "deniedMcpServers": [
    { "serverName": "dangerous-server" }
  ]
}

Chargement d'outils par serveur (alwaysLoad, v2.1.121)

Par défaut, les définitions d'outils MCP sont différées (chargées en contexte à la demande via la recherche d'outils). Mets alwaysLoad: true sur une entrée de serveur MCP individuelle dans .mcp.json (ou en mcpServers inline) pour exempter ce serveur du différé — chaque outil de ce serveur se charge alors d'emblée au démarrage de la session indépendamment de ENABLE_TOOL_SEARCH. Disponible sur tous les types de serveurs ; requiert Claude Code v2.1.121+. Utilise cela uniquement pour un petit ensemble d'outils nécessaires à chaque tour — chaque outil chargé d'emblée consomme du contexte qui serait sinon disponible pour la conversation.

{
  "mcpServers": {
    "always-on-server": {
      "type": "http",
      "url": "https://mcp.example.com",
      "alwaysLoad": true
    }
  }
}

Un serveur MCP peut aussi marquer des outils individuels comme toujours chargés en incluant "anthropic/alwaysLoad": true dans l'objet _meta de l'outil — utile quand seul un sous-ensemble des outils d'un serveur doit contourner le différé.

Exemple :

{
  "enableAllProjectMcpServers": true,
  "enabledMcpjsonServers": ["memory", "github", "filesystem"],
  "disabledMcpjsonServers": ["experimental-server"]
}

Sandbox

Configurer le sandboxing des commandes bash pour la sécurité.

Paramètres de sandbox

Clé Type Défaut Description
sandbox.enabled boolean false Activer le sandboxing bash
sandbox.failIfUnavailable boolean false Quitter avec une erreur quand le sandbox est activé mais ne peut démarrer, au lieu de tourner sans sandbox. Utile pour les politiques entreprise exigeant un sandboxing strict (v2.1.83)
sandbox.autoAllowBashIfSandboxed boolean true Auto-approuver bash quand sous sandbox. À partir de la v2.1.139, les formes d'expansion shell ($VAR, $(cmd)) sont correctement reconnues pour que les commandes contenant une substitution de variable ne retombent plus sur une demande quand l'auto-approbation sous sandbox est activée
sandbox.excludedCommands array [] Commandes à exécuter hors sandbox
sandbox.allowUnsandboxedCommands boolean true Autoriser dangerouslyDisableSandbox. Quand mis à false, l'échappatoire est complètement désactivée et toutes les commandes doivent tourner sous sandbox (ou être dans excludedCommands). Utile pour les politiques entreprise exigeant un sandboxing strict
sandbox.ignoreViolations object {} Map de motifs de commande vers des tableaux de chemins — supprimer les avertissements de violation (dans le schéma JSON, pas sur la page officielle des paramètres)
sandbox.enableWeakerNestedSandbox boolean false (Linux et WSL2 uniquement) Activer un sandbox plus faible pour les environnements Docker non privilégiés (réduit la sécurité)
sandbox.network.allowUnixSockets array [] (macOS uniquement) Chemins de sockets Unix spécifiques accessibles dans le sandbox. Ignoré sous Linux et WSL2, où le filtre seccomp ne peut inspecter les chemins de socket ; utilise allowAllUnixSockets à la place
sandbox.network.allowAllUnixSockets boolean false Autoriser tous les sockets Unix (surcharge allowUnixSockets). Sous Linux et WSL2 c'est le seul moyen d'autoriser les sockets Unix, car cela contourne le filtre seccomp qui bloque sinon les appels socket(AF_UNIX, ...)
sandbox.network.allowLocalBinding boolean false Autoriser le binding sur les ports localhost (macOS)
sandbox.network.allowedDomains array [] Allowlist de domaines réseau pour le sandbox
sandbox.network.deniedDomains array [] Denylist de domaines réseau pour le sandbox bash. Prend le pas sur les jokers de allowedDomains. Supporte les motifs glob (par ex. "*.example.com") (v2.1.113)
sandbox.network.httpProxyPort number - Port de proxy HTTP 1-65535 (proxy personnalisé)
sandbox.network.socksProxyPort number - Port de proxy SOCKS5 1-65535 (proxy personnalisé)
sandbox.network.allowManagedDomainsOnly boolean false Autoriser uniquement les domaines de l'allowlist managed (managed settings)
sandbox.network.allowMachLookup array [] (macOS uniquement) Noms de service XPC/Mach supplémentaires que le sandbox peut rechercher. Supporte un seul * final pour la correspondance de préfixe. Nécessaire pour les outils communiquant via XPC comme le simulateur iOS ou Playwright. Exemple : ["com.apple.coresimulator.*"]
sandbox.filesystem.allowWrite array [] Chemins supplémentaires où les commandes sous sandbox peuvent écrire. Les tableaux sont fusionnés sur toutes les portées de paramètres. Aussi fusionnés avec les chemins des règles de permission allow Edit(...). Préfixe : / (absolu), ~/ (home), ./ ou aucun (relatif au projet dans les paramètres projet, relatif à ~/.claude dans les paramètres utilisateur). L'ancien préfixe // pour les chemins absolus fonctionne toujours. Note : Cela diffère des règles de permission Read/Edit, qui utilisent // pour absolu et / pour relatif au projet
sandbox.filesystem.denyWrite array [] Chemins où les commandes sous sandbox ne peuvent écrire. Les tableaux sont fusionnés sur toutes les portées de paramètres. Aussi fusionnés avec les chemins des règles de permission deny Edit(...). Mêmes conventions de préfixe de chemin que allowWrite
sandbox.filesystem.denyRead array [] Chemins où les commandes sous sandbox ne peuvent lire. Les tableaux sont fusionnés sur toutes les portées de paramètres. Aussi fusionnés avec les chemins des règles de permission deny Read(...). Mêmes conventions de préfixe de chemin que allowWrite
sandbox.filesystem.allowRead array [] Chemins pour ré-autoriser l'accès en lecture dans les régions denyRead. Prend le pas sur denyRead. Les tableaux sont fusionnés sur toutes les portées de paramètres. Mêmes conventions de préfixe de chemin que allowWrite
sandbox.filesystem.allowManagedReadPathsOnly boolean false (Managed only) Seuls les chemins allowRead des managed settings sont respectés. Les entrées allowRead des paramètres utilisateur, projet et locaux sont ignorées
sandbox.enableWeakerNetworkIsolation boolean false (macOS uniquement) Autoriser l'accès au trust TLS système (com.apple.trustd.agent) ; réduit la sécurité
sandbox.bwrapPath string - (Managed only, Linux/WSL2) Chemin absolu vers le binaire bubblewrap (bwrap). Surcharge la détection automatique par PATH. Honoré uniquement depuis les managed settings, pas les paramètres utilisateur ou projet. Exemple : /opt/admin/bwrap (v2.1.133)
sandbox.socatPath string - (Managed only, Linux/WSL2) Chemin absolu vers le binaire socat utilisé pour le proxy réseau du sandbox. Surcharge la détection automatique par PATH. Honoré uniquement depuis les managed settings. Exemple : /opt/admin/socat (v2.1.133)

Exemple :

{
  "sandbox": {
    "enabled": true,
    "autoAllowBashIfSandboxed": true,
    "excludedCommands": ["git", "docker", "gh"],
    "allowUnsandboxedCommands": false,
    "network": {
      "allowUnixSockets": ["/var/run/docker.sock"],
      "allowLocalBinding": true
    }
  }
}

Plugins

Configurer les plugins et marketplaces Claude Code.

Paramètres de plugin

Clé Type Portée Description
enabledPlugins object Toutes Activer/désactiver des plugins spécifiques
extraKnownMarketplaces object Projet Ajouter des marketplaces de plugins personnalisées (partage d'équipe via .claude/settings.json)
strictKnownMarketplaces array Managed only Allowlist de marketplaces autorisées
strictPluginOnlyCustomization boolean | array Managed only Bloquer skills, agents, hooks et serveurs MCP provenant de sources utilisateur et projet, pour qu'ils ne puissent venir que de plugins ou managed settings. true verrouille les quatre surfaces ; un tableau comme ["skills", "hooks"] ne verrouille que celles nommées
pluginSuggestionMarketplaces array Managed only Allowlist de noms de marketplaces dont les plugins peuvent apparaître comme suggestions d'installation contextuelles durant une session. Restreint quelles marketplaces peuvent faire remonter les invites « vous pourriez vouloir ce plugin » (v2.1.152)
skippedMarketplaces array Toutes Marketplaces que l'utilisateur a refusé d'installer (dans le schéma JSON, pas sur la page officielle des paramètres)
skippedPlugins array Toutes Plugins que l'utilisateur a refusé d'installer (dans le schéma JSON, pas sur la page officielle des paramètres)
pluginConfigs object Toutes Configs de serveur MCP par plugin (indexées par plugin@marketplace) (dans le schéma JSON, pas sur la page officielle des paramètres)
blockedMarketplaces array Managed only Bloquer des marketplaces de plugins spécifiques. Chaque entrée peut correspondre par chaîne source, hostPattern ou pathPattern — à partir de la v2.1.119 les matchers hostPattern et pathPattern sont correctement appliqués avant qu'aucun téléchargement ne touche le système de fichiers, donc les marketplaces bloquées n'atteignent jamais le disque
pluginTrustMessage string Managed only Message personnalisé affiché lors de l'invite à faire confiance aux plugins

Types de source de marketplace : github, git, directory, hostPattern, settings, url, npm, file. Utilise source: 'settings' pour déclarer un petit ensemble de plugins inline sans mettre en place un dépôt de marketplace hébergé.

Exemple :

{
  "enabledPlugins": {
    "formatter@acme-tools": true,
    "deployer@acme-tools": true,
    "experimental@acme-tools": false
  },
  "extraKnownMarketplaces": {
    "acme-tools": {
      "source": {
        "source": "github",
        "repo": "acme-corp/claude-plugins"
      }
    },
    "inline-tools": {
      "source": {
        "source": "settings",
        "name": "inline-tools",
        "plugins": [
          {
            "name": "code-formatter",
            "source": { "source": "github", "repo": "acme-corp/code-formatter" }
          }
        ]
      }
    }
  }
}

Configuration du modèle

Alias de modèle

Alias Description
"default" Recommandé pour ton type de compte
"sonnet" Dernier modèle Sonnet (Claude Sonnet 4.6 sur l'API Anthropic ; 4.5 sur les fournisseurs tiers)
"opus" Dernier modèle Opus (Claude Opus 4.8 sur l'API Anthropic depuis v2.1.154 ; 4.6 sur Bedrock/Vertex/Foundry). Aussi le défaut du mode fast depuis v2.1.142. Opus 4.8 a par défaut l'effort high et supporte /effort xhigh
"haiku" Modèle Haiku rapide
"sonnet[1m]" Sonnet avec contexte de 1M tokens
"opus[1m]" Opus avec contexte de 1M tokens (défaut sur Max, Team et Enterprise depuis v2.1.75)
"opusplan" Opus pour la planification, Sonnet pour l'exécution

Exemple :

{
  "model": "opus"
}

Note (v2.1.144) : /model change le modèle pour la session courante uniquement. Appuie sur d dans le sélecteur /model pour aussi définir la sélection comme ton défaut. Le paramètre model et ANTHROPIC_MODEL continuent de contrôler le défaut persistant.

Surcharges de modèle

Mapper les IDs de modèle Anthropic vers des IDs de modèle propres au fournisseur pour les déploiements Bedrock, Vertex ou Foundry.

Clé Type Défaut Description
effortLevel string - Persister le niveau d'effort entre sessions. Accepte "low", "medium", "high" ou "xhigh" (Opus 4.7 et 4.8, v2.1.111). Écrit automatiquement quand tu lances /effort low, /effort medium, /effort high ou /effort xhigh. Supporté sur Opus 4.6, Sonnet 4.6, Opus 4.7 et Opus 4.8 (défaut high). Les niveaux non supportés retombent sur le plus haut niveau supporté du modèle actif
modelOverrides object - Mapper les entrées du sélecteur de modèle vers des IDs propres au fournisseur (par ex. ARNs de profils d'inférence Bedrock). Chaque clé est un nom d'entrée du sélecteur de modèle, chaque valeur est l'ID de modèle du fournisseur

Exemple :

{
  "modelOverrides": {
    "claude-opus-4-6": "arn:aws:bedrock:us-east-1:123456789:inference-profile/anthropic.claude-opus-4-6-v1:0",
    "claude-sonnet-4-6": "arn:aws:bedrock:us-east-1:123456789:inference-profile/anthropic.claude-sonnet-4-6-v1:0"
  }
}

Niveau d'effort

La commande /model expose un contrôle de niveau d'effort qui ajuste la quantité de raisonnement que le modèle applique par réponse. Utilise les flèches ← → dans l'UI /model pour parcourir les niveaux d'effort.

Niveau d'effort Description
Max Profondeur de raisonnement maximale, Opus 4.6 uniquement
XHigh Profondeur de raisonnement étendue, Opus 4.7 et 4.8 (défaut sur Opus 4.7 tous plans, v2.1.111 ; sur Opus 4.8 disponible mais le défaut est high, v2.1.154)
High (défaut sur Opus 4.6/Sonnet 4.6) Profondeur de raisonnement complète, idéal pour les tâches complexes
Medium Raisonnement équilibré, bon pour les tâches quotidiennes
Low Raisonnement minimal, réponses les plus rapides

Comment l'utiliser :

  1. Lance /effort low, /effort medium ou /effort high pour définir directement (v2.1.76+)
  2. Ou lance /model → sélectionne un modèle → utilise les flèches ← → pour ajuster
  3. Le paramètre persiste via la clé effortLevel dans settings.json

Note : Le niveau d'effort est disponible pour Opus 4.6, Sonnet 4.6, Opus 4.7 et Opus 4.8 sur les plans Max et Team. Le défaut a été changé de High à Medium en v2.1.68, puis remis à High pour les utilisateurs avec clé API, Bedrock/Vertex/Foundry, Team et Enterprise en v2.1.94. En v2.1.117, le défaut a aussi été relevé de medium à high pour les abonnés Pro/Max sur Opus 4.6 et Sonnet 4.6, alignant tous les paliers sur high. La v2.1.111 a introduit xhigh (Opus 4.7 uniquement à l'époque) et en a fait le niveau d'effort par défaut sur Opus 4.7 tous plans. v2.1.154 a ajouté Opus 4.8 comme dernier Opus sur l'API Anthropic ; il supporte xhigh mais a par défaut high. À partir de la v2.1.75, la fenêtre de contexte de 1M pour Opus 4.6 est disponible par défaut sur les plans Max, Team et Enterprise.

Propagation d'env de l'effort : Dans les fichiers de skill, utilise ${CLAUDE_EFFORT} pour référencer le niveau d'effort actuel (v2.1.120). À partir de la v2.1.133, la même variable $CLAUDE_EFFORT est aussi injectée dans l'environnement des sous-processus de l'outil Bash et des handlers de hook, pour que scripts shell et commandes de hook puissent adapter leur comportement selon le palier d'effort actif sans lire un fichier de config séparé.

Variables d'environnement de modèle

Configurer via la clé env :

{
  "env": {
    "ANTHROPIC_MODEL": "sonnet",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "custom-haiku-model",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "custom-sonnet-model",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "custom-opus-model",
    "CLAUDE_CODE_SUBAGENT_MODEL": "haiku",
    "MAX_THINKING_TOKENS": "10000"
  }
}

Affichage & UX

Paramètres d'affichage

Clé Type Défaut Description
statusLine object - Configuration de barre d'état personnalisée
outputStyle string "default" Style de sortie (par ex. "Explanatory")
spinnerTipsEnabled boolean true Afficher des astuces pendant l'attente
spinnerVerbs object - Verbes de spinner personnalisés avec mode ("append" ou "replace") et tableau verbs
spinnerTipsOverride object - Astuces de spinner personnalisées avec tips (tableau de chaînes) et excludeDefault optionnel (boolean). Quand excludeDefault est true, seules les astuces personnalisées s'affichent ; quand false ou absent, les astuces personnalisées fusionnent avec les astuces intégrées. À partir de la v2.1.121, excludeDefault: true supprime aussi les astuces de spinner basées sur le temps
respectGitignore boolean true Respecter .gitignore dans le sélecteur de fichiers
prefersReducedMotion boolean false Réduire les animations et effets de mouvement dans l'UI
syntaxHighlightingDisabled boolean false Désactiver la coloration syntaxique dans les diffs, blocs de code et aperçus de fichiers. Distinct de la variable d'env CLAUDE_CODE_SYNTAX_HIGHLIGHT, qui ne gouverne que la sortie de diff
fileSuggestion object - Commande de suggestion de fichiers personnalisée (voir Configuration de suggestion de fichiers ci-dessous)
autoScrollEnabled boolean true Auto-défilement de la conversation en mode plein écran. Mets false pour désactiver le défilement automatique (v2.1.110). Les versions avant v2.1.119 stockaient ceci dans ~/.claude.json
editorMode string "normal" Mode de raccourcis clavier pour la zone de saisie : "normal" ou "vim". Apparaît dans /config comme Editor mode. Les versions avant v2.1.119 stockaient ceci dans ~/.claude.json
showTurnDuration boolean true Afficher les messages de durée de tour après les réponses (par ex. « Cooked for 1m 6s »). Les versions avant v2.1.119 stockaient ceci dans ~/.claude.json
teammateMode string "auto" Comment les coéquipiers d'équipe d'agents s'affichent : "auto" (choisit les panneaux divisés sous tmux ou iTerm2, in-process sinon), "in-process" ou "tmux". Voir choisir un mode d'affichage. Les versions avant v2.1.119 stockaient ceci dans ~/.claude.json
terminalProgressBarEnabled boolean true Afficher la barre de progression du terminal dans les terminaux supportés (ConEmu, Ghostty 1.2.0+, et iTerm2 3.6.6+). Apparaît dans /config comme Terminal progress bar. Les versions avant v2.1.119 stockaient ceci dans ~/.claude.json
preferredNotifChannel string "auto" Méthode pour les notifications de tâche terminée et de demande de permission. Valeurs : "auto", "terminal_bell", "iterm2", "iterm2_with_bell", "kitty", "ghostty", "notifications_disabled". Le défaut "auto" envoie une notification desktop sous iTerm2, Ghostty et Kitty et ne fait rien dans les autres terminaux. Mets "terminal_bell" pour faire sonner le caractère bell dans n'importe quel terminal. Apparaît dans /config comme Notifications. Voir Obtenir une cloche ou notification de terminal

Paramètres de config globale (~/.claude.json)

Ces préférences liées à l'IDE sont stockées dans ~/.claude.json, et non settings.json.

Note de migration v2.1.119 : À partir de la v2.1.119, autoScrollEnabled, editorMode, showTurnDuration, teammateMode et terminalProgressBarEnabled sont passés dans settings.json et sont documentés dans le tableau des Paramètres d'affichage ci-dessus. Les versions antérieures les stockaient ici.

Clé Type Défaut Description
autoConnectIde boolean false Se connecter automatiquement à un IDE en cours d'exécution quand Claude Code démarre depuis un terminal externe. Apparaît dans /config comme Auto-connect to IDE (external terminal) quand exécuté hors d'un terminal VS Code ou JetBrains
autoInstallIdeExtension boolean true Installer automatiquement l'extension IDE Claude Code en exécutant depuis un terminal VS Code. Apparaît dans /config comme Auto-install IDE extension. Peut aussi être désactivé via la variable d'env CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL
externalEditorContext boolean false Préfixer la réponse précédente de Claude comme contexte commenté # quand tu ouvres l'éditeur externe avec Ctrl+G. Mets true pour activer
teammateDefaultModel string null Modèle par défaut pour les coéquipiers d'équipe d'agents quand le lead les dispatche. null hérite du modèle du lead. Listé sous « Global config settings » sur la page officielle des paramètres

Espace de travail & équipes

Clé Type Description
sshConfigs object[] Définitions de connexion SSH présentées comme menu déroulant dans Desktop. Chaque entrée doit inclure id, name et sshHost ; optionnellement sshPort, sshIdentityFile et startDirectory

Référence des champs :

Champ Requis Description
id oui Identifiant unique de l'entrée de connexion SSH
name oui Nom d'affichage montré dans le menu déroulant Desktop
sshHost oui Hôte SSH (par ex. user@dev.example.com ou dev.example.com)
sshPort non Numéro de port SSH
sshIdentityFile non Chemin vers le fichier d'identité SSH (clé privée)
startDirectory non Répertoire de travail initial après connexion

Exemple :

{
  "sshConfigs": [
    {
      "id": "dev-vm",
      "name": "Dev VM",
      "sshHost": "user@dev.example.com",
      "sshPort": 22,
      "sshIdentityFile": "~/.ssh/id_ed25519",
      "startDirectory": "/home/user/project"
    }
  ]
}

Configuration de la barre d'état

{
  "statusLine": {
    "type": "command",
    "command": "~/.claude/statusline.sh",
    "padding": 2,
    "refreshInterval": 5
  }
}
Champ Description
type Mets "command" pour exécuter un script shell
command Commande shell ou chemin de script qui génère la sortie de la barre d'état
padding Espacement horizontal supplémentaire (en caractères) ajouté au contenu de la barre d'état. Défaut 0. Contrôle l'indentation relative au-delà de l'espacement intégré de l'interface
refreshInterval Réexécuter la commande toutes les N secondes en plus des mises à jour pilotées par événement. Minimum 1. Utile quand la barre d'état affiche des données basées sur le temps (par ex. une horloge) ou quand des sous-agents d'arrière-plan changent l'état git pendant que la session principale est inactive. Laisse non défini pour n'exécuter que sur événements (v2.1.97)

Champs d'entrée de la barre d'état :

La commande de barre d'état reçoit un objet JSON sur stdin. Pour le schéma JSON complet et des exemples, voir la Documentation de la barre d'état.

Champ Description
model.id, model.display_name Identifiant et nom d'affichage du modèle actuel
cwd, workspace.current_dir Répertoire de travail courant (les deux contiennent la même valeur ; workspace.current_dir préféré)
workspace.project_dir Répertoire où Claude Code a été lancé (peut différer de cwd si le répertoire de travail change)
workspace.added_dirs Répertoires supplémentaires ajoutés via /add-dir ou --add-dir
workspace.git_worktree Nom du worktree git quand on est dans un worktree lié créé avec git worktree add. Absent dans l'arbre de travail principal (v2.1.97)
cost.total_cost_usd Coût total de la session en USD
cost.total_duration_ms Temps mur total depuis le début de la session, en millisecondes
cost.total_api_duration_ms Temps total passé à attendre les réponses API, en millisecondes
cost.total_lines_added, cost.total_lines_removed Lignes de code modifiées durant la session
context_window.total_input_tokens, context_window.total_output_tokens Comptes de tokens cumulés sur la session
context_window.context_window_size Taille maximale de la fenêtre de contexte en tokens (200000 par défaut, 1000000 pour le contexte étendu)
context_window.used_percentage Pourcentage pré-calculé de fenêtre de contexte utilisée
context_window.remaining_percentage Pourcentage pré-calculé de fenêtre de contexte restante
context_window.current_usage Comptes de tokens du dernier appel API (tokens d'entrée, sortie, cache)
exceeds_200k_tokens Si le total de tokens de la réponse API la plus récente dépasse 200k (seuil fixe)
rate_limits.five_hour.used_percentage Pourcentage d'usage de la limite de débit sur cinq heures (v2.1.80+)
rate_limits.five_hour.resets_at Horodatage de réinitialisation de la limite sur cinq heures (secondes Unix epoch)
rate_limits.seven_day.used_percentage Pourcentage d'usage de la limite de débit sur sept jours
rate_limits.seven_day.resets_at Horodatage de réinitialisation de la limite sur sept jours (secondes Unix epoch)
session_id Identifiant unique de session
session_name Nom de session personnalisé défini avec --name ou /rename. Absent si aucun nom personnalisé défini
transcript_path Chemin vers le fichier de transcript de conversation
version Version de Claude Code
output_style.name Nom du style de sortie actuel
vim.mode Mode vim actuel (NORMAL ou INSERT) quand le mode vim est activé
agent.name Nom de l'agent en exécutant avec le drapeau --agent ou les paramètres d'agent
effort.level Effort de raisonnement actuel (low, medium, high, xhigh ou max). Reflète la valeur live de la session, y compris les changements /effort en cours de session. Absent quand le modèle actuel ne supporte pas le paramètre d'effort (v2.1.121)
thinking.enabled Si la réflexion étendue est activée pour la session (v2.1.121)
worktree.name Nom du worktree actif (présent seulement durant les sessions --worktree)
worktree.path Chemin absolu vers le répertoire du worktree
worktree.branch Nom de branche git du worktree. Absent pour les worktrees basés sur hook
worktree.original_cwd Répertoire avant d'entrer dans le worktree
worktree.original_branch Branche git checkoutée avant d'entrer dans le worktree. Absent pour les worktrees basés sur hook
github Informations de dépôt GitHub et de pull request pour la branche courante quand détectées — identité du dépôt et PR associée (v2.1.145)

Configuration de suggestion de fichiers

Le script de suggestion de fichiers reçoit un objet JSON sur stdin (par ex. {"query": "src/comp"}) et doit produire jusqu'à 15 chemins de fichiers (un par ligne).

{
  "fileSuggestion": {
    "type": "command",
    "command": "~/.claude/file-suggestion.sh"
  },
  "respectGitignore": true
}

Exemple :

{
  "statusLine": {
    "type": "command",
    "command": "git branch --show-current 2>/dev/null || echo 'no-branch'"
  },
  "spinnerTipsEnabled": true,
  "spinnerVerbs": {
    "mode": "replace",
    "verbs": ["Cooking", "Brewing", "Crafting", "Conjuring"]
  },
  "spinnerTipsOverride": {
    "tips": ["Use /compact at ~50% context", "Start with plan mode for complex tasks"],
    "excludeDefault": true
  }
}

Identifiants AWS & Cloud

Paramètres AWS

Clé Type Description
awsAuthRefresh string Script pour rafraîchir l'auth AWS (modifie le répertoire .aws)
awsCredentialExport string Script produisant un JSON avec des identifiants AWS

Exemple :

{
  "awsAuthRefresh": "aws sso login --profile myprofile",
  "awsCredentialExport": "/bin/generate_aws_grant.sh"
}

OpenTelemetry

Clé Type Description
otelHeadersHelper string Script pour générer des en-têtes OpenTelemetry dynamiques

Exemple :

{
  "otelHeadersHelper": "/bin/generate_otel_headers.sh"
}

Variables d'environnement (via env)

Définir des variables d'environnement pour toutes les sessions Claude Code.

{
  "env": {
    "ANTHROPIC_API_KEY": "...",
    "NODE_ENV": "development",
    "DEBUG": "true"
  }
}

Variables d'environnement courantes

Variable Description
ANTHROPIC_API_KEY Clé API pour l'authentification
ANTHROPIC_AUTH_TOKEN Token OAuth
CLAUDE_CODE_OAUTH_TOKEN Token d'accès OAuth pour l'authentification Claude.ai. Alternative à /login pour le SDK et les environnements automatisés. Prend le pas sur les identifiants stockés en trousseau
CLAUDE_CODE_OAUTH_REFRESH_TOKEN Token de rafraîchissement OAuth pour l'authentification Claude.ai. Quand défini, claude auth login échange ce token directement au lieu d'ouvrir un navigateur. Requiert CLAUDE_CODE_OAUTH_SCOPES
CLAUDE_CODE_OAUTH_SCOPES Scopes OAuth séparés par des espaces avec lesquels le token de rafraîchissement a été émis (par ex. "user:profile user:inference user:sessions:claude_code"). Requis quand CLAUDE_CODE_OAUTH_REFRESH_TOKEN est défini
ANTHROPIC_WORKSPACE_ID ID de workspace pour la fédération d'identité de charge de travail. Défini quand ta règle de fédération couvre plus d'un workspace pour que l'échange de token sache lequel cibler (v2.1.141)
ANTHROPIC_BASE_URL Endpoint API personnalisé
ANTHROPIC_BEDROCK_BASE_URL Surcharger l'URL d'endpoint Bedrock
ANTHROPIC_BEDROCK_MANTLE_BASE_URL Surcharger l'URL d'endpoint Bedrock Mantle. Voir endpoint Mantle
ANTHROPIC_BEDROCK_SERVICE_TIER Palier de service Bedrock : default, flex ou priority. Envoyé comme en-tête X-Amzn-Bedrock-Service-Tier sur chaque requête. Voir paliers de service Amazon Bedrock (v2.1.122)
ANTHROPIC_AWS_API_KEY Clé API de workspace pour Claude Platform sur AWS
ANTHROPIC_AWS_BASE_URL Surcharger l'URL d'endpoint de Claude Platform sur AWS
ANTHROPIC_AWS_WORKSPACE_ID ID de workspace requis pour Claude Platform sur AWS
CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST Défini par les plateformes hôtes qui embarquent Claude Code et gèrent le routage de fournisseur de modèle pour le compte de l'utilisateur. Quand défini, les variables d'env de sélection de fournisseur / endpoint / authentification dans settings.json (par ex. CLAUDE_CODE_USE_BEDROCK, ANTHROPIC_BASE_URL, ANTHROPIC_API_KEY) sont ignorées pour que les paramètres utilisateur ne puissent surcharger le routage de l'hôte. Le désengagement automatique de télémétrie pour Bedrock/Vertex/Foundry est aussi sauté, donc la télémétrie suit le désengagement standard DISABLE_TELEMETRY (v2.1.126)
ANTHROPIC_VERTEX_BASE_URL Surcharger l'URL d'endpoint Vertex AI
ANTHROPIC_BETAS Valeurs d'en-tête beta Anthropic séparées par des virgules
ANTHROPIC_VERTEX_PROJECT_ID ID de projet GCP pour Vertex AI
GCLOUD_PROJECT ID de projet GCP pour les requêtes Vertex AI (surcharge ANTHROPIC_VERTEX_PROJECT_ID)
GOOGLE_APPLICATION_CREDENTIALS Chemin vers le fichier d'identifiants de compte de service GCP pour l'authentification Vertex AI
GOOGLE_CLOUD_PROJECT ID de projet GCP pour les requêtes Vertex AI (surcharge ANTHROPIC_VERTEX_PROJECT_ID)
ANTHROPIC_CUSTOM_MODEL_OPTION ID de modèle à ajouter comme entrée personnalisée dans le sélecteur /model. À utiliser pour rendre sélectionnable un modèle non standard ou propre à une gateway sans remplacer les alias intégrés
ANTHROPIC_CUSTOM_MODEL_OPTION_NAME Nom d'affichage de l'entrée de modèle personnalisée dans le sélecteur /model. Défaut : l'ID du modèle quand non défini
ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION Description d'affichage de l'entrée de modèle personnalisée dans le sélecteur /model. Défaut : Custom model (<model-id>) quand non défini
ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES Surcharger la détection de capacités pour l'entrée de modèle personnalisée. Valeurs séparées par des virgules (par ex. effort,thinking). Requis quand le modèle personnalisé supporte des fonctionnalités que l'auto-détection ne peut confirmer. Voir configuration de modèle
ANTHROPIC_MODEL Nom du modèle à utiliser. Accepte des alias (sonnet, opus, haiku) ou des IDs de modèle complets. Surcharge le paramètre model
INIT_PROMPT System prompt personnalisé injecté à l'initialisation de session
ANTHROPIC_DEFAULT_HAIKU_MODEL Surcharger l'alias de modèle Haiku par un ID de modèle personnalisé (par ex. pour des déploiements tiers)
ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME Personnaliser le libellé de l'entrée Haiku dans le sélecteur /model en utilisant un modèle épinglé sur Bedrock/Vertex/Foundry. Défaut : l'ID du modèle
ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION Personnaliser la description de l'entrée Haiku dans le sélecteur /model. Défaut : Custom model (<model-id>)
ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES Surcharger la détection de capacités pour un modèle Haiku épinglé. Valeurs séparées par des virgules (par ex. effort,thinking). Requis quand le modèle épinglé supporte des fonctionnalités que l'auto-détection ne peut confirmer
CLAUDECODE Mis à 1 dans les environnements shell que Claude Code lance (outil Bash, sessions tmux). Non défini dans les hooks ou commandes de barre d'état. À utiliser pour détecter quand un script tourne dans un shell Claude Code
CLAUDE_CODE_SESSION_ID Lecture seule. Défini automatiquement dans les sous-processus des outils Bash et PowerShell avec l'ID de session courant. Correspond au champ session_id passé aux hooks. Mis à jour sur /clear. À utiliser pour corréler scripts et outils externes avec la session Claude Code qui les a lancés (v2.1.132)
AI_AGENT Défini automatiquement par Claude Code dans les environnements de sous-processus (outil Bash, hooks, serveurs MCP stdio). Drapeau générique identifiant le processus parent comme agent IA — utile pour les outils qui adaptent leur comportement quand invoqués depuis n'importe quel agent IA plutôt que de vérifier chaque variable propre à un agent comme CLAUDECODE (dans le changelog v2.1.120, pas encore sur la page officielle des variables d'env)
CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS Mets 1 pour autoriser le mode fast quand la vérification du statut de l'organisation échoue à cause d'une erreur réseau. Utile quand un proxy d'entreprise bloque l'endpoint de statut
CLAUDE_CODE_USE_BEDROCK Utiliser AWS Bedrock (1 pour activer)
CLAUDE_CODE_USE_VERTEX Utiliser Google Vertex AI (1 pour activer)
CLAUDE_CODE_USE_FOUNDRY Utiliser Microsoft Foundry (1 pour activer)
CLAUDE_CODE_USE_MANTLE Utiliser l'endpoint Mantle Bedrock (1 pour activer)
CLAUDE_CODE_USE_POWERSHELL_TOOL Mets 1 pour activer l'outil PowerShell sous Windows (aperçu opt-in). Quand activé, Claude peut exécuter des commandes PowerShell nativement au lieu de router via Git Bash. Supporté uniquement sur Windows natif, pas WSL (v2.1.84)
CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY Mets 1 pour empêcher Claude Code de passer -ExecutionPolicy Bypass en lançant PowerShell pour les appels d'outils, hooks et commandes de barre d'état, respectant plutôt la politique d'exécution effective de la machine. Par défaut Claude Code contourne la politique d'exécution au niveau processus pour que les scripts .ps1 et imports de module fonctionnent sur un Windows Restricted par défaut. Ne surcharge jamais les Group Policy MachinePolicy/UserPolicy (v2.1.143)
CLAUDE_CODE_REMOTE Lecture seule. Mis automatiquement à true quand Claude Code tourne comme session cloud. Lis ceci depuis un hook ou script de setup pour détecter si tu es dans un environnement cloud
CLAUDE_CODE_REMOTE_SESSION_ID Lecture seule. Défini automatiquement dans les sessions cloud avec l'ID de la session courante. Lis ceci pour construire un lien vers le transcript de la session
CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX Préfixe pour les noms de sessions Remote Control auto-générés. Défaut : le hostname de la machine
CLAUDE_CODE_ENABLE_TELEMETRY Activer/désactiver la télémétrie (0 ou 1)
DISABLE_ERROR_REPORTING Désactiver le reporting d'erreurs (1 pour désactiver)
DISABLE_AUTOUPDATER Mets 1 pour désactiver les vérifications de mise à jour automatiques contre le registre npm. Configurable aussi comme variable de démarrage uniquement — voir Drapeaux de démarrage du CLI
DISABLE_UPDATES Mets 1 pour bloquer complètement tous les chemins de mise à jour — vérifications automatiques, notifications et claude update manuel. Plus strict que DISABLE_AUTOUPDATER, qui ne désactive que la vérification d'arrière-plan. À utiliser dans les environnements où toutes les mises à jour doivent être bloquées jusqu'à réactivation explicite (dans le changelog v2.1.118, pas encore sur la page officielle des variables d'env)
CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE Mets 1 pour laisser Claude Code exécuter la commande de mise à niveau de ton gestionnaire de paquets en arrière-plan quand une nouvelle version est disponible. S'applique aux installations Homebrew et WinGet. Les autres gestionnaires continuent d'afficher la commande de mise à niveau sans l'exécuter. Voir Mises à jour automatiques (v2.1.129)
CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY Mets 1 pour peupler le sélecteur /model depuis l'endpoint /v1/models de ta gateway quand ANTHROPIC_BASE_URL pointe vers une gateway compatible Anthropic comme LiteLLM, Kong ou un proxy interne. Désactivé par défaut car les gateways adossées à une clé API partagée exposeraient sinon chaque modèle accessible par la clé. Les modèles découverts sont quand même filtrés par l'allowlist availableModels (v2.1.129, changement opt-in par rapport à l'auto-découverte précédente)
DISABLE_TELEMETRY Désactiver la télémétrie (1 pour désactiver)
DO_NOT_TRACK Variable de désengagement standard ; mets 1 pour te désinscrire de la collecte de télémétrie. Respectée par DISABLE_TELEMETRY
MCP_TIMEOUT Timeout de démarrage MCP en ms
CLAUDE_CODE_MCP_ALLOWLIST_ENV Lancer les serveurs MCP stdio avec un environnement de base sûr uniquement, retirant la plupart des variables d'env héritées pour empêcher la fuite d'identifiants dans les processus serveurs non fiables
MAX_MCP_OUTPUT_TOKENS Tokens de sortie MCP max (défaut : 25000). Avertissement affiché quand la sortie dépasse 10 000 tokens
API_TIMEOUT_MS Timeout en ms pour les requêtes API (défaut : 600000)
BASH_MAX_TIMEOUT_MS Timeout des commandes bash
BASH_MAX_OUTPUT_LENGTH Longueur de sortie bash max
CLAUDE_AUTOCOMPACT_PCT_OVERRIDE Pourcentage de seuil d'auto-compaction (1-100). Défaut ~95%. Mets plus bas (par ex. 50) pour déclencher la compaction plus tôt. Les valeurs au-dessus de 95% n'ont aucun effet. Utilise /context pour surveiller l'usage actuel. Exemple : CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=50 claude
CLAUDE_CODE_MAX_CONTEXT_TOKENS Surcharger la taille de fenêtre de contexte que Claude Code suppose pour le modèle actif. Ne prend effet que quand DISABLE_COMPACT est aussi défini. À utiliser en routant vers un modèle via ANTHROPIC_BASE_URL dont la fenêtre de contexte ne correspond pas à la taille intégrée pour son nom
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR Garder le cwd entre appels bash (1 pour activer)
CLAUDE_CODE_DISABLE_BACKGROUND_TASKS Désactiver les tâches d'arrière-plan (1 pour désactiver)
CLAUDE_CODE_DISABLE_AGENT_VIEW Mets 1 pour désactiver les agents d'arrière-plan et la vue agent (claude agents, --bg, /background, superviseur à la demande). Équivalent en variable d'env du paramètre disableAgentView (référencé sur la page officielle des paramètres ; non listé sur la page des variables d'env)
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS Activer la fonctionnalité expérimentale d'équipes d'agents (1 pour activer). Permet d'instancier des équipes coordonnées de sous-agents dans une session
CLAUDE_CODE_DISABLE_WORKFLOWS Mets 1 pour désactiver les workflows dynamiques (/workflows) et les commandes slash de workflow fournies. Équivalent en variable d'env du paramètre disableWorkflows
CLAUDE_CODE_ENABLE_AUTO_MODE Mets 1 pour activer le mode auto sur Bedrock/Vertex/Foundry pour Opus 4.7 et Opus 4.8 (v2.1.158). Sur l'API Anthropic le mode auto est disponible sans ce drapeau (dans le changelog v2.1.158, pas encore sur la page officielle des variables d'env)
ENABLE_TOOL_SEARCH Seuil de recherche d'outils MCP (par ex. auto:5)
ENABLE_PROMPT_CACHING_1H Opter pour un TTL de cache de prompt d'1 heure. Remplace le déprécié ENABLE_PROMPT_CACHING_1H_BEDROCK (dans le changelog v2.1.108, pas encore sur la page officielle des variables d'env)
FORCE_PROMPT_CACHING_5M Forcer un TTL de cache de prompt de 5 minutes (dans le changelog v2.1.108, pas encore sur la page officielle des variables d'env)
CLAUDE_CODE_ENABLE_AWAY_SUMMARY Se désinscrire de l'away summary / récapitulatif de session inactive. Mets 0 pour désactiver. Va de pair avec le paramètre awaySummaryEnabled (v2.1.110)
DISABLE_PROMPT_CACHING Désactiver tout le caching de prompt (1 pour désactiver)
DISABLE_PROMPT_CACHING_HAIKU Désactiver le caching de prompt Haiku
DISABLE_PROMPT_CACHING_SONNET Désactiver le caching de prompt Sonnet
DISABLE_PROMPT_CACHING_OPUS Désactiver le caching de prompt Opus
ENABLE_PROMPT_CACHING_1H_BEDROCK Demander un TTL de cache d'1 heure sur Bedrock (1 pour activer) (pas dans les docs officielles — non vérifié ; le changelog v2.1.108 indique déprécié, remplacé par ENABLE_PROMPT_CACHING_1H)
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS Désactiver les fonctionnalités beta expérimentales (1 pour désactiver)
CLAUDE_CODE_SHELL Surcharger la détection automatique du shell
CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS Surcharger la limite de tokens de lecture de fichier par défaut
CLAUDE_CODE_GLOB_HIDDEN Mets false pour exclure les dotfiles des résultats quand Claude invoque l'outil Glob. Inclus par défaut. N'affecte pas l'autocomplétion de fichier @, ls, Grep ou Read
CLAUDE_CODE_GLOB_NO_IGNORE Mets false pour faire respecter à l'outil Glob les motifs .gitignore. Par défaut, Glob renvoie tous les fichiers correspondants y compris ceux gitignorés. N'affecte pas l'autocomplétion de fichier @, qui a son propre paramètre respectGitignore
CLAUDE_CODE_GLOB_TIMEOUT_SECONDS Timeout en secondes pour la découverte de fichiers Glob
CLAUDE_CODE_ENABLE_TASKS Mets true pour activer le suivi de tâches en mode non interactif (drapeau -p). Les tâches sont activées par défaut en mode interactif
CLAUDE_CODE_SIMPLE Mets 1 pour tourner avec un system prompt minimal et seulement les outils Bash, lecture et édition de fichiers. Configurable aussi comme variable de démarrage uniquement — voir Drapeaux de démarrage du CLI
CLAUDE_CODE_EXIT_AFTER_STOP_DELAY Auto-quitter le mode SDK après une durée d'inactivité (ms)
CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING Désactiver la réflexion adaptative (1 pour désactiver)
CLAUDE_CODE_DISABLE_THINKING Forcer la désactivation de la réflexion étendue (1 pour désactiver)
DISABLE_INTERLEAVED_THINKING Empêcher l'envoi de l'en-tête beta interleaved-thinking (1 pour désactiver)
CLAUDE_CODE_DISABLE_1M_CONTEXT Désactiver la fenêtre de contexte de 1M tokens (1 pour désactiver)
CLAUDE_CODE_ACCOUNT_UUID Surcharger l'UUID de compte pour l'authentification
CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS Désactiver les instructions de system prompt liées à git
CLAUDE_CODE_ATTRIBUTION_HEADER Mets 0 pour omettre le bloc d'attribution Claude Code du system prompt
CLAUDE_CODE_NEW_INIT Mets true pour faire de /init un flux de setup interactif. Demande quels fichiers générer (CLAUDE.md, skills, hooks) avant d'explorer le codebase. Sans cela, /init génère un CLAUDE.md automatiquement
CLAUDE_CODE_PLUGIN_SEED_DIR Chemin vers un ou plusieurs répertoires de seed de plugins en lecture seule, séparés par : sous Unix ou ; sous Windows. Embarque des plugins pré-peuplés dans une image de conteneur. Claude Code enregistre les marketplaces de ces répertoires au démarrage et utilise les plugins pré-cachés sans re-cloner
ENABLE_CLAUDEAI_MCP_SERVERS Activer les serveurs MCP Claude.ai
CLAUDE_CODE_EFFORT_LEVEL Définir le niveau d'effort : low, medium, high, xhigh (Opus 4.7 uniquement, v2.1.111), max (Opus 4.6 uniquement), ou auto (utiliser le défaut du modèle). Prend le pas sur /effort et le paramètre effortLevel. Configurable aussi comme variable de démarrage uniquement — voir Drapeaux de démarrage du CLI
CLAUDE_EFFORT Lecture seule. Injecté dans les sous-processus de l'outil Bash et les handlers de hook avec le niveau d'effort actif pour que scripts shell et hooks puissent s'adapter au palier actuel (compagnon de CLAUDE_CODE_EFFORT_LEVEL ; v2.1.133). Dans les fichiers de skill utilise ${CLAUDE_EFFORT} (dans le changelog, pas sur la page officielle des variables d'env — lecture seule, non configurable par l'utilisateur)
CLAUDE_CODE_MAX_TURNS Tours agentiques maximum avant arrêt (pas dans les docs officielles — non vérifié)
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC Équivalent à définir DISABLE_AUTOUPDATER, DISABLE_FEEDBACK_COMMAND, DISABLE_ERROR_REPORTING et DISABLE_TELEMETRY
CLAUDE_CODE_SKIP_SETTINGS_SETUP Sauter le flux de setup des paramètres au premier lancement (pas dans les docs officielles — non vérifié)
CLAUDE_CODE_PROMPT_CACHING_ENABLED Surcharger le comportement de caching de prompt (pas dans les docs officielles — non vérifié)
CLAUDE_CODE_DISABLE_TOOLS Liste d'outils à désactiver séparés par des virgules (pas dans les docs officielles — non vérifié)
CLAUDE_CODE_DISABLE_MCP Désactiver tous les serveurs MCP (1 pour désactiver) (pas dans les docs officielles — non vérifié)
CLAUDE_CODE_MAX_OUTPUT_TOKENS Tokens de sortie max par réponse. Défaut : 32 000 (64 000 pour Opus 4.6 depuis v2.1.77). Borne supérieure : 64 000 (128 000 pour Opus 4.6 et Sonnet 4.6 depuis v2.1.77)
CLAUDE_CODE_DISABLE_FAST_MODE Désactiver entièrement le mode fast (1 pour désactiver)
CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE Mets 1 pour épingler le mode fast sur Claude Opus 4.6 au lieu du défaut Opus 4.7. Avec ce paramètre, /fast tourne sur Opus 4.6 ; sans, /fast tourne sur Opus 4.7 (v2.1.142)
CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK Mets 1 pour désactiver le repli non-streaming quand une requête streaming échoue en cours de flux. Les erreurs de streaming se propagent à la couche de retry à la place. Utile quand un proxy ou une gateway cause une double exécution d'outil par le repli (v2.1.83)
CLAUDE_ENABLE_STREAM_WATCHDOG Avorter les flux bloqués (1 pour activer)
CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING Activer le streaming d'outils fin (1 pour activer)
CLAUDE_CODE_DISABLE_AUTO_MEMORY Désactiver l'auto-mémoire (1 pour désactiver)
CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING Désactiver le checkpointing de fichiers pour /rewind (1 pour désactiver)
CLAUDE_CODE_DISABLE_ATTACHMENTS Désactiver le traitement des pièces jointes (1 pour désactiver)
CLAUDE_CODE_DISABLE_CLAUDE_MDS Empêcher le chargement des fichiers CLAUDE.md (1 pour désactiver)
CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD Charger les fichiers de mémoire CLAUDE.md des répertoires additionnels spécifiés via --add-dir au démarrage (1 pour activer)
CLAUDE_CODE_DISABLE_POLICY_SKILLS Sauter le chargement des skills du répertoire de skills managed à l'échelle système (1 pour désactiver)
CLAUDE_CODE_RESUME_INTERRUPTED_TURN Auto-reprendre si la session précédente s'est terminée en cours de tour (1 pour activer)
CLAUDE_CODE_SKIP_PROMPT_HISTORY Mets 1 pour sauter l'écriture de l'historique de prompts et des transcripts de session sur disque. Les sessions démarrées avec cette variable n'apparaissent pas dans --resume, --continue ou l'historique flèche-haut. Utile pour les sessions scriptées éphémères
CLAUDE_CODE_USER_EMAIL Fournir l'e-mail utilisateur de façon synchrone pour l'authentification
CLAUDE_CODE_ORGANIZATION_UUID Fournir l'UUID d'organisation de façon synchrone pour l'authentification
CLAUDE_CONFIG_DIR Répertoire de config personnalisé (surcharge le défaut ~/.claude)
CLAUDE_CODE_TMPDIR Surcharger le répertoire temp utilisé pour les fichiers temp internes. Claude Code ajoute /claude/ à ce chemin. Défaut : /tmp sous Unix/macOS, os.tmpdir() sous Windows
ANTHROPIC_CUSTOM_HEADERS En-têtes personnalisés pour les requêtes API (format Name: Value, séparés par sauts de ligne pour plusieurs en-têtes)
CLAUDE_CODE_EXTRA_BODY Objet JSON à fusionner au niveau supérieur du corps de chaque requête API. À utiliser pour injecter des champs propres au fournisseur (par ex. indices de routage pour une gateway personnalisée)
CLAUDE_CODE_PROPAGATE_TRACEPARENT Mets 1 pour propager l'en-tête W3C traceparent à travers les requêtes en routant via un proxy personnalisé, liant les traces Claude Code à ta télémétrie en amont
ANTHROPIC_FOUNDRY_API_KEY Clé API pour l'authentification Microsoft Foundry
ANTHROPIC_FOUNDRY_BASE_URL URL de base pour la ressource Foundry
ANTHROPIC_FOUNDRY_RESOURCE Nom de la ressource Foundry
AWS_BEARER_TOKEN_BEDROCK Clé API Bedrock pour l'authentification
ANTHROPIC_SMALL_FAST_MODEL DÉPRÉCIÉ — Utilise ANTHROPIC_DEFAULT_HAIKU_MODEL à la place
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION Région AWS pour la surcharge de modèle de classe Haiku dépréciée
CLAUDE_CODE_SHELL_PREFIX Préfixe de commande ajouté aux commandes bash
BASH_DEFAULT_TIMEOUT_MS Timeout par défaut des commandes bash en ms
CLAUDE_CODE_SKIP_BEDROCK_AUTH Sauter l'auth AWS pour Bedrock (1 pour sauter)
CLAUDE_CODE_SKIP_FOUNDRY_AUTH Sauter l'auth Azure pour Foundry (1 pour sauter)
CLAUDE_CODE_SKIP_MANTLE_AUTH Sauter l'authentification AWS pour Bedrock Mantle (par ex. en utilisant une gateway LLM)
CLAUDE_CODE_SKIP_VERTEX_AUTH Sauter l'auth Google pour Vertex (1 pour sauter)
CLAUDE_CODE_PROXY_RESOLVES_HOSTS Autoriser le proxy à effectuer la résolution DNS
CLAUDE_CODE_API_KEY_HELPER_TTL_MS Intervalle de rafraîchissement des identifiants en ms pour apiKeyHelper
CLAUDE_CODE_CLIENT_CERT Chemin du certificat client pour mTLS
CLAUDE_CODE_CLIENT_KEY Chemin de la clé privée client pour mTLS
CLAUDE_CODE_CLIENT_KEY_PASSPHRASE Passphrase pour la clé mTLS chiffrée
CLAUDE_CODE_CERT_STORE Liste de sources de certificats CA séparées par des virgules pour les connexions TLS : bundled (jeu CA Mozilla livré avec Claude Code) et/ou system (trust store de l'OS). Défaut : bundled,system. La distribution en binaire natif est requise pour l'intégration du store système ; sur le runtime Node.js, seul le jeu bundled est utilisé indépendamment de cette valeur (v2.1.101)
CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS Timeout de clone git de marketplace de plugins en ms (défaut : 120000)
CLAUDE_CODE_PLUGIN_PREFER_HTTPS Mets 1 pour cloner les sources de plugins en raccourci GitHub owner/repo via HTTPS au lieu de SSH. S'applique à l'install/update de plugins et /plugin marketplace add/update. Utile dans les runners CI ou conteneurs sans clé SSH configurée pour github.com (v2.1.141)
CLAUDE_CODE_PLUGIN_CACHE_DIR Surcharger le répertoire racine des plugins
CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL Sauter l'ajout automatique de la marketplace officielle (1 pour désactiver)
CLAUDE_CODE_SYNC_PLUGIN_INSTALL Attendre la fin de l'install de plugin avant la première requête (1 pour activer)
CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS Timeout en ms pour l'install synchrone de plugin
CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE Mets 1 pour garder le cache de marketplace existant quand un git pull échoue au lieu d'effacer et re-cloner. Utile dans les environnements hors ligne ou airgapped où re-cloner échouerait de la même façon
CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH Rafraîchir l'état des plugins aux frontières de tour de session après la fin d'une install d'arrière-plan (1 pour activer). Sans cela, les plugins nouvellement installés prennent effet à la prochaine session
CLAUDE_CODE_HIDE_ACCOUNT_INFO Masquer les infos email/org de l'UI (pas dans les docs officielles — non vérifié)
CLAUDE_CODE_DISABLE_CRON Désactiver les tâches planifiées/cron (1 pour désactiver)
DISABLE_INSTALLATION_CHECKS Désactiver les avertissements d'installation
DISABLE_FEEDBACK_COMMAND Désactiver la commande /feedback. L'ancien nom DISABLE_BUG_COMMAND est aussi accepté
DISABLE_DOCTOR_COMMAND Masquer la commande /doctor (1 pour désactiver)
DISABLE_LOGIN_COMMAND Masquer la commande /login (1 pour désactiver)
DISABLE_LOGOUT_COMMAND Masquer la commande /logout (1 pour désactiver)
DISABLE_UPGRADE_COMMAND Masquer la commande /upgrade (1 pour désactiver)
DISABLE_EXTRA_USAGE_COMMAND Masquer la commande /extra-usage — renommée /usage-credits en v2.1.144, bien que ce nom de variable d'env reste inchangé (1 pour désactiver)
DISABLE_INSTALL_GITHUB_APP_COMMAND Masquer la commande /install-github-app (1 pour désactiver)
DISABLE_NON_ESSENTIAL_MODEL_CALLS Désactiver le texte d'ambiance et les appels de modèle non essentiels (pas dans les docs officielles — non vérifié)
CLAUDE_CODE_DEBUG_LOGS_DIR Surcharger le chemin du répertoire des fichiers de log de debug
CLAUDE_CODE_DEBUG_LOG_LEVEL Niveau minimal de log de debug
CLAUDE_AUTO_BACKGROUND_TASKS Forcer l'auto-arrière-plan des tâches longues (1 pour activer)
CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP Empêcher le remappage d'Opus 4.0/4.1 vers des modèles plus récents (1 pour désactiver)
FALLBACK_FOR_ALL_PRIMARY_MODELS Déclencher le modèle de repli pour tous les modèles primaires, pas seulement le défaut (1 pour activer)
CCR_FORCE_BUNDLE Mets 1 pour forcer claude --remote à bundler et uploader ton dépôt local même quand l'accès GitHub est disponible. Configurable aussi comme variable de démarrage uniquement — voir Drapeaux de démarrage du CLI
CLAUDE_CODE_GIT_BASH_PATH Windows uniquement : chemin vers l'exécutable Git Bash (bash.exe). À utiliser quand Git Bash est installé mais pas dans ton PATH
DISABLE_COST_WARNINGS Désactiver les messages d'avertissement de coût
CLAUDE_CODE_SUBAGENT_MODEL Surcharger le modèle pour les sous-agents (par ex. haiku, sonnet)
CLAUDE_CODE_SUBPROCESS_ENV_SCRUB Mets 1 pour retirer les identifiants Anthropic et de fournisseurs cloud des environnements de sous-processus (outil Bash, hooks, serveurs MCP stdio). À utiliser en défense en profondeur quand les sous-processus ne doivent pas hériter des clés API (v2.1.83)
CLAUDE_CODE_SCRIPT_CAPS Objet JSON limitant combien de fois des scripts spécifiques peuvent être invoqués par session quand CLAUDE_CODE_SUBPROCESS_ENV_SCRUB est défini. Les clés sont des sous-chaînes comparées au texte de la commande ; les valeurs sont des limites d'appels entières. Par exemple, {"deploy.sh": 2} autorise deploy.sh à être appelé au plus deux fois. La correspondance est par sous-chaîne ; le fan-out à l'exécution via xargs ou find -exec n'est pas détecté — c'est un contrôle de défense en profondeur
CLAUDE_CODE_PERFORCE_MODE Mets 1 pour activer la protection d'écriture consciente de Perforce. Quand défini, Edit, Write et NotebookEdit échouent avec un indice p4 edit <file> si le fichier cible n'a pas le bit owner-write, que Perforce efface sur les fichiers synchronisés jusqu'à ce que p4 edit les ouvre. Empêche Claude Code de contourner le suivi de changements Perforce (v2.1.98)
CLAUDE_CODE_MAX_RETRIES Surcharger le nombre de retries de requête API (défaut : 10)
CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY Outils en lecture seule parallèles max (défaut : 10)
CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS Désactiver les types de sous-agents intégrés en mode SDK (1 pour désactiver)
CLAUDE_AGENT_SDK_MCP_NO_PREFIX Sauter le préfixe mcp__<server>__ pour les outils MCP en mode SDK (1 pour activer)
CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS Timeout de blocage en ms pour les sous-agents d'arrière-plan (défaut : 600000 / 10 minutes). Le sous-agent est tué s'il ne produit aucune sortie pendant cette durée
MCP_CONNECTION_NONBLOCKING Mets true en mode -p pour sauter entièrement l'attente de connexion MCP. Borne les connexions de serveurs --mcp-config à 5s au lieu de bloquer sur le serveur le plus lent (dans le changelog v2.1.89, pas encore sur la page officielle des variables d'env)
CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS Timeout des hooks SessionEnd en ms (remplace la limite dure de 1,5s)
CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY Désactiver les invites d'enquête de feedback (1 pour désactiver)
CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL Mets 1 pour router l'enquête de qualité de session vers ton propre collecteur OpenTelemetry quand le trafic non essentiel vers Anthropic est bloqué. Les notes d'enquête ne sont émises que comme événements OTEL vers ton collecteur configuré — aucune donnée d'enquête n'est envoyée à Anthropic. S'applique quand CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC, DISABLE_TELEMETRY ou DO_NOT_TRACK est défini ; sans effet sinon. CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY et la politique de feedback produit de l'organisation prennent le pas (v2.1.136)
CLAUDE_CODE_DISABLE_TERMINAL_TITLE Désactiver les mises à jour du titre de terminal (1 pour désactiver)
CLAUDE_CODE_TMUX_TRUECOLOR Mets 1 pour autoriser la sortie truecolor 24 bits dans tmux. Par défaut, Claude Code se limite à 256 couleurs quand $TMUX est défini car tmux ne laisse pas passer les séquences d'échappement truecolor sauf configuration. Mets ceci après avoir ajouté set -ga terminal-overrides ',*:Tc' à ton ~/.tmux.conf
CLAUDE_CODE_NO_FLICKER Mets 1 pour activer le rendu écran alternatif sans scintillement. Élimine le scintillement visuel pendant les redessins plein écran (v2.1.88)
CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT Mets 1 pour repeindre tout l'écran à chaque frame en rendu plein écran. À utiliser quand les redessins partiels produisent des artefacts visuels dans des émulateurs de terminal inhabituels
CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN Mets 1 pour désactiver le rendu plein écran et utiliser le moteur de rendu classique sur écran principal. La conversation reste dans le scrollback natif de ton terminal pour que Cmd+f et le mode copie tmux fonctionnent comme d'habitude. Prend le pas sur CLAUDE_CODE_NO_FLICKER et le paramètre tui. Tu peux aussi basculer avec /tui default (v2.1.132)
CLAUDE_CODE_FORCE_SYNC_OUTPUT Mets 1 pour forcer l'activation de la sortie synchronisée DEC private mode 2026 quand ton terminal la supporte mais n'est pas auto-détecté. Utile pour les émulateurs comme eat d'Emacs qui implémentent BSU/ESU mais ne répondent pas à la sonde de capacité. Sans effet sous tmux (v2.1.129)
CLAUDE_CODE_SCROLL_SPEED Multiplicateur de défilement de molette pour le rendu plein écran. Augmente pour un défilement plus rapide, diminue pour un contrôle plus fin
CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL Mets 1 pour désactiver le défilement virtuel en rendu plein écran et rendre chaque message du transcript. À utiliser si le défilement en mode plein écran montre des régions vides où des messages devraient apparaître
CLAUDE_CODE_DISABLE_MOUSE Mets 1 pour désactiver le suivi de la souris en rendu plein écran. Utile quand les événements souris interfèrent avec les multiplexeurs de terminal ou les outils d'accessibilité
CLAUDE_CODE_HIDE_CWD Mets 1 pour masquer le répertoire de travail courant dans la bannière logo de démarrage de Claude Code. Utile dans les enregistrements d'écran, démos ou sessions partagées où le chemin CWD divulgue des infos sur l'hôte ou la disposition du projet (v2.1.119)
CLAUDE_CODE_ACCESSIBILITY Mets 1 pour garder le curseur natif du terminal visible pour les lecteurs d'écran et outils d'accessibilité
CLAUDE_CODE_NATIVE_CURSOR Mets 1 pour afficher le curseur propre du terminal à la position du caret de saisie au lieu du caractère de curseur personnalisé de Claude Code
CLAUDE_CODE_SYNTAX_HIGHLIGHT Mets 0 pour désactiver la coloration syntaxique dans la sortie de diff
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL Sauter l'installation automatique de l'extension IDE (1 pour sauter)
CLAUDE_CODE_AUTO_CONNECT_IDE Surcharger le comportement de connexion auto à l'IDE
CLAUDE_CODE_IDE_HOST_OVERRIDE Surcharger l'adresse hôte de l'IDE pour la connexion
CLAUDE_CODE_IDE_SKIP_VALID_CHECK Sauter la validation du lockfile IDE (1 pour sauter)
CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS Intervalle de debounce en ms pour le script helper d'en-têtes OTel
CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS Timeout en ms pour le flush OpenTelemetry
CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS Timeout en ms pour l'arrêt OpenTelemetry
CLAUDE_ENABLE_BYTE_WATCHDOG Mets 1 pour forcer l'activation du watchdog d'inactivité de streaming au niveau octet, ou 0 pour le forcer désactivé. Quand non défini, le watchdog est activé par défaut pour les connexions à l'API Anthropic. Le watchdog octet avorte une connexion quand aucun octet n'arrive sur le fil pendant la durée fixée par CLAUDE_STREAM_IDLE_TIMEOUT_MS (minimum 5 minutes), indépendamment du watchdog au niveau événement
CLAUDE_STREAM_IDLE_TIMEOUT_MS Timeout en ms pour le watchdog d'inactivité de streaming. Deux watchdogs s'appliquent : niveau octet (défaut et minimum 300000 / 5 minutes, avorte quand aucun octet n'arrive sur le fil) et niveau événement (défaut 90000 / 90 secondes, sans minimum, avorte quand aucun événement SSE n'arrive). Le watchdog octet est activé par défaut pour les connexions à l'API Anthropic ; contrôle-le via CLAUDE_ENABLE_BYTE_WATCHDOG. Augmente le timeout d'événement si des outils de longue durée ou des réseaux lents causent des erreurs de timeout prématurées
OTEL_LOG_TOOL_DETAILS Mets 1 pour inclure tool_parameters dans les événements OpenTelemetry. Omis par défaut pour la confidentialité (dans le changelog v2.1.85, pas encore sur la page officielle des variables d'env)
OTEL_LOG_RAW_API_BODIES Mets 1 pour émettre les corps complets de requête et réponse API comme événements de log OpenTelemetry. Omis par défaut pour la confidentialité et la taille de payload. Utile pour le débogage à une gateway ou un proxy (dans le changelog v2.1.111, pas encore sur la page officielle des variables d'env)
OTEL_LOG_USER_PROMPTS Mets 1 pour inclure le champ user_system_prompt dans les spans de requête LLM OpenTelemetry. Omis par défaut pour la confidentialité — les prompts utilisateur peuvent contenir des données sensibles, alors n'opte que quand tu contrôles le collecteur OTel et as des politiques en place (dans le changelog v2.1.121, pas encore sur la page officielle des variables d'env)
OTEL_EXPORTER_OTLP_ENDPOINT URL d'endpoint de collecteur OpenTelemetry pour les métriques et logs. Voir Monitoring
OTEL_EXPORTER_OTLP_HEADERS En-têtes d'exporteur OpenTelemetry (format Name=Value, séparés par virgules) pour t'authentifier avec ton collecteur
OTEL_LOG_TOOL_CONTENT Mets 1 pour émettre les entrées et sorties complètes d'outils comme événements de log OpenTelemetry. Omis par défaut pour la confidentialité
OTEL_METRICS_EXPORTER Type d'exporteur de métriques OpenTelemetry (par ex. otlp). Voir Monitoring
OTEL_TRACES_EXPORTER Type d'exporteur de traces OpenTelemetry (par ex. otlp). Voir Monitoring
CLAUDE_CODE_FORK_SUBAGENT Mets 1 pour activer les sous-agents forkés sur les builds externes (distributions non signées par Anthropic). Les sous-agents forkés tournent dans un processus enfant isolé au lieu de partager le contexte de l'agent principal (dans le changelog v2.1.117, pas encore sur la page officielle des variables d'env)
CLAUDE_CODE_MCP_SERVER_NAME Nom du serveur MCP, passé comme variable d'environnement aux scripts headersHelper pour qu'ils génèrent des en-têtes d'authentification propres au serveur (dans le changelog v2.1.85, pas encore sur la page officielle des variables d'env)
CLAUDE_CODE_MCP_SERVER_URL URL du serveur MCP, passée comme variable d'environnement aux scripts headersHelper à côté de CLAUDE_CODE_MCP_SERVER_NAME (dans le changelog v2.1.85, pas encore sur la page officielle des variables d'env)
ANTHROPIC_DEFAULT_OPUS_MODEL Surcharger l'alias de modèle Opus (par ex. claude-opus-4-6[1m])
ANTHROPIC_DEFAULT_OPUS_MODEL_NAME Personnaliser le libellé de l'entrée Opus dans le sélecteur /model en utilisant un modèle épinglé sur Bedrock/Vertex/Foundry. Défaut : l'ID du modèle
ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION Personnaliser la description de l'entrée Opus dans le sélecteur /model. Défaut : Custom model (<model-id>)
ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES Surcharger la détection de capacités pour un modèle Opus épinglé. Valeurs séparées par des virgules (par ex. effort,thinking). Requis quand le modèle épinglé supporte des fonctionnalités que l'auto-détection ne peut confirmer
ANTHROPIC_DEFAULT_SONNET_MODEL Surcharger l'alias de modèle Sonnet (par ex. claude-sonnet-4-6)
ANTHROPIC_DEFAULT_SONNET_MODEL_NAME Personnaliser le libellé de l'entrée Sonnet dans le sélecteur /model en utilisant un modèle épinglé sur Bedrock/Vertex/Foundry. Défaut : l'ID du modèle
ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION Personnaliser la description de l'entrée Sonnet dans le sélecteur /model. Défaut : Custom model (<model-id>)
ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES Surcharger la détection de capacités pour un modèle Sonnet épinglé. Valeurs séparées par des virgules (par ex. effort,thinking). Requis quand le modèle épinglé supporte des fonctionnalités que l'auto-détection ne peut confirmer
MAX_THINKING_TOKENS Tokens de réflexion étendue maximum par réponse
CLAUDE_CODE_AUTO_COMPACT_WINDOW Définir la capacité de contexte en tokens utilisée pour les calculs d'auto-compaction. Défaut : la fenêtre de contexte du modèle (200K standard, 1M pour les modèles à contexte étendu). Utilise une valeur plus basse (par ex. 500000) sur un modèle 1M pour le traiter comme 500K pour la compaction. Plafonné à la fenêtre de contexte réelle. CLAUDE_AUTOCOMPACT_PCT_OVERRIDE est appliqué comme pourcentage de cette valeur. Définir ceci découple le seuil de compaction du used_percentage de la barre d'état
DISABLE_AUTO_COMPACT Désactiver la compaction automatique du contexte (1 pour désactiver). Le /compact manuel fonctionne toujours (pas dans les docs officielles — non vérifié)
DISABLE_COMPACT Désactiver toute compaction — automatique et manuelle (1 pour désactiver)
CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION Activer les suggestions de prompt
CLAUDE_CODE_PLAN_MODE_REQUIRED Exiger le mode plan pour les sessions
CLAUDE_CODE_TEAM_NAME Nom d'équipe pour les équipes d'agents
CLAUDE_CODE_TASK_LIST_ID ID de liste de tâches pour l'intégration de tâches
CLAUDE_ENV_FILE Chemin de fichier d'environnement personnalisé
FORCE_AUTOUPDATE_PLUGINS Forcer les mises à jour auto des plugins (1 pour activer)
HTTP_PROXY URL de proxy HTTP pour les requêtes réseau
HTTPS_PROXY URL de proxy HTTPS pour les requêtes réseau
NO_PROXY Liste d'hôtes contournant le proxy, séparés par des virgules
MCP_TOOL_TIMEOUT Timeout d'exécution d'outil MCP en ms
MCP_CLIENT_SECRET Secret client OAuth MCP
MCP_OAUTH_CALLBACK_PORT Port de callback OAuth MCP
IS_DEMO Activer le mode démo
SLASH_COMMAND_TOOL_CHAR_BUDGET Budget de caractères pour la sortie d'outil de commande slash
VERTEX_REGION_CLAUDE_3_5_HAIKU Surcharge de région Vertex AI pour Claude 3.5 Haiku
VERTEX_REGION_CLAUDE_3_7_SONNET Surcharge de région Vertex AI pour Claude 3.7 Sonnet
VERTEX_REGION_CLAUDE_4_0_OPUS Surcharge de région Vertex AI pour Claude 4.0 Opus
VERTEX_REGION_CLAUDE_4_0_SONNET Surcharge de région Vertex AI pour Claude 4.0 Sonnet
VERTEX_REGION_CLAUDE_4_1_OPUS Surcharge de région Vertex AI pour Claude 4.1 Opus

Commandes utiles

Commande Description
/model Changer de modèle et ajuster le niveau d'effort d'Opus 4.6
/effort Définir le niveau d'effort directement : low, medium, high, xhigh (Opus 4.7 uniquement, v2.1.111), ou max (Opus 4.6 uniquement) (v2.1.76+)
/config UI de configuration interactive
/memory Voir/éditer tous les fichiers de mémoire
/agents Gérer les sous-agents
/mcp Gérer les serveurs MCP
/hooks Voir les hooks configurés
/plugin Gérer les plugins
claude plugin tag Taguer une version de plugin dans une marketplace pour distribution. À lancer depuis le dépôt de marketplace avec le nom et la version du plugin (v2.1.118)
claude plugin prune Retirer les plugins dont la source de marketplace n'est plus présente (par ex. marketplace supprimée ou entrée extraKnownMarketplaces retirée). Nettoie le cache local et désactive les plugins orphelins (v2.1.121)
claude plugin details <plugin> Afficher l'inventaire de composants du plugin (commandes, agents, skills, hooks) et le coût en tokens de contexte par session qu'il ajoute. Utile pour auditer la dépense en tokens avant d'activer un plugin dans un environnement managed (v2.1.139)
/keybindings Configurer des raccourcis clavier personnalisés
/skills Voir et gérer les skills
/permissions Voir et gérer les règles de permission
/usage-credits Voir les crédits d'usage et limites restants. Renommé depuis /extra-usage en v2.1.144 (l'ancien nom fonctionne toujours)
--doctor Diagnostiquer les problèmes de configuration
--debug Mode debug avec détails d'exécution des hooks

Référence rapide : exemple complet

{
  "$schema": "https://json.schemastore.org/claude-code-settings.json",
  "model": "sonnet",
  "agent": "code-reviewer",
  "language": "english",
  "cleanupPeriodDays": 30,
  "autoUpdatesChannel": "stable",
  "alwaysThinkingEnabled": true,
  "showThinkingSummaries": true,
  "viewMode": "default",
  "tui": "fullscreen",
  "awaySummaryEnabled": false,
  "includeGitInstructions": true,
  "defaultShell": "bash",
  "plansDirectory": "./plans",
  "claudeMdExcludes": ["**/vendor/**/CLAUDE.md"],
  "effortLevel": "xhigh",
  "maxSkillDescriptionChars": 1536,
  "skillListingBudgetFraction": 0.01,
  "disableAgentView": false,
  "disableWorkflows": false,
  "workflowKeywordTriggerEnabled": true,
  "syntaxHighlightingDisabled": false,

  "worktree": {
    "symlinkDirectories": ["node_modules"],
    "sparsePaths": ["packages/my-app", "shared/utils"],
    "baseRef": "fresh",
    "bgIsolation": "worktree"
  },

  "skillOverrides": {
    "legacy-context": "name-only",
    "deploy": "off"
  },

  "modelOverrides": {
    "claude-opus-4-6": "arn:aws:bedrock:us-east-1:123456789:inference-profile/anthropic.claude-opus-4-6-v1:0"
  },

  "autoMode": {
    "environment": [
      "Source control: github.example.com/acme-corp and all repos under it",
      "Trusted internal domains: *.internal.example.com"
    ],
    "soft_deny": ["$defaults", "Never run terraform apply"],
    "hard_deny": ["Never run rm -rf on directories outside the project"]
  },

  "permissions": {
    "allow": [
      "Edit(*)",
      "Write(*)",
      "Bash(npm run *)",
      "Bash(git *)",
      "WebFetch(domain:*)",
      "mcp__*",
      "Agent(*)"
    ],
    "deny": [
      "Read(.env)",
      "Read(./secrets/**)"
    ],
    "additionalDirectories": ["../shared/"],
    "defaultMode": "acceptEdits"
  },

  "enableAllProjectMcpServers": true,

  "mcpServers": {
    "always-on-server": {
      "type": "http",
      "url": "https://mcp.example.com",
      "alwaysLoad": true
    }
  },

  "sshConfigs": [
    {
      "id": "dev-vm",
      "name": "Dev VM",
      "sshHost": "user@dev.example.com"
    }
  ],

  "sandbox": {
    "enabled": true,
    "excludedCommands": ["git", "docker"],
    "filesystem": {
      "denyRead": ["./secrets/"],
      "denyWrite": ["./.env"]
    }
  },

  "attribution": {
    "commit": "Generated with Claude Code",
    "pr": ""
  },
  "prUrlTemplate": "https://gitlab.example.com/{owner}/{repo}/-/merge_requests/{number}",

  "statusLine": {
    "type": "command",
    "command": "git branch --show-current"
  },

  "spinnerTipsEnabled": true,
  "spinnerTipsOverride": {
    "tips": ["Custom tip 1", "Custom tip 2"],
    "excludeDefault": false
  },
  "prefersReducedMotion": false,
  "preferredNotifChannel": "terminal_bell",

  "env": {
    "NODE_ENV": "development",
    "CLAUDE_CODE_EFFORT_LEVEL": "medium",
    "ANTHROPIC_BEDROCK_SERVICE_TIER": "priority",
    "CLAUDE_CODE_ENABLE_AUTO_MODE": "1"
  }
}

Sources