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, qui ouvre une interface Paramètres avec onglets où vous pouvez afficher les informations d’état et modifier les options de configuration.

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 enregistrés dans votre répertoire de projet :
    • .claude/settings.json pour les paramètres qui sont vérifié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 vérifiés, utiles pour les préférences personnelles et l’expérimentation. Claude Code configurera git pour ignorer .claude/settings.local.json lors de sa création.
  • Pour les déploiements d’entreprise de Claude Code, nous supportons également les paramètres de politique gérée par l’entreprise. Ceux-ci ont la priorité 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
  • Les déploiements d’entreprise peuvent également configurer des serveurs MCP gérés qui remplacent les serveurs configurés par l’utilisateur. Voir Configuration MCP d’entreprise :
    • macOS : /Library/Application Support/ClaudeCode/managed-mcp.json
    • Linux et WSL : /etc/claude-code/managed-mcp.json
    • Windows : C:\ProgramData\ClaudeCode\managed-mcp.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 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 envoyée comme en-têtes X-Api-Key et Authorization: Bearer pour les demandes de modèle/bin/generate_temp_api_key.sh
cleanupPeriodDaysDurée de conservation locale des transcriptions de chat en fonction de 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 ligne de signature co-authored-by Claude dans les commits git et les demandes de tirage (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...'"}}
disableAllHooksDésactiver tous les hookstrue
modelRemplacer le modèle par défaut à utiliser pour Claude Code"claude-sonnet-4-5-20250929"
statusLineConfigurez une ligne d’état personnalisée pour afficher le contexte. Voir documentation statusLine{"type": "command", "command": "~/.claude/statusline.sh"}
outputStyleConfigurez un style de sortie pour ajuster l’invite système. Voir documentation des styles de sortie"Explanatory"
forceLoginMethodUtilisez claudeai pour restreindre la connexion aux comptes Claude.ai, console pour restreindre la connexion aux comptes Claude Console (facturation d’utilisation d’API)claudeai
forceLoginOrgUUIDSpécifiez l’UUID d’une organisation pour la sélectionner automatiquement lors de la connexion, en contournant l’étape de sélection d’organisation. Nécessite que forceLoginMethod soit défini"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
enableAllProjectMcpServersApprouver automatiquement tous les serveurs MCP définis dans les fichiers .mcp.json du 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"]
useEnterpriseMcpConfigOnlyLorsqu’il est défini dans managed-settings.json, restreint les serveurs MCP à ceux définis uniquement dans managed-mcp.json. Voir Configuration MCP d’entreprisetrue
allowedMcpServersLorsqu’il est défini dans managed-settings.json, liste blanche des serveurs MCP que les utilisateurs peuvent configurer. Non défini = pas de restrictions, tableau vide = verrouillage. S’applique à tous les domaines. La liste noire a la priorité. Voir Configuration MCP d’entreprise[{ "serverName": "github" }]
deniedMcpServersLorsqu’il est défini dans managed-settings.json, liste noire des serveurs MCP explicitement bloqués. S’applique à tous les domaines, y compris les serveurs d’entreprise. La liste noire a la priorité sur la liste blanche. Voir Configuration MCP d’entreprise[{ "serverName": "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 permission

ClésDescriptionExemple
allowTableau de règles de permission pour autoriser l’utilisation d’outils. Remarque : Les règles Bash utilisent la correspondance de préfixe, pas regex[ "Bash(git diff:*)" ]
askTableau de règles de permission pour demander une 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 de Claude Code. Remarque : Les modèles Bash sont des correspondances de préfixe et peuvent être contournés (voir Limitations de permission Bash)[ "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 sur "disable" pour empêcher l’activation du mode bypassPermissions. Cela désactive l’indicateur de ligne de commande --dangerously-skip-permissions. Voir paramètres de politique gérée"disable"

Paramètres de sandbox

Configurez le comportement avancé du sandboxing. Le sandboxing isole les commandes bash de votre système de fichiers et de votre réseau. Voir Sandboxing pour plus de détails. Les restrictions du système de fichiers et du réseau sont configurées via les règles de permission Read, Edit et WebFetch, pas via ces paramètres de sandbox.
ClésDescriptionExemple
enabledActiver le sandboxing bash (macOS/Linux uniquement). Par défaut : falsetrue
autoAllowBashIfSandboxedApprouver automatiquement les commandes bash lorsqu’elles sont sandboxées. Par défaut : truetrue
excludedCommandsCommandes qui doivent s’exécuter en dehors du sandbox["git", "docker"]
network.allowUnixSocketsChemins de socket Unix accessibles dans le sandbox (pour les agents SSH, etc.)["~/.ssh/agent-socket"]
network.allowLocalBindingAutoriser la liaison aux ports localhost (MacOS uniquement). Par défaut : falsetrue
network.httpProxyPortPort du proxy HTTP utilisé si vous souhaitez apporter votre propre proxy. S’il n’est pas spécifié, Claude exécutera son propre proxy.8080
network.socksProxyPortPort du proxy SOCKS5 utilisé si vous souhaitez apporter votre propre proxy. S’il n’est pas spécifié, Claude exécutera son propre proxy.8081
enableWeakerNestedSandboxActiver un sandbox plus faible pour les environnements Docker non privilégiés (Linux uniquement). Réduit la sécurité. Par défaut : falsetrue
Exemple de configuration :
{
  "sandbox": {
    "enabled": true,
    "autoAllowBashIfSandboxed": true,
    "excludedCommands": ["docker"],
    "network": {
      "allowUnixSockets": [
        "/var/run/docker.sock"
      ],
      "allowLocalBinding": true
    }
  },
  "permissions": {
    "deny": [
      "Read(.envrc)",
      "Read(~/.aws/**)"
    ]
  }
}
L’accès au système de fichiers est contrôlé via les permissions Read/Edit :
  • Les règles de refus Read bloquent les lectures de fichiers dans le sandbox
  • Les règles d’autorisation Edit permettent les écritures de fichiers (en plus des valeurs par défaut, par exemple le répertoire de travail actuel)
  • Les règles de refus Edit bloquent les écritures dans les chemins autorisés
L’accès réseau est contrôlé via les permissions WebFetch :
  • Les règles d’autorisation WebFetch permettent les domaines réseau
  • Les règles de refus WebFetch bloquent les domaines réseau

Précédence des paramètres

Les paramètres sont appliqués dans l’ordre de précédence (du plus élevé au plus bas) :
  1. Politiques gérées par l’entreprise (managed-settings.json)
    • Déployées par l’informatique/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 local (.claude/settings.local.json)
    • Paramètres de projet personnels et spécifiques
  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 du 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) : Configurez les permissions, les variables d’environnement et le comportement des outils
  • Commandes slash : Commandes personnalisées qui peuvent être invoquées pendant une session avec /command-name
  • Serveurs MCP : Étendez Claude Code avec des outils et des 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, les paramètres plus spécifiques s’ajoutant à ou remplaçant les paramètres plus larges

Disponibilité de l’invite système

Contrairement à claude.ai, nous ne publions pas l’invite 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 des 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)"
    ]
  }
}
Cela remplace la configuration ignorePatterns dépréciée. Les fichiers correspondant à ces modèles seront complètement invisibles pour Claude Code, empêchant toute exposition accidentelle de données sensibles.

