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.
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 --version(échangez votre vrai numéro)~/.claude/settings.jsonet par projet.claude/settings.jsonLa 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 :
.claude/settings.local.json(le vôtre, par projet, ignoré par git).claude/settings.json(partagé par projet, engagé)~/.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]