Claude Code offre une variété de paramètres pour configurer son comportement selon vos besoins. Vous pouvez configurer Claude Code en exécutant la commande /config lors de l’utilisation du REPL interactif.

Fichiers de paramètres

Le fichier settings.json est notre mécanisme officiel pour configurer Claude Code via des paramètres hiérarchiques :

  • Les paramètres utilisateur sont définis dans ~/.claude/settings.json et s’appliquent à tous les projets.
  • Les paramètres de projet sont sauvegardés dans votre répertoire de projet :
    • .claude/settings.json pour les paramètres qui sont versionnés dans le contrôle de source et partagés avec votre équipe
    • .claude/settings.local.json pour les paramètres qui ne sont pas versionnés, utiles pour les préférences personnelles et l’expérimentation. Claude Code configurera git pour ignorer .claude/settings.local.json lorsqu’il est créé.
  • Pour les déploiements d’entreprise de Claude Code, nous supportons également les paramètres de politique gérés par l’entreprise. Ceux-ci prennent la priorité sur les paramètres utilisateur et de projet. Les administrateurs système peuvent déployer des politiques vers /Library/Application Support/ClaudeCode/policies.json sur macOS et /etc/claude-code/policies.json sur Linux et Windows via WSL.
Exemple settings.json
{
  "permissions": {
    "allow": [
      "Bash(npm run lint)",
      "Bash(npm run test:*)",
      "Read(~/.zshrc)"
    ],
    "deny": [
      "Bash(curl:*)"
    ]
  },
  "env": {
    "CLAUDE_CODE_ENABLE_TELEMETRY": "1",
    "OTEL_METRICS_EXPORTER": "otlp"
  }
}

Paramètres disponibles

settings.json supporte un certain nombre d’options :

CléDescriptionExemple
apiKeyHelperScript personnalisé, à exécuter dans /bin/sh, pour générer une valeur d’authentification. Cette valeur sera généralement envoyée comme en-têtes X-Api-Key, Authorization: Bearer, et Proxy-Authorization: Bearer pour les requêtes de modèle/bin/generate_temp_api_key.sh
cleanupPeriodDaysCombien de temps conserver localement les transcriptions de chat (par défaut : 30 jours)20
envVariables d’environnement qui seront appliquées à chaque session{"FOO": "bar"}
includeCoAuthoredByS’il faut inclure la signature co-authored-by Claude dans les commits git et les pull requests (par défaut : true)false
permissionsLes clés allow et deny sont une liste de règles de permission{"allow": [ "Bash(npm run lint)" ]}

Priorité des paramètres

Les paramètres sont appliqués par ordre de priorité :

  1. Politiques d’entreprise (voir documentation IAM)
  2. Arguments de ligne de commande
  3. Paramètres de projet locaux
  4. Paramètres de projet partagés
  5. Paramètres utilisateur

Variables d’environnement

Claude Code supporte les variables d’environnement suivantes pour contrôler son comportement :

Toutes les variables d’environnement peuvent également être configurées dans settings.json. Ceci est utile comme moyen de définir automatiquement des variables d’environnement pour chaque session, ou pour déployer un ensemble de variables d’environnement pour toute votre équipe ou organisation.