Configuration des sous-agents

Claude Code supporte les sous-agents IA personnalisés qui peuvent être configurés aux niveaux utilisateur et projet. Ces sous-agents sont stockés sous forme de fichiers Markdown avec du 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 invites personnalisées et des permissions d’outils. En savoir plus sur la création et l’utilisation de sous-agents dans la documentation des sous-agents.

Configuration des plugins

Claude Code supporte un système de plugins qui vous permet d’étendre les fonctionnalités avec des commandes personnalisées, des agents, des hooks et des serveurs MCP. Les plugins sont distribués via des marketplaces et peuvent être configurés aux niveaux utilisateur et référentiel.

Paramètres des plugins

Paramètres liés aux plugins dans settings.json :
{
  "enabledPlugins": {
    "formatter@company-tools": true,
    "deployer@company-tools": true,
    "analyzer@security-plugins": false
  },
  "extraKnownMarketplaces": {
    "company-tools": {
      "source": "github",
      "repo": "company/claude-plugins"
    }
  }
}

enabledPlugins

Contrôle quels plugins sont activés. Format : "plugin-name@marketplace-name": true/false Domaines :
  • Paramètres utilisateur (~/.claude/settings.json) : Préférences de plugins personnels
  • Paramètres de projet (.claude/settings.json) : Plugins spécifiques au projet partagés avec l’équipe
  • Paramètres locaux (.claude/settings.local.json) : Remplacements par machine (non validés)
