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 d’entreprise. Ceux-ci prennent la précédence sur les paramètres utilisateur et de projet. Les administrateurs système peuvent déployer des politiques vers :
    • macOS : /Library/Application Support/ClaudeCode/managed-settings.json
    • Linux et WSL : /etc/claude-code/managed-settings.json
    • Windows : C:\ProgramData\ClaudeCode\managed-settings.json
Exemple settings.json
{
  "permissions": {
    "allow": [
      "Bash(npm run lint)",
      "Bash(npm run test:*)",
      "Read(~/.zshrc)"
    ],
    "deny": [
      "Bash(curl:*)",
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)"
    ]
  },
  "env": {
    "CLAUDE_CODE_ENABLE_TELEMETRY": "1",
    "OTEL_METRICS_EXPORTER": "otlp"
  }
}

Paramètres disponibles

settings.json supporte plusieurs options :

CléDescriptionExemple
apiKeyHelperScript personnalisé, à exécuter dans /bin/sh, pour générer une valeur d’authentification. Cette valeur sera envoyée comme en-têtes X-Api-Key et Authorization: Bearer pour les requêtes de modèle/bin/generate_temp_api_key.sh
cleanupPeriodDaysCombien de temps conserver localement les transcriptions de chat basées sur la date de dernière activité (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
permissionsVoir le tableau ci-dessous pour la structure des permissions.
hooksConfigurez des commandes personnalisées à exécuter avant ou après les exécutions d’outils. Voir documentation des hooks{"PreToolUse": {"Bash": "echo 'Running command...'"}}
modelRemplacer le modèle par défaut à utiliser pour Claude Code"claude-3-5-sonnet-20241022"
statusLineConfigurez une ligne de statut personnalisée pour afficher le contexte. Voir documentation statusLine{"type": "command", "command": "~/.claude/statusline.sh"}
forceLoginMethodUtilisez claudeai pour restreindre la connexion aux comptes Claude.ai, console pour restreindre la connexion aux comptes Anthropic Console (facturation d’utilisation API)claudeai
enableAllProjectMcpServersApprouver automatiquement tous les serveurs MCP définis dans les fichiers .mcp.json de projettrue
enabledMcpjsonServersListe des serveurs MCP spécifiques des fichiers .mcp.json à approuver["memory", "github"]
disabledMcpjsonServersListe des serveurs MCP spécifiques des fichiers .mcp.json à rejeter["filesystem"]
awsAuthRefreshScript personnalisé qui modifie le répertoire .aws (voir configuration avancée des identifiants)aws sso login --profile myprofile
awsCredentialExportScript personnalisé qui génère du JSON avec les identifiants AWS (voir configuration avancée des identifiants)/bin/generate_aws_grant.sh

Paramètres de permissions

ClésDescriptionExemple
allowTableau de règles de permission pour autoriser l’utilisation d’outils[ "Bash(git diff:*)" ]
askTableau de règles de permission pour demander confirmation lors de l’utilisation d’outils.[ "Bash(git push:*)" ]
denyTableau de règles de permission pour refuser l’utilisation d’outils. Utilisez ceci pour également exclure les fichiers sensibles de l’accès Claude Code.[ "WebFetch", "Bash(curl:*)", "Read(./.env)", "Read(./secrets/**)" ]
additionalDirectoriesRépertoires de travail supplémentaires auxquels Claude a accès[ "../docs/" ]
defaultModeMode de permission par défaut lors de l’ouverture de Claude Code"acceptEdits"
disableBypassPermissionsModeDéfinir à "disable" pour empêcher l’activation du mode bypassPermissions. Voir paramètres de politique gérés"disable"

Précédence des paramètres

Les paramètres sont appliqués par ordre de précédence (du plus élevé au plus bas) :

  1. Politiques gérées d’entreprise (managed-settings.json)

    • Déployées par IT/DevOps
    • Ne peuvent pas être remplacées
  2. Arguments de ligne de commande

    • Remplacements temporaires pour une session spécifique
  3. Paramètres de projet locaux (.claude/settings.local.json)

    • Paramètres personnels spécifiques au projet
  4. Paramètres de projet partagés (.claude/settings.json)

    • Paramètres de projet partagés par l’équipe dans le contrôle de source
  5. Paramètres utilisateur (~/.claude/settings.json)

    • Paramètres globaux personnels

Cette hiérarchie garantit que les politiques de sécurité d’entreprise sont toujours appliquées tout en permettant aux équipes et aux individus de personnaliser leur expérience.

Points clés sur le système de configuration

  • Fichiers de mémoire (CLAUDE.md) : Contiennent des instructions et du contexte que Claude charge au démarrage
  • Fichiers de paramètres (JSON) : Configurent les permissions, variables d’environnement et comportement des outils
  • Commandes slash : Commandes personnalisées qui peuvent être invoquées pendant une session avec /nom-commande
  • Serveurs MCP : Étendent Claude Code avec des outils et intégrations supplémentaires
  • Précédence : Les configurations de niveau supérieur (Entreprise) remplacent celles de niveau inférieur (Utilisateur/Projet)
  • Héritage : Les paramètres sont fusionnés, avec des paramètres plus spécifiques ajoutant ou remplaçant les plus généraux

Disponibilité du prompt système

Contrairement à claude.ai, nous ne publions pas le prompt système interne de Claude Code sur ce site web. Utilisez les fichiers CLAUDE.md ou --append-system-prompt pour ajouter des instructions personnalisées au comportement de Claude Code.

Exclusion de fichiers sensibles

Pour empêcher Claude Code d’accéder aux fichiers contenant des informations sensibles (par exemple, clés API, secrets, fichiers d’environnement), utilisez le paramètre permissions.deny dans votre fichier .claude/settings.json :

{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)",
      "Read(./config/credentials.json)",
      "Read(./build)"
    ]
  }
}