VariableObjectif
ANTHROPIC_API_KEYClé API envoyée comme en-tête X-Api-Key, typiquement pour le SDK Claude (pour l’utilisation interactive, exécutez /login)
ANTHROPIC_AUTH_TOKENValeur personnalisée pour les en-têtes Authorization et Proxy-Authorization (la valeur que vous définissez ici sera préfixée avec Bearer )
ANTHROPIC_CUSTOM_HEADERSEn-têtes personnalisés que vous voulez ajouter à la requête (au format Name: Value)
ANTHROPIC_MODELNom du modèle personnalisé à utiliser (voir Configuration de Modèle)
ANTHROPIC_SMALL_FAST_MODELNom du modèle de classe Haiku pour les tâches en arrière-plan
BASH_DEFAULT_TIMEOUT_MSTimeout par défaut pour les commandes bash de longue durée
BASH_MAX_TIMEOUT_MSTimeout maximum que le modèle peut définir pour les commandes bash de longue durée
BASH_MAX_OUTPUT_LENGTHNombre maximum de caractères dans les sorties bash avant qu’elles soient tronquées au milieu
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIRRetourner au répertoire de travail original après chaque commande Bash
CLAUDE_CODE_API_KEY_HELPER_TTL_MSIntervalle en millisecondes auquel les identifiants doivent être rafraîchis (lors de l’utilisation de apiKeyHelper)
CLAUDE_CODE_MAX_OUTPUT_TOKENSDéfinir le nombre maximum de tokens de sortie pour la plupart des requêtes
CLAUDE_CODE_USE_BEDROCKUtiliser Bedrock (voir Bedrock & Vertex)
CLAUDE_CODE_USE_VERTEXUtiliser Vertex (voir Bedrock & Vertex)
CLAUDE_CODE_SKIP_BEDROCK_AUTHIgnorer l’authentification AWS pour Bedrock (par exemple lors de l’utilisation d’une passerelle LLM)
CLAUDE_CODE_SKIP_VERTEX_AUTHIgnorer l’authentification Google pour Vertex (par exemple lors de l’utilisation d’une passerelle LLM)
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICÉquivalent de définir DISABLE_AUTOUPDATER, DISABLE_BUG_COMMAND, DISABLE_ERROR_REPORTING, et DISABLE_TELEMETRY
DISABLE_AUTOUPDATERDéfinir à 1 pour désactiver le mise à jour automatique
DISABLE_BUG_COMMANDDéfinir à 1 pour désactiver la commande /bug
DISABLE_COST_WARNINGSDéfinir à 1 pour désactiver les messages d’avertissement de coût
DISABLE_ERROR_REPORTINGDéfinir à 1 pour se désinscrire du rapport d’erreur Sentry
DISABLE_NON_ESSENTIAL_MODEL_CALLSDéfinir à 1 pour désactiver les appels de modèle pour les chemins non critiques comme le texte de saveur
DISABLE_TELEMETRYDéfinir à 1 pour se désinscrire de la télémétrie Statsig (notez que les événements Statsig n’incluent pas de données utilisateur comme le code, les chemins de fichiers, ou les commandes bash)
HTTP_PROXYSpécifier le serveur proxy HTTP pour les connexions réseau
HTTPS_PROXYSpécifier le serveur proxy HTTPS pour les connexions réseau
MAX_THINKING_TOKENSForcer un budget de réflexion pour le modèle
MCP_TIMEOUTTimeout en millisecondes pour le démarrage du serveur MCP
MCP_TOOL_TIMEOUTTimeout en millisecondes pour l’exécution d’outil MCP
MAX_MCP_OUTPUT_TOKENSNombre maximum de tokens autorisés dans les réponses d’outil MCP (par défaut : 25000)

Options de configuration

Nous sommes en cours de migration de la configuration globale vers settings.json.

claude config sera déprécié en faveur de settings.json

Pour gérer vos configurations, utilisez les commandes suivantes :

  • Lister les paramètres : claude config list
  • Voir un paramètre : claude config get <key>
  • Changer un paramètre : claude config set <key> <value>
  • Pousser vers un paramètre (pour les listes) : claude config add <key> <value>
  • Supprimer d’un paramètre (pour les listes) : claude config remove <key> <value>

Par défaut config change votre configuration de projet. Pour gérer votre configuration globale, utilisez le flag --global (ou -g).

Configuration globale

Pour définir une configuration globale, utilisez claude config set -g <key> <value> :

CléDescriptionExemple
autoUpdaterStatusActiver ou désactiver le mise à jour automatique (par défaut : enabled)disabled
preferredNotifChannelOù vous voulez recevoir les notifications (par défaut : iterm2)iterm2, iterm2_with_bell, terminal_bell, ou notifications_disabled
themeThème de couleurdark, light, light-daltonized, ou dark-daltonized
verboseS’il faut afficher les sorties complètes de bash et de commande (par défaut : false)true

Outils disponibles pour Claude

Claude Code a accès à un ensemble d’outils puissants qui l’aident à comprendre et modifier votre base de code :

OutilDescriptionPermission Requise
AgentExécute un sous-agent pour gérer des tâches complexes à plusieurs étapesNon
BashExécute des commandes shell dans votre environnementOui
EditEffectue des modifications ciblées sur des fichiers spécifiquesOui
GlobTrouve des fichiers basés sur la correspondance de motifsNon
GrepRecherche des motifs dans le contenu des fichiersNon
LSListe les fichiers et répertoiresNon
MultiEditEffectue plusieurs modifications sur un seul fichier de manière atomiqueOui
NotebookEditModifie les cellules de notebook JupyterOui
NotebookReadLit et affiche le contenu des notebooks JupyterNon
ReadLit le contenu des fichiersNon
TodoReadLit la liste des tâches de la session actuelleNon
TodoWriteCrée et gère des listes de tâches structuréesNon
WebFetchRécupère le contenu d’une URL spécifiéeOui
WebSearchEffectue des recherches web avec filtrage de domaineOui
WriteCrée ou écrase des fichiersOui

Les règles de permission peuvent être configurées en utilisant /allowed-tools ou dans les paramètres de permission.

Voir aussi