Exemple :
{
  "enabledPlugins": {
    "code-formatter@team-tools": true,
    "deployment-tools@team-tools": true,
    "experimental-features@personal": false
  }
}

extraKnownMarketplaces

Définit des marketplaces supplémentaires qui doivent être mises à disposition pour le référentiel. Généralement utilisé dans les paramètres au niveau du référentiel pour s’assurer que les membres de l’équipe ont accès aux sources de plugins requises. Lorsqu’un référentiel inclut extraKnownMarketplaces :
  1. Les membres de l’équipe sont invités à installer la marketplace lorsqu’ils font confiance au dossier
  2. Les membres de l’équipe sont ensuite invités à installer des plugins à partir de cette marketplace
  3. Les utilisateurs peuvent ignorer les marketplaces ou les plugins indésirables (stockés dans les paramètres utilisateur)
  4. L’installation respecte les limites de confiance et nécessite un consentement explicite
Exemple :
{
  "extraKnownMarketplaces": {
    "company-tools": {
      "source": {
        "source": "github",
        "repo": "company-org/claude-plugins"
      }
    },
    "security-plugins": {
      "source": {
        "source": "git",
        "url": "https://git.company.com/security/plugins.git"
      }
    }
  }
}
Types de sources de marketplace :
  • github : Référentiel GitHub (utilise repo)
  • git : N’importe quelle URL git (utilise url)
  • directory : Chemin du système de fichiers local (utilise path, pour le développement uniquement)

Gestion des plugins

Utilisez la commande /plugin pour gérer les plugins de manière interactive :
  • Parcourir les plugins disponibles à partir des marketplaces
  • Installer/désinstaller des plugins
  • Activer/désactiver des plugins
  • Afficher les détails des plugins (commandes, agents, hooks fournis)
  • Ajouter/supprimer des marketplaces
