Aller au contenu
Inscrivez-vous gratuitement
Claude Code

Configurer les permissions et hooks dans Claude Code

Utilisez /permissions et settings.json pour configurer les règles allow, ask et deny, puis ajoutez, vérifiez et dépannez les hooks Claude Code. En pratique.

Réponse directe

Exécutez /permissions dans Claude Code pour afficher et gérer les règles de permissions. Pour les conserver, placez allow, ask et deny dans settings.json. Les hooks utilisent les mêmes fichiers de paramètres et exécutent le formatage, les tests ou vérifications de sécurité autour des appels d’outils. La priorité des permissions est deny → ask → allow ; une règle allow ne peut donc pas remplacer une règle deny.

Ces paramètres contrôlent les outils locaux sur votre ordinateur. BetterToken modifie uniquement la Base URL, l’API Key et le routage de l’API de modèle ; il ne contourne pas les permissions locales et n’exécute pas les hooks à votre place.

Choisir permissions ou hooks

BesoinUtiliser
Exécuter une commande précise sans invitepermissions.allow
Demander à chaque fois avant une opérationpermissions.ask
Bloquer les lectures de fichiers sensibles ou commandes dangereusespermissions.deny
Formater ou tester après une modification de fichierHook PostToolUse
Vérifier ou bloquer une action avant son exécutionHook PreToolUse
Expliquer les conventions d’équipe au modèleCLAUDE.md, pas une règle de permission

Choisir la bonne portée

FichierPortéeValider dans le dépôt ?
~/.claude/settings.jsonTous les projets de l’utilisateur actuelNon
.claude/settings.jsonProjet et équipe actuelsOui
.claude/settings.local.jsonProjet actuel sur cette machineNon

Configurer des règles de permissions minimales

Inspecter les règles existantes avec /permissions

Dans Claude Code, exécutez :

/permissions

L’interface affiche les règles allow, ask et deny avec leurs fichiers source. Vérifiez les règles d’équipe ou gérées existantes avant de choisir un paramètre utilisateur ou projet.

Ajouter des règles étroites

Cet exemple au niveau du projet autorise les tests et lint courants, demande avant chaque git push et bloque les lectures de .env :

{
"permissions": {
"allow": [
"Bash(npm run lint *)",
"Bash(npm test *)"
],
"ask": [
"Bash(git push *)"
],
"deny": [
"Read(./.env)",
"Read(./.env.*)"
]
}
}

Remplacez les commandes par des scripts qui existent dans votre projet. N’activez pas bypassPermissions seulement pour supprimer les invites ; la documentation officielle limite ce mode aux conteneurs isolés ou VM.

Vérifier dans /permissions

Enregistrez le fichier et exécutez à nouveau /permissions. Confirmez que chaque règle apparaît sous la source attendue, puis déclenchez un cas allow, ask et deny pour vérifier le comportement.

Ajouter un hook de formatage prêt à copier

Cet exemple exécute le formateur du projet après que Claude Code utilise Edit ou Write :

{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "npm run format"
}
]
}
]
}
}

Si le fichier contient déjà permissions, fusionnez hooks dans le même objet JSON de niveau supérieur. Ne créez pas de .claude/hooks.json autonome. Exécutez d’abord npm run format manuellement pour confirmer sa réussite.

Vérifier le hook

  1. Exécutez /hooks dans Claude Code.
  2. Ouvrez PostToolUse et confirmez qu’il liste Edit|Write et npm run format.
  3. Demandez à Claude de modifier un fichier de test.
  4. Vérifiez la sortie du hook et le format du fichier, puis confirmez que le hook s’est exécuté une fois sans erreur.

Claude Code recharge normalement les modifications de paramètres automatiquement. Sinon, quittez la session et redémarrez Claude Code.

Erreurs courantes

SymptômeCauseCorrection
Les règles de permissions ne s’appliquent jamaisElles sont dans ~/.claude.json ou le mauvais répertoireDéplacez-les vers ~/.claude/settings.json, .claude/settings.json ou .claude/settings.local.json
Une action autorisée est toujours bloquéeElle correspond à une règle deny ou géréeVérifiez les sources dans /permissions ; deny prévaut sur ask et allow
Un hook ne s’exécute jamaisL’événement ou le matcher ne correspond pas à l’outilInspectez /hooks ; PreToolUse s’exécute avant, PostToolUse après une réussite, et les matchers sont sensibles à la casse
Le hook s’exécute mais la commande échoueScript, répertoire de travail ou dépendance incorrectExécutez d’abord la même commande manuellement depuis le répertoire du projet
Les invites restent après la connexion BetterTokenLe fournisseur API et les permissions locales sont distinctsConservez la Base URL BetterToken et configurez séparément des permissions Claude Code étroites
Vous devez désactiver tous les hooks temporairementUn hook peut gêner le débogageAjoutez "disableAllHooks": true, puis supprimez-le ou réglez-le sur false après le débogage

Limites de BetterToken

BetterToken gère l’accès API de modèle Claude Code, le routage des modèles, le solde et l’utilisation. Claude Code contrôle toujours :

  • L’accès en lecture et écriture aux fichiers
  • Le comportement de confirmation Bash
  • Le moment d’exécution des hooks et les scripts qu’ils exécutent
  • Les règles de sandbox, MCP et projet

Pour les erreurs 401, Base URL ou de mappage de modèles, consultez le guide de configuration Claude Code. Pour les invites de commandes et l’automatisation, dépannez ici les permissions et hooks.

Documents associés

Références