Permissions & modes de permission
- Ce que signifient les trois verdicts de permission (allow / ask / deny)
- Comment les règles de permission associent un outil et un pattern
- Les six modes de permission et quand utiliser chacun
- Comment le mode auto remplace les invites par un classificateur de sécurité
- Comment bâtir une liste d'autorisations de départ saine qui réduit les invites sans perdre en sécurité
- Où stocker les règles de permission du projet vs personnelles
Les permissions décident ce que Claude Code peut faire sans s'arrêter pour vous demander. Réglez-les bien et vous obtenez de la fluidité sans perdre le contrôle ; réglez-les mal et soit vous approuvez tout machinalement, soit vous croulez sous les invites.
Les trois verdicts
Chaque action potentielle se résout à l'un de :
Les règles associent généralement un outil et un pattern, p. ex. autoriser Bash(npm run test:*) ou refuser Read(./.env).
Autoriser un outil + pattern
Bash(npm run test:*)
Refuser un outil + pattern
Read(./.env)
Modes de permission
Un mode fixe la posture globale d'une session. Il y en a six. Faites défiler les plus courants avec Shift+Tab, ou définissez permissions.defaultMode dans les paramètres.
| Mode | S'exécute sans demander | À utiliser quand |
|---|---|---|
default (affiché comme Manual) | Lectures uniquement | Travail quotidien, changements sensibles |
acceptEdits | Lectures, éditions de fichiers, commandes de système de fichiers courantes | Une session d'édition de confiance et bien délimitée |
plan | Lectures uniquement ; propose, n'édite jamais | Tâches grandes/risquées — voir Plan Mode |
auto | Tout, filtré par un classificateur de sécurité | Tâches longues où la fatigue des invites est le vrai risque |
dontAsk | Uniquement les outils préapprouvés ; tout le reste est refusé | CI et scripts verrouillés |
bypassPermissions | Tout, sans aucune vérification | Bacs à sable/conteneurs uniquement — jamais sur une machine avec des secrets |
Mode auto
auto est le juste milieu entre demander pour tout et désactiver la sécurité. Au lieu de vous demander, un modèle classificateur distinct examine chaque action avant son exécution et bloque tout ce qui va au-delà de ce que vous avez demandé, touche à une infrastructure qu'il ne reconnaît pas, ou semble dicté par du contenu hostile que Claude vient de lire. Les règles ask explicites continuent de s'arrêter et de vous demander.
Il bloque des choses comme curl | bash, les force push, les déploiements et migrations en production, et l'envoi de secrets vers des endpoints externes — tout en laissant passer directement le travail de routine (éditions locales, installation de dépendances déclarées, HTTP en lecture seule, push sur votre propre branche). S'il bloque la même action de façon répétée, le mode auto se met en pause et vous rend la main sur les invites.
Le mode auto n'est pas une garantie de sécurité — il réduit les invites, il ne supprime pas la nécessité de relire les opérations sensibles. Sa disponibilité dépend de votre plan, de votre modèle et (sur Team/Enterprise) d'un réglage administrateur.
- bypassPermissions a sa place dans un bac à sable. Tourner avec toutes les invites désactivées sur votre vraie machine, c'est ainsi qu'un agent finit par toucher quelque chose qu'il ne devrait pas. Réservez-le aux environnements jetables — si ce que vous voulez vraiment, c'est moins d'invites, utilisez plutôt le mode auto. Voir Renforcer les exécutions autonomes à /docs/security/hardening-autonomous-runs.
Une liste d'autorisations de départ saine
Le but : préautoriser les choses sûres et répétitives ; garder les choses destructives sur ask ou deny.
- Lire des fichiers, lancer vos commandes de test/lint/build, git status/diff.
- Installer des dépendances, écrire des fichiers hors du projet, appels réseau.
- Lire des fichiers secrets (.env, fichiers de clés), force-push, rm -rf.
Stockez les règles du projet dans settings.json (partagées) et les surcharges personnelles dans settings.local.json.
- Laissez-le apprendre de vos invites : approuvez la même commande sûre quelques fois et vous saurez exactement quoi ajouter à votre liste d'autorisations — transformant des invites répétées en une règle unique.
- Trois verdicts : allow (sans invite), ask (défaut — pause et confirmation), deny (jamais).
- Les règles associent un outil et un pattern, comme Bash(npm run test:*) ou Read(./.env).
- Six modes fixent la posture de session : default (Manual), acceptEdits, plan, auto, dontAsk, bypassPermissions.
- Le mode auto filtre chaque action via un classificateur de sécurité au lieu de vous demander — c'est l'outil contre la fatigue des invites, pas bypassPermissions.
- Bâtissez une liste d'autorisations : autorisez le sûr + répétitif, demandez pour le risque moyen, refusez le destructif.
- Les règles partagées vont dans settings.json ; les surcharges personnelles dans settings.local.json.
Testez-vous
0/5La suite
- settings.json : le système de configuration
- Hooks — imposer des règles de façon déterministe, au-delà de allow/deny
- Sécurité & usage responsable