Ceci remplace la configuration ignorePatterns dépréciée. Les fichiers correspondant à ces motifs seront complètement invisibles à Claude Code, empêchant toute exposition accidentelle de données sensibles.

Configuration de sous-agents

Claude Code supporte des sous-agents IA personnalisés qui peuvent être configurés aux niveaux utilisateur et projet. Ces sous-agents sont stockés comme fichiers Markdown avec frontmatter YAML :

  • Sous-agents utilisateur : ~/.claude/agents/ - Disponibles dans tous vos projets
  • Sous-agents de projet : .claude/agents/ - Spécifiques à votre projet et peuvent être partagés avec votre équipe

Les fichiers de sous-agents définissent des assistants IA spécialisés avec des prompts personnalisés et des permissions d’outils. Apprenez-en plus sur la création et l’utilisation de sous-agents dans la documentation des sous-agents.

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 l’en-tête 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 d’arrière-plan
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGIONRemplacer la région AWS pour le modèle petit/rapide lors de l’utilisation de Bedrock
AWS_BEARER_TOKEN_BEDROCKClé API Bedrock pour l’authentification (voir Clés API Bedrock)
BASH_DEFAULT_TIMEOUT_MSDélai d’attente par défaut pour les commandes bash de longue durée
BASH_MAX_TIMEOUT_MSDélai d’attente 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 actualisés (lors de l’utilisation d’apiKeyHelper)
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALLIgnorer l’auto-installation des extensions IDE
CLAUDE_CODE_MAX_OUTPUT_TOKENSDéfinir le nombre maximum de tokens de sortie pour la plupart des requêtes
CLAUDE_CODE_USE_BEDROCKUtiliser Bedrock
CLAUDE_CODE_USE_VERTEXUtiliser 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
CLAUDE_CODE_DISABLE_TERMINAL_TITLEDéfinir à 1 pour désactiver les mises à jour automatiques du titre du terminal basées sur le contexte de conversation
DISABLE_AUTOUPDATERDéfinir à 1 pour désactiver les mises à jour automatiques. Ceci prend la précédence sur le paramètre de configuration autoUpdates.
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’erreurs 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_TIMEOUTDélai d’attente en millisecondes pour le démarrage du serveur MCP
MCP_TOOL_TIMEOUTDélai d’attente en millisecondes pour l’exécution d’outils MCP
MAX_MCP_OUTPUT_TOKENSNombre maximum de tokens autorisés dans les réponses d’outils MCP (par défaut : 25000)
USE_BUILTIN_RIPGREPDéfinir à 0 pour utiliser rg installé sur le système au lieu de rg inclus avec Claude Code
VERTEX_REGION_CLAUDE_3_5_HAIKURemplacer la région pour Claude 3.5 Haiku lors de l’utilisation de Vertex AI
VERTEX_REGION_CLAUDE_3_5_SONNETRemplacer la région pour Claude Sonnet 3.5 lors de l’utilisation de Vertex AI
VERTEX_REGION_CLAUDE_3_7_SONNETRemplacer la région pour Claude 3.7 Sonnet lors de l’utilisation de Vertex AI
VERTEX_REGION_CLAUDE_4_0_OPUSRemplacer la région pour Claude 4.0 Opus lors de l’utilisation de Vertex AI
VERTEX_REGION_CLAUDE_4_0_SONNETRemplacer la région pour Claude 4.0 Sonnet lors de l’utilisation de Vertex AI
VERTEX_REGION_CLAUDE_4_1_OPUSRemplacer la région pour Claude 4.1 Opus lors de l’utilisation de Vertex AI

Options de configuration

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 drapeau --global (ou -g).

Configuration globale

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

CléDescriptionExemple
autoUpdatesS’il faut activer les mises à jour automatiques (par défaut : true). Lorsqu’activé, Claude Code télécharge et installe automatiquement les mises à jour en arrière-plan. Les mises à jour sont appliquées lorsque vous redémarrez Claude Code.false
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 commandes (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
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
TaskExécute un sous-agent pour gérer des tâches complexes à plusieurs étapesNon
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 remplace des fichiersOui

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

Extension des outils avec des hooks

Vous pouvez exécuter des commandes personnalisées avant ou après l’exécution de tout outil en utilisant les hooks Claude Code.

Par exemple, vous pourriez automatiquement exécuter un formateur Python après que Claude modifie des fichiers Python, ou empêcher les modifications aux fichiers de configuration de production en bloquant les opérations Write vers certains chemins.

Voir aussi