settings.json : le système de configuration
settings.json est l'endroit où vit la configuration de Claude Code — permissions, hooks, variables d'environnement, modèles par défaut, et plus encore. Comprendre les niveaux est essentiel.
Les niveaux (du plus global → au plus spécifique)
Les niveaux ultérieurs (plus spécifiques) ont priorité sur les précédents :
- Enterprise / managed — politique définie par un administrateur d'organisation. Prime sur tout.
- User —
~/.claude/settings.json. Vos valeurs par défaut pour tous les projets. - Project (shared) —
.claude/settings.json, committé dans le dépôt. À l'échelle de l'équipe. - Project (personal) —
.claude/settings.local.json, ignoré par git. Vos surcharges pour ce dépôt.
:::tip Committez le fichier partagé, ignorez le fichier local
Mettez les conventions de l'équipe dans .claude/settings.json (committé). Mettez les ajustements personnels et les chemins spécifiques à la machine dans .claude/settings.local.json (ignoré par git). Cela garde l'équipe cohérente sans imposer vos préférences aux autres.
:::
Ce que vous configurerez couramment
permissions— règles allow/ask/deny. Voir Permissions.hooks— commandes exécutées lors des événements du cycle de vie. Voir Hooks.env— variables d'environnement pour la session.- Valeurs par défaut du modèle / du comportement — par exemple le modèle préféré.
Modifier en toute sécurité
- Gardez un JSON valide (une virgule finale le casse).
- Préférez des règles de permission étroites plutôt que larges.
- Ne mettez jamais de secrets dans un fichier committé — utilisez des références
envou un gestionnaire de secrets.
Des fichiers de départ prêts à copier se trouvent dans Recettes de hooks & settings.json.