En savoir plus sur le système de plugins dans la documentation des plugins.

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 les variables d’environnement pour chaque session, ou de 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, généralement pour le SDK Claude (pour une 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 souhaitez ajouter à la demande (au format Name: Value)
ANTHROPIC_DEFAULT_HAIKU_MODELVoir Configuration du modèle
ANTHROPIC_DEFAULT_OPUS_MODELVoir Configuration du modèle
ANTHROPIC_DEFAULT_SONNET_MODELVoir Configuration du modèle
ANTHROPIC_MODELNom du paramètre de modèle à utiliser (voir Configuration du modèle)
ANTHROPIC_SMALL_FAST_MODEL[DÉPRÉCIÉ] Nom du modèle de classe Haiku pour les tâches de fond
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGIONRemplacer la région AWS pour le modèle de classe Haiku 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’expiration par défaut pour les commandes bash longues
BASH_MAX_OUTPUT_LENGTHNombre maximal de caractères dans les sorties bash avant qu’elles ne soient tronquées au milieu
BASH_MAX_TIMEOUT_MSDélai d’expiration maximal que le modèle peut définir pour les commandes bash longues
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIRRevenir au répertoire de travail d’origine 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 de apiKeyHelper)
CLAUDE_CODE_CLIENT_CERTChemin vers le fichier de certificat client pour l’authentification mTLS
CLAUDE_CODE_CLIENT_KEY_PASSPHRASEPhrase de passe pour la clé CLAUDE_CODE_CLIENT_KEY chiffrée (optionnel)
CLAUDE_CODE_CLIENT_KEYChemin vers le fichier de clé privée client pour l’authentification mTLS
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICÉquivalent de la définition de DISABLE_AUTOUPDATER, DISABLE_BUG_COMMAND, DISABLE_ERROR_REPORTING et DISABLE_TELEMETRY
CLAUDE_CODE_DISABLE_TERMINAL_TITLEDéfinir sur 1 pour désactiver les mises à jour automatiques du titre du terminal en fonction du contexte de conversation
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALLIgnorer l’installation automatique des extensions IDE
CLAUDE_CODE_MAX_OUTPUT_TOKENSDéfinir le nombre maximal de jetons de sortie pour la plupart des demandes
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_SUBAGENT_MODELVoir Configuration du modèle
CLAUDE_CODE_USE_BEDROCKUtiliser Bedrock
CLAUDE_CODE_USE_VERTEXUtiliser Vertex
DISABLE_AUTOUPDATERDéfinir sur 1 pour désactiver les mises à jour automatiques. Cela a la priorité sur le paramètre de configuration autoUpdates.
DISABLE_BUG_COMMANDDéfinir sur 1 pour désactiver la commande /bug
DISABLE_COST_WARNINGSDéfinir sur 1 pour désactiver les messages d’avertissement de coût
DISABLE_ERROR_REPORTINGDéfinir sur 1 pour refuser la création de rapports d’erreurs Sentry
DISABLE_NON_ESSENTIAL_MODEL_CALLSDéfinir sur 1 pour désactiver les appels de modèle pour les chemins non critiques comme le texte de saveur
DISABLE_PROMPT_CACHINGDéfinir sur 1 pour désactiver la mise en cache des invites pour tous les modèles (a la priorité sur les paramètres par modèle)
DISABLE_PROMPT_CACHING_HAIKUDéfinir sur 1 pour désactiver la mise en cache des invites pour les modèles Haiku
DISABLE_PROMPT_CACHING_OPUSDéfinir sur 1 pour désactiver la mise en cache des invites pour les modèles Opus
DISABLE_PROMPT_CACHING_SONNETDéfinir sur 1 pour désactiver la mise en cache des invites pour les modèles Sonnet
DISABLE_TELEMETRYDéfinir sur 1 pour refuser la télémétrie Statsig (notez que les événements Statsig n’incluent pas les 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_MCP_OUTPUT_TOKENSNombre maximal de jetons autorisés dans les réponses des outils MCP. Claude Code affiche un avertissement lorsque la sortie dépasse 10 000 jetons (par défaut : 25000)
MAX_THINKING_TOKENSActiver la réflexion étendue et définir le budget de jetons pour le processus de réflexion. La réflexion étendue améliore les performances sur les tâches complexes de raisonnement et de codage mais impacte l’efficacité de la mise en cache des invites. Désactivé par défaut.
MCP_TIMEOUTDélai d’expiration en millisecondes pour le démarrage du serveur MCP
MCP_TOOL_TIMEOUTDélai d’expiration en millisecondes pour l’exécution de l’outil MCP
NO_PROXYListe des domaines et adresses IP vers lesquels les demandes seront émises directement, en contournant le proxy
SLASH_COMMAND_TOOL_CHAR_BUDGETNombre maximal de caractères pour les métadonnées de commande slash affichées à l’outil SlashCommand (par défaut : 15000)
USE_BUILTIN_RIPGREPDéfinir sur 0 pour utiliser le rg installé sur le système au lieu du 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_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

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 les commandes shell dans votre environnementOui
EditEffectue des modifications ciblées sur des fichiers spécifiquesOui
GlobTrouve les fichiers en fonction de la correspondance de modèlesNon
GrepRecherche les modèles dans le contenu des fichiersNon
NotebookEditModifie les cellules du notebook JupyterOui
NotebookReadLit et affiche le contenu des notebooks JupyterNon
ReadLit le contenu des fichiersNon
SlashCommandExécute une commande slash personnaliséeOui
TaskExécute un sous-agent pour gérer les tâches complexes et multi-étapesNon
TodoWriteCrée et gère les 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 les fichiersOui
Les règles de permission peuvent être configurées à l’aide de /allowed-tools ou dans les paramètres de permission. Voir aussi Règles de permission spécifiques aux outils.

Extension des outils avec des hooks

Vous pouvez exécuter des commandes personnalisées avant ou après l’exécution de n’importe quel outil en utilisant les hooks Claude Code. Par exemple, vous pourriez exécuter automatiquement un formateur Python après que Claude modifie les fichiers Python, ou empêcher les modifications des fichiers de configuration de production en bloquant les opérations Write vers certains chemins.

Voir aussi