Build This Now
Build This Now
Qu'est-ce que le code Claude ?Installer Claude CodeL'installateur natif de Claude CodeTon premier projet Claude Code
Configuration de Claude CodeGuide de configuration du terminal pour Claude CodeLe sandboxing de Claude CodeRéférence des paramètres de Claude Code
speedy_devvkoen_salo
Blog/Handbook/Setup/Claude Code Settings Reference

Référence des paramètres de Claude Code

Chaque clé dans settings.json, la liste complète des variables d'environnement, et la chaîne de priorité à cinq niveaux qui décide quelle config gagne quand managed et user s'affrontent.

Arrêtez de configurer. Commencez à construire.

Templates SaaS avec orchestration IA.

Published Mar 17, 2026Handbook hubSetup index

Le problème : La plupart des douleurs avec Claude Code ont une seule cause racine. Ta config ne correspond pas à ta façon de travailler. Tu valides des commandes bash toute la journée, les defaults de l'équipe ne se chargent jamais, ou une clé que tu as éditée hier ne fait rien.

La solution c'est de comprendre le système de paramètres. Pas seulement les clés, mais les règles de priorité qui choisissent un gagnant quand deux portées sont en désaccord.

Gain rapide : Ajoute une ligne $schema dans settings.json et tout éditeur qui comprend les schémas JSON s'active avec l'autocomplétion et les vérifications en ligne. VS Code, Cursor, et tout autre outil avec support de schéma en bénéficient.

La chaîne de priorité à cinq niveaux

Les paramètres suivent un ordre fixe. Le connaître comble le fossé entre "pourquoi mon changement n'a pas pris effet" et "ah, mauvais fichier."

Priorité des portées (de la plus haute à la plus basse)

PrioritéPortéeEmplacementQui ça affectePartagé ?
1ManagedRépertoires systèmeTous les utilisateurs de la machineOui (déployé par IT)
2Command lineOptions CLISession actuelle uniquementNon
3Local.claude/settings.local.jsonToi, ce projetNon (gitignored)
4Project.claude/settings.jsonTous les collaborateursOui (dans git)
5User~/.claude/settings.jsonToi, tous les projetsNon

Les portées supérieures battent toujours les inférieures. Point final. Une règle managed de l'IT qui bloque Bash(curl *) est inaccessible depuis n'importe quel fichier personnel ou de projet.

Choisir la bonne portée

