Les lignes que j'ajoute au fichier settings.json de Claude Code après un quasi-accident

DEV - 05/06
J'exécutais Claude Code sur un dépôt de plugin WordPress et j'en avais marre d'approuver les commandes git une par une...

J'exécutais Claude Code sur un dépôt de plugin WordPress et j'en avais marre d'approuver les commandes git une par une. Alors, sans trop réfléchir, j'ai laissé tomberBash(git *)dans ma liste verte. "Les trucs de Git se déroulent tranquillement maintenant", à propos de ce niveau de soins. Je crée des plugins WordPress la plupart du temps et Claude Code fait partie de la routine, donc je voulais juste une invite de moins.

Quelques jours plus tard, j'ai vérifié quoi*correspond réellement. La documentation indique qu'il correspond à n'importe quelle chaîne, y compris les espaces. DoncBash(git *)faisait signe non seulementjournal git --onelinemaisgit push origine principaleetgit réinitialiser --hard HEAD~3aussi. Le range que je pensais avoir autorisé et le range qui était réellement ouvert étaient différents dès le départ. Vous ne pouvez pas le savoir pendant qu'il fonctionne. Aucune invite n’apparaissant ne signifie exactement cela.

Rien de cassé. Mais voyant legit réinitialiserla ligne était déjà un quasi-accident. Faire revenir tranquillement l'arborescence de travail de mon plugin piquerait. Depuis, j'ajoute quelques lignes àparamètres.jsonavant de se lancerClaude. C'est ce que j'ai déterré et la configuration que je conserve maintenant.

Note de vérification

Les noms de clés et le comportement changent entre les versions. Les notes ci-dessous ont été revérifiées par rapport aux documents officiels (Configurer les autorisations et la référence des paramètres) le 05/06/2026. Réglez-le sur votre propre machine avec/autorisationset/configpour voir de quel fichier provient chaque règle.

  • Claude Code : la valeur deClaude --version(échangez votre vrai numéro)
  • Fichiers de configuration : à l'échelle de l'utilisateur~/.claude/settings.jsonet par projet.claude/settings.json

settings.json n'est pas un fichier unique

La première chose qui m'a fait trébucher : "J'ai modifié le réglage et rien ne s'est passé." Pendant un moment, j'ai blâmé mon JSON. La véritable cause était qu'il existe plusieurs fichiers de paramètres et qu'ils sont prioritaires. Du plus haut au plus bas :

  1. Paramètres gérés (politique de l'organisation ; les individus n'y touchent pas)
  2. Arguments de ligne de commande
  3. .claude/settings.local.json(le vôtre, par projet, ignoré par git)
  4. .claude/settings.json(partagé par projet, engagé)
  5. ~/.claude/settings.json(à l'échelle de l'utilisateur, chaque projet)

Plus haut remplace plus bas.refuserest l'exception : si une couche refus...
[Courte citation de 8% de l'article original]

Loading...