Managed convient aux organisations qui ont besoin de règles sans échappatoire :

  • Politiques de sécurité (bloquer l'accès aux credentials, interdire les commandes destructives)
  • Conformité qui doit s'appliquer à chaque ingénieur et chaque dépôt
  • Hooks standard ou configs MCP déployés par l'IT

Command line gère les overrides ponctuels dans une seule session :

  • Essayer un modèle différent : claude --model claude-sonnet-4-5-20250929
  • Accorder plus de permissions pour un travail spécifique
  • Lancer avec l'option --debug

Local est ton bac à sable privé pour un dépôt donné :

  • Overrider discrètement une règle de projet qui ne convient pas à ta machine
  • Tester un hook avant de le proposer à l'équipe
  • Chemins uniques à cette machine (où ta clé SSH se trouve, sur quel port le proxy local tourne)

Project c'est là où l'équipe s'aligne :

  • Règles de permission que tout le monde suit
  • Hooks partagés pour le formatage auto et le lint
  • Configs de serveur MCP dont chaque coéquipier a besoin
  • Instructions CLAUDE.md qui décrivent le projet

User c'est tes propres defaults :

  • Langue, thème et style de sortie que tu préfères
  • Plugins que tu veux actifs dans chaque dépôt
  • Règles de permission globales (comme un deny global sur ~/.ssh)

Chemins des paramètres managed par OS

Les fichiers managed nécessitent des droits admin et se trouvent en dehors de tout répertoire utilisateur :

Système d'exploitationChemin
macOS/Library/Application Support/ClaudeCode/
Linux / WSL/etc/claude-code/
WindowsC:\Program Files\ClaudeCode\

Deux fichiers vivent dans ces dossiers. managed-settings.json contient les paramètres, managed-mcp.json contient les serveurs MCP.

Chaque réglage de Claude Code se trouve à un chemin de fichier connu dans chaque portée :

FonctionnalitéUserProject (partagé)Local (personnel)
Settings~/.claude/settings.json.claude/settings.json.claude/settings.local.json
Subagents~/.claude/agents/.claude/agents/N/A
Serveurs MCP~/.claude.json.mcp.json~/.claude.json (par projet)
Plugins~/.claude/settings.json.claude/settings.json.claude/settings.local.json
CLAUDE.md~/.claude/CLAUDE.mdCLAUDE.md ou .claude/CLAUDE.mdCLAUDE.local.md

Référence des paramètres

Paramètres généraux

CléDescriptionDéfautExemple
modelOverride le modèle par défaut(défaut système)"claude-sonnet-4-5-20250929"
languageLangue de réponse préférée de ClaudeEnglish"japanese"
outputStyleAjuste le style du prompt système(aucun)"Explanatory"
cleanupPeriodDaysJours avant suppression des sessions inactives3020
autoUpdatesChannelCanal de version : "stable" ou "latest""latest""stable"
showTurnDurationAfficher le timing des réponses ("Cooked for 1m 6s")truefalse
spinnerVerbsPersonnaliser le texte du spinner(defaults){"mode": "append", "verbs": ["Pondering"]}
spinnerTipsEnabledAfficher des conseils pendant que Claude travailletruefalse
terminalProgressBarEnabledBarre de progression terminal (iTerm2, Windows Terminal)truefalse
alwaysThinkingEnabledActiver la réflexion étendue par défautfalsetrue
plansDirectoryOù les fichiers plan sont stockés~/.claude/plans"./plans"
respectGitignoreLe sélecteur de fichiers @ respecte .gitignoretruefalse
companyAnnouncementsMessages affichés au démarrage (cycle aléatoire)(aucun)["Review guidelines at docs.acme.com"]

Paramètres de permissions

Les clés ci-dessous s'imbriquent toutes dans l'objet "permissions".

CléDescriptionExemple
allowRègles pour auto-approuver l'utilisation des outils["Bash(npm run lint)", "Read(~/.zshrc)"]
askRègles nécessitant une confirmation["Bash(git push *)"]
denyRègles pour bloquer complètement l'utilisation des outils["WebFetch", "Bash(curl *)", "Read(./.env)"]
additionalDirectoriesRépertoires supplémentaires accessibles à Claude["../docs/", "../shared/"]
defaultModeMode de permission par défaut au lancement"acceptEdits"
disableBypassPermissionsModeBloquer --dangerously-skip-permissions"disable"

Ordre d'évaluation : Deny passe en premier. Ask vient ensuite. Allow en dernier. La première règle qui correspond s'applique.

Exemples de syntaxe de règles :

RègleCe qu'elle correspond
BashToutes les commandes Bash
Bash(npm run *)Commandes commençant par npm run
Read(./.env)Lecture du fichier .env
Read(./secrets/**)Lecture de tout dans secrets/
WebFetch(domain:example.com)Requêtes fetch vers example.com

Paramètres sandbox

Les clés ci-dessous s'imbriquent dans l'objet "sandbox" et régissent l'isolation des commandes bash.

CléDescriptionDéfautExemple
enabledActiver le sandboxing bashfalsetrue
autoAllowBashIfSandboxedAuto-approuver les commandes quand sandboxétruetrue
excludedCommandsCommandes qui tournent en dehors du sandbox(aucun)["git", "docker"]
allowUnsandboxedCommandsAutoriser l'échappatoire dangerouslyDisableSandboxtruefalse
enableWeakerNestedSandboxSandbox plus faible pour Docker (Linux/WSL2)falsetrue
network.allowedDomainsListe blanche des domaines sortants(aucun)["github.com", "*.npmjs.org"]
network.allowUnixSocketsChemins de sockets Unix accessibles dans le sandbox(aucun)["~/.ssh/agent-socket"]
network.allowAllUnixSocketsAutoriser toutes les connexions de sockets Unixfalsetrue
network.allowLocalBindingAutoriser la liaison à localhost (macOS uniquement)falsetrue
network.httpProxyPortPort proxy HTTP personnalisé(auto)8080
network.socksProxyPortPort proxy SOCKS5 personnalisé(auto)8081

Paramètres d'attribution

Les clés ci-dessous s'imbriquent dans l'objet "attribution" et décident comment git attribue le travail de Claude.

CléDescriptionDéfaut
commitTexte ajouté aux messages de commit git"Generated with Claude Code..." + trailer Co-Authored-By
prTexte ajouté aux descriptions de pull request"Generated with Claude Code..."

Vide l'une ou l'autre clé avec "" et la ligne correspondante disparaît de git. L'ancienne clé includeCoAuthoredBy fonctionne encore, bien qu'elle soit maintenant dépréciée.

Paramètres de plugins

CléDescriptionExemple
enabledPluginsActiver/désactiver les plugins{"formatter@acme-tools": true}
extraKnownMarketplacesSources de plugins supplémentairesVoir exemple ci-dessous
strictKnownMarketplaces(Managed uniquement) Restreindre les sources de marketplace[{"source": "github", "repo": "acme/plugins"}]

Quatre types de sources existent. github pointe vers un dépôt. git accepte n'importe quelle URL. directory utilise un chemin local pendant le développement. hostPattern fait du matching regex sur les noms d'hôte.

Paramètres des serveurs MCP

CléDescriptionExemple
enableAllProjectMcpServersAuto-approuver tous les serveurs MCP du projettrue
enabledMcpjsonServersServeurs MCP spécifiques à approuver["memory", "github"]
disabledMcpjsonServersServeurs MCP spécifiques à rejeter["filesystem"]
allowedMcpServers(Managed uniquement) Liste blanche des serveurs MCP[{"serverName": "github"}]
deniedMcpServers(Managed uniquement) Liste noire des serveurs MCP[{"serverName": "filesystem"}]

Paramètres d'authentification et de fournisseur

CléDescriptionExemple
apiKeyHelperScript pour générer la valeur d'auth"/bin/generate_temp_api_key.sh"
forceLoginMethodRestreindre à claudeai ou console"claudeai"
forceLoginOrgUUIDAuto-sélectionner l'organisation à la connexion"xxxxxxxx-xxxx-..."
awsAuthRefreshScript pour rafraîchir les credentials AWS"aws sso login --profile myprofile"
awsCredentialExportScript générant le JSON de credentials AWS"/bin/generate_aws_grant.sh"
otelHeadersHelperScript générant les headers OpenTelemetry"/bin/generate_otel_headers.sh"

Paramètres de hooks et avancés

CléDescriptionExemple
hooksConfiguration des hooks d'événements du cycle de vieVoir le guide des hooks
disableAllHooksDésactiver tous les hookstrue
allowManagedHooksOnly(Managed uniquement) Bloquer les hooks user/projecttrue
allowManagedPermissionRulesOnly(Managed uniquement) Bloquer les règles de permission user/projecttrue
fileSuggestionScript d'autocomplétion @ personnalisé pour les fichiers{"type": "command", "command": "~/.claude/file-suggestion.sh"}
statusLineAffichage de la barre de statut personnalisée{"type": "command", "command": "~/.claude/statusline.sh"}
envVariables d'environnement pour chaque session{"FOO": "bar"}

Variables d'environnement

Claude Code lit environ 70 variables d'env. La plupart sont des cas limites. Un ensemble opérationnel d'environ 20 est tout ce que tu vois au quotidien.

Modèle et fournisseur

VariableUtilisation
ANTHROPIC_API_KEYClé API pour l'accès direct à l'API
ANTHROPIC_MODELOverride le modèle par défaut
ANTHROPIC_DEFAULT_SONNET_MODELNom du modèle pour l'alias Sonnet
CLAUDE_CODE_SUBAGENT_MODELModèle pour les sous-agents (séparé du modèle principal)
CLAUDE_CODE_USE_BEDROCKRouter via AWS Bedrock
CLAUDE_CODE_USE_VERTEXRouter via Google Vertex

Les variables d'alias (ANTHROPIC_DEFAULT_SONNET_MODEL, ANTHROPIC_DEFAULT_OPUS_MODEL, ANTHROPIC_DEFAULT_HAIKU_MODEL) sont utiles quand ton organisation pointe un modèle fine-tuné vers les noms d'alias standards.

Optimisation des performances

VariableUtilisation
CLAUDE_CODE_MAX_OUTPUT_TOKENSTokens de sortie max (défaut : 32K, max : 64K)
MAX_THINKING_TOKENSBudget de réflexion étendue (défaut : 31 999, mettre 0 pour désactiver)
CLAUDE_AUTOCOMPACT_PCT_OVERRIDE% de capacité de contexte (1-100) déclenchant l'auto-compaction
BASH_DEFAULT_TIMEOUT_MSTimeout par défaut des commandes bash
BASH_MAX_TIMEOUT_MSTimeout bash maximum que Claude peut définir
BASH_MAX_OUTPUT_LENGTHCaractères max de sortie bash avant troncature

Confidentialité et télémétrie

VariableUtilisation
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICDésactiver les mises à jour, la télémétrie, les rapports d'erreurs en une fois
DISABLE_TELEMETRYSe désabonner de la télémétrie Statsig
DISABLE_ERROR_REPORTINGSe désabonner des rapports d'erreurs Sentry
CLAUDE_CODE_HIDE_ACCOUNT_INFOMasquer l'email et le nom d'organisation de l'UI
DISABLE_AUTOUPDATERDésactiver les mises à jour automatiques de version

Contrôle de session

VariableUtilisation
CLAUDE_CODE_TASK_LIST_IDPartager une liste de tâches entre plusieurs sessions
CLAUDE_CODE_ENABLE_TASKSMettre false pour revenir à l'ancienne liste TODO
CLAUDE_CODE_SHELLOverride la détection automatique du shell
CLAUDE_CONFIG_DIREmplacement personnalisé du répertoire config/données
MCP_TIMEOUTTimeout en ms pour le démarrage du serveur MCP
MCP_TOOL_TIMEOUTTimeout en ms pour l'exécution des outils MCP

Deux façons de les appliquer. Exporte-les depuis ton profil shell, ou ajoute-les dans l'objet "env" de settings.json pour qu'elles survivent aux sessions sans modifier le fichier rc du shell.

Résoudre les conflits de config

La plupart des maux de tête classiques avec la config disparaissent une fois que tu sais quelle portée prime sur quelle autre.

Cas 1 : Une règle de permission est en désaccord entre les portées

Ta config user autorise Bash(curl *). La config project le refuse. Qui l'emporte ? Project est en priorité 4 et user en priorité 5, donc le blocage tient. Si curl est vraiment nécessaire sur ta machine, mets la règle d'autorisation dans .claude/settings.local.json à la place. Local en priorité 3 prime project en priorité 4, et l'autorisation locale override alors la règle bloquée.

Cas 2 : Un fichier managed annule une règle de projet

Le settings.json de ton équipe dans le projet autorise Bash(rm -rf *). L'IT déploie ensuite un fichier managed qui bloque cette même commande. Managed gagne. Toujours. Rien dans un fichier user, local ou project ne peut dépasser les règles managed. Le design est intentionnel, et la conformité en est la raison.

Cas 3 : Tester quelque chose localement

Tu veux tester un nouveau hook avant de le proposer à l'équipe. Mets-le dans .claude/settings.local.json. Il prime sur le .claude/settings.json partagé et reste sur ta machine uniquement.

Cas 4 : Deux portées qui fusionnent

Les portées ne s'effacent pas complètement l'une l'autre. Elles s'empilent. La config user qui autorise Bash(git status) et la config project qui autorise Bash(npm run lint) te donnent les deux règles actives en même temps. La fusion assemble les tableaux de permissions. Si la même clé porte une valeur différente dans deux portées, la portée supérieure est celle qui s'applique pour cette seule clé.

Cas 5 : Une variable d'env exportée depuis le shell et listée dans settings.json

Exporte ANTHROPIC_MODEL depuis ton shell et liste-la aussi dans l'objet env de settings.json, et l'export shell est la valeur que Claude Code utilise.

Comment les paramètres s'articulent avec le reste du système

Les fichiers CLAUDE.md contiennent les instructions que Claude charge au démarrage, plus le contexte dont il a besoin. Modèle mental propre : settings dit ce que Claude est autorisé à faire, CLAUDE.md dit ce que Claude doit savoir.

Les serveurs MCP branchent de nouveaux outils sur Claude. Leur config vit dans ses propres fichiers (.mcp.json au niveau projet, ~/.claude.json au niveau user). settings.json est l'endroit qui décide quels serveurs sont approuvés et lesquels sont bloqués.

Les hooks vivent dans settings.json sous la clé hooks. Chacun exécute une commande shell, ou envoie un prompt LLM, quand un événement du cycle de vie se déclenche.

Les plugins passent aussi par settings.json, via enabledPlugins et ta liste de marketplaces.

Les sous-agents sont des fichiers Markdown simples. Les user vont dans ~/.claude/agents/, les project dans .claude/agents/.

Sauvegardes et récupération

Chaque fois qu'un fichier de config change, Claude Code écrit une sauvegarde horodatée. Les cinq dernières copies par fichier sont conservées. Une mauvaise mise à jour ne signifie plus fouiller dans git reflog. La version précédente fonctionnelle se trouve juste à côté de la cassée.

Démarrage

Nouveau dans les paramètres de Claude Code ? Parcours cette courte liste dans l'ordre.

  1. Règles de permission au niveau projet. Bloquer toute lecture de .env et autres fichiers secrets. Autoriser les commandes de build ou de test que tu utilises chaque jour
  2. Un hook PostToolUse qui formate automatiquement à la sauvegarde. Cette seule entrée détruit la fatigue d'approbation plus vite que n'importe quoi d'autre
  3. Paramètres d'attribution si la ligne Co-Authored-By doit être modifiée ou masquée
  4. Defaults user pour les préférences que tu veux actives dans chaque dépôt que tu touches
  5. Un fichier CLAUDE.md contenant le contexte du projet et tes conventions de code

Continue in Setup

  • Configuration de Claude Code
    Trois fichiers configurent Claude Code par projet : CLAUDE.md pour le contexte, les serveurs MCP pour les outils, les commandes slash pour les workflows. Une hiérarchie, chaque session prête.
  • Le sandboxing de Claude Code
    Le sandboxing de Claude Code applique des restrictions sur le système de fichiers et le réseau au niveau du noyau. Configuration pour macOS Seatbelt, Linux, WSL2 bubblewrap et les listes blanches de proxy.
  • Guide de configuration du terminal pour Claude Code
    Adapte les thèmes, active Shift+Entrée, configure les notifications, corrige la troncature des longs collages, et active le mode vim dans iTerm2, WezTerm, Ghostty, Kitty et d'autres terminaux.

More from Handbook

  • Principes de base de l'agent
    Cinq façons de construire des agents spécialisés dans le code Claude : Sous-agents de tâches, .claude/agents YAML, commandes slash personnalisées, personas CLAUDE.md, et invites de perspective.
  • Patterns d'agents
    Orchestrateur, fan-out, chaîne de validation, routage par spécialiste, raffinement progressif, et watchdog. Six formes d'orchestration pour câbler des sub-agents Claude Code.
  • Meilleures pratiques des équipes d'agents
    Patterns éprouvés pour les équipes d'agents Claude Code. Prompts de création riches en contexte, tâches bien calibrées, propriété des fichiers, mode délégué, et correctifs v2.1.33-v2.1.45.
  • Contrôles des équipes d'agents
    Configure le mode délégué, les modes d'affichage, l'approbation des plans, les limites de fichiers et les règles CLAUDE.md pour que le chef d'équipe Claude Code coordonne au lieu de coder.

Arrêtez de configurer. Commencez à construire.

Templates SaaS avec orchestration IA.

Le sandboxing de Claude Code

Le sandboxing de Claude Code applique des restrictions sur le système de fichiers et le réseau au niveau du noyau. Configuration pour macOS Seatbelt, Linux, WSL2 bubblewrap et les listes blanches de proxy.

La Fenêtre de Contexte 1M dans Claude Code

Anthropic a activé la fenêtre de contexte 1M tokens pour Opus 4.6 et Sonnet 4.6 dans Claude Code. Sans header beta, sans surcharge, tarification fixe, et moins de compactions.

On this page

La chaîne de priorité à cinq niveaux
Priorité des portées (de la plus haute à la plus basse)
Choisir la bonne portée
Chemins des paramètres managed par OS
Référence des paramètres
Paramètres généraux
Paramètres de permissions
Paramètres sandbox
Paramètres d'attribution
Paramètres de plugins
Paramètres des serveurs MCP
Paramètres d'authentification et de fournisseur
Paramètres de hooks et avancés
Variables d'environnement
Modèle et fournisseur
Optimisation des performances
Confidentialité et télémétrie
Contrôle de session
Résoudre les conflits de config
Comment les paramètres s'articulent avec le reste du système
Sauvegardes et récupération
Démarrage

Arrêtez de configurer. Commencez à construire.

Templates SaaS avec orchestration IA.