SpyBara
Go Premium

permission-modes.md 2026-10-28 23:57 UTC to 2026-10-29 23:57 UTC

No changes for this document in this history range.

2026
Thu 1 23:59 Fri 2 22:59 Sat 3 23:57 Sun 4 23:58 Mon 5 23:58 Tue 6 23:59 Wed 7 23:59 Sat 10 23:01 Sun 11 23:57 Wed 14 22:58 Sat 17 23:57 Mon 19 23:58 Tue 20 23:00 Wed 21 23:02 Thu 22 22:58 Fri 23 22:59 Sun 25 23:58 Mon 26 22:57 Tue 27 22:59 Wed 28 23:57 Fri 30 23:01

Choisir un mode de permission

Contrôlez si Claude demande votre accord avant d'agir. Changez de mode de permission avec Shift+Tab dans la CLI, l'indicateur de mode dans VS Code ou le sélecteur de mode dans Desktop.

Un mode de permission définit les actions que Claude peut effectuer dans une session sans vous demander au préalable. En mode Manual, Claude Code s'arrête et vous sollicite avant la plupart des actions qui modifient des fichiers, exécutent des commandes shell ou accèdent au réseau. En mode auto, un second modèle, le classifieur, examine les actions à votre place ; la section comment le classifieur évalue les actions indique quelles actions il examine et lesquelles lui échappent.

Avec Claude Code v2.1.283 ou version ultérieure, le mode auto est le mode de permission de départ intégré pour les sessions interactives dans le terminal et dans VS Code. Sur les versions antérieures, il n'est le mode de permission de départ intégré que sur les forfaits Pro, Max et Team. La section Dans quel mode une session démarre présente les surfaces et les paramètres qui modifient le mode de permission de départ. Vous pouvez également changer le mode de permission d'une session en cours à tout moment.

Modes disponibles

Chaque mode propose un compromis différent entre commodité et supervision. Le tableau ci-dessous indique ce que Claude peut faire sans demande de permission dans chaque mode. Le mode Manual apparaît sous sa valeur de configuration, default.

Mode Ce qui s'exécute sans demander Idéal pour
default Lectures uniquement Examiner vous-même chaque action, travail sensible
acceptEdits Lectures, modifications de fichiers et commandes courantes du système de fichiers (mkdir, touch, mv, cp, etc.) Itérer sur du code que vous examinez
plan Lectures, plus les commandes approuvées par le classificateur lorsque le mode auto est disponible Explorer une base de code avant de la modifier
auto Tout, avec des vérifications de sécurité en arrière-plan Tâches longues, réduction de la lassitude face aux demandes
dontAsk Lectures de fichiers dans vos répertoires de travail et outils pré-approuvés ; tout ce qui déclencherait une demande est refusé, bien qu'un mod que vous avez installé puisse tout de même approuver certains de ces appels CI et scripts verrouillés
bypassPermissions Tout Conteneurs et VM isolés uniquement

Le mode qui examine chaque action s'appelle Manual dans la CLI, dans claude --help, dans les extensions VS Code et JetBrains, ainsi que dans l'application de bureau. Sa valeur de configuration est default, et c'est celle qu'utilisent les hooks et les intégrations SDK. La CLI accepte manual comme alias partout où vous saisissez la valeur, par exemple claude --permission-mode manual ou "defaultMode": "manual".

Les écritures dans des chemins protégés ne sont jamais approuvées automatiquement, sauf en mode bypassPermissions et dans les sessions en mode plan où les permissions de contournement sont disponibles, c'est-à-dire les sessions de terminal interactives démarrées d'une manière qui place bypassPermissions dans le cycle des modes.

Les modes définissent la base. Ajoutez des règles de permission par-dessus pour pré-approuver ou bloquer des outils spécifiques. Les règles de refus bloquent dans tous les modes, y compris bypassPermissions. Les règles de refus et de demande ne s'appliquent pas à EndConversation tant que Claude dispose encore d'au moins un autre outil qu'il peut appeler. Les règles d'autorisation n'ont aucun effet en mode bypassPermissions.

Actions qu'aucun mode n'approuve automatiquement

Claude Code n'approuve automatiquement les éléments suivants dans aucun mode, y compris bypassPermissions, bien que vous puissiez désactiver la demande de permission pour les commandes rm dangereuses en mode bypassPermissions. Chaque point renvoie à la section qui décrit ce qui se passe à la place dans chaque mode :

  • Les outils correspondant à une règle de demande explicite

  • Les outils de connecteur que votre organisation a définis sur ask, dans les sessions où ce paramètre s'applique à Claude Code

  • Les outils qui nécessitent une interaction de l'utilisateur : l'outil intégré AskUserQuestion et les outils MCP marqués requiresUserInteraction

  • Les suppressions rm et rmdir reconnues ciblant un chemin critique, qu'aucune règle d'autorisation ni aucun "allow" d'un hook PreToolUse n'approuve, ainsi que les commandes Bash signalées par Dangerous rm operation not ruled out

  • Les protections de messagerie inter-sessions

  • Les lectures en dehors des répertoires de travail lorsque permissions.blockReadsOutsideWorkingDirectories est activé : les commandes Bash reconnues de lecture de fichiers déclenchent une demande de permission même en mode auto et en mode bypassPermissions, tout comme toute nouvelle tentative hors sandbox qui nécessite une approbation pour s'exécuter en dehors du sandbox. Nécessite Claude Code v2.1.257 ou une version ultérieure.

    Une commande que l'analyseur du shell ne peut pas suivre, par exemple une commande qui change de répertoire plus d'une fois ou qui exécute un sous-shell, déclenche une demande de la même manière, même lorsqu'elle ne mentionne aucun chemin extérieur. Cette demande ne s'applique pas lorsque la commande s'exécute dans le sandbox et que le sandbox applique le blocage.

Configurations courantes

Les modes de permission décident si Claude demande une confirmation avant une action, et le sandbox Bash et les limites d'isolation externes décident ce qu'une action peut atteindre une fois qu'elle s'exécute. Chaque ligne ci-dessous associe un objectif aux drapeaux ou paramètres qui vous y mènent et à l'isolation nécessaire, comme point de départ. Les modes disponibles énumère ce qui s'exécute sans invite dans chaque mode.

Vous voulez Commencez par Isolation nécessaire Notes
Examiner chaque action vous-même Mode manuel : claude --permission-mode default Aucune Travail sensible, code non familier
Itérer localement avec moins d'invites, sans classificateur Mode manuel plus le sandbox Bash en mode auto-allow : claude --permission-mode default, puis exécutez /sandbox et sélectionnez auto-allow Le sandbox Bash intégré, sur macOS, Linux et WSL2 Les règles de refus s'appliquent toujours, et les règles d'ask qui nomment une commande, comme Bash(git push *), invitent toujours. Le mode auto-allow couvre d'autres commandes qui peuvent déclencher une demande de permission. Pour activer le sandbox à partir d'un fichier de paramètres à la place, définissez sandbox.enabled sur true
Explorer avant de modifier quoi que ce soit claude --permission-mode plan Aucune Claude Code bloque les modifications jusqu'à ce que vous approuviez un plan
Travailler en mode automatique sans intervention claude --permission-mode auto, le mode de permission de démarrage intégré avec v2.1.283 ou ultérieur Aucune ; un sandbox ou un conteneur ajoute une défense en profondeur Nécessite un modèle pris en charge, et votre organisation peut désactiver le mode auto
Exécuter en CI avec une liste d'autorisation exacte claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read" Aucune au-delà de ce que votre exécuteur CI fournit Les sessions cloud ignorent dontAsk des fichiers de paramètres
Exécuter complètement sans surveillance à l'intérieur d'un conteneur claude -p "<prompt>" --dangerously-skip-permissions Obligatoire : un conteneur, une VM ou le runtime sandbox ; sur Linux et macOS, exécutez-le en tant qu'utilisateur non-root Les sessions cloud ignorent ce mode des fichiers de paramètres. Dans cette exécution -p, les quelques appels qui inviteraient toujours sont refusés à la place

Le sandbox Bash et le mode auto fonctionnent indépendamment et se combinent, avec les exceptions énumérées sous Sandbox modes. Pour l'interaction complète, consultez How sandboxing relates to permissions and permission modes et How isolation relates to permission modes.

Quel mode une session démarre

Quand vous démarrez une nouvelle session dans un terminal, Claude Code prend le mode de permission du premier de ces éléments qui s'applique :

  1. Le flag --permission-mode, ou --dangerously-skip-permissions

  2. permissions.defaultMode dans un fichier de paramètres

    Si vous définissez "auto" dans .claude/settings.json ou .claude/settings.local.json, la valeur ne prend pas effet, et Claude Code utilise alors la valeur par défaut intégrée plutôt qu'un defaultMode de ~/.claude/settings.json. Si vous définissez "bypassPermissions" dans ces deux fichiers, cela ne prend pas effet non plus, et la session démarre en mode Manuel. Les autres valeurs s'appliquent à partir de n'importe quel fichier de paramètres.

  3. La valeur par défaut intégrée

Les conversations que l'extension VS Code démarre suivent la propre liste de l'extension dans Basculer les modes de permission. Pour le mode de permission dans lequel Claude Code démarre une session reprise, voir mode de permission à la reprise.

La valeur par défaut auto intégrée nécessite Claude Code v2.1.228 ou version ultérieure sur macOS, Linux et WSL, et v2.1.233 ou version ultérieure sur Windows natif. Sur les versions antérieures, la valeur par défaut intégrée est Manuel.

La valeur par défaut intégrée dépend de la façon dont vous exécutez Claude Code. La première ligne qui correspond à votre session s'applique. Le tableau couvre les sessions que vous démarrez dans un terminal ou via l'extension VS Code ; pour l'application de bureau et claude.ai, voir les onglets Desktop et Web dans Basculer les modes de permission.

Comment vous exécutez Claude Code Mode de permission de démarrage intégré
Un fichier de paramètres définit disableAutoMode sur "disable" default
claude -p ou le SDK Agent default
La configuration HIPAA est appliquée à votre organisation et la session y est éligible default avec Claude Code v2.1.285 ou version ultérieure ; le mode auto reste disponible pour y basculer
Dans un terminal ou via l'extension VS Code auto avec Claude Code v2.1.283 ou version ultérieure ; sur les versions antérieures, auto sur les plans Pro, Max ou Team dans les sessions qui récupèrent les flags de fonctionnalité, et default sinon

Quand le flag, un fichier de paramètres ou la valeur par défaut intégrée sélectionne auto mais que le mode auto n'est pas disponible pour la session, Claude Code démarre la session en mode Manuel à la place. Le mode auto est indisponible quand la session ne répond pas aux exigences de disponibilité, comme un fichier de paramètres le désactivant ou un modèle qui ne le supporte pas, ou quand Anthropic l'a temporairement désactivé côté serveur.

La première fois que la valeur par défaut intégrée démarre l'une de vos sessions en mode auto, Claude Code affiche un avis qui renvoie à cette page :

  • Dans un terminal, une fois, en haut de la session
  • Dans l'extension VS Code, sous forme de carte sur l'écran de nouvelle conversation qui reste jusqu'à ce que vous la fermiez

Si votre ~/.claude/settings.json définit un defaultMode autre que auto et qu'aucun autre fichier de paramètres n'en définit un, vos sessions continuent à démarrer dans ce mode. Sur les plans Pro, Max et Team, et dans les sessions qui ne récupèrent pas les flags de fonctionnalité, Claude Code demande une fois, dans le terminal ou dans l'extension VS Code, si vous souhaitez modifier le paramètre en mode auto. Si vous refusez, votre paramètre reste tel quel.

Appels d'outils refusés dans les exécutions claude -p et Agent SDK

Dans Claude Code v2.1.302 ou version ultérieure, les exécutions claude -p et du SDK Agent sans mode de permission défini démarrent en mode Manuel. Ce mode apparaît comme default dans les options du SDK et dans les paramètres. Les appels nécessitant une approbation sont refusés, sauf si vous les approuvez avec une règle d'autorisation, un hook, un callback canUseTool ou --permission-prompt-tool.

Pour faire approuver ces appels, ajoutez des règles d'autorisation ou démarrez en mode auto :

Ces exemples montrent la forme en mode auto pour la CLI et pour chaque SDK :

CLI

claude -p "Run the test suite and fix any failures" --permission-mode auto

TypeScript

const options = {
  permissionMode: "auto"
};

Python

from claude_agent_sdk import ClaudeAgentOptions

options = ClaudeAgentOptions(permission_mode="auto")

Avant la v2.1.302, ces exécutions pouvaient démarrer en mode auto si elles ne récupéraient pas les flags de fonctionnalité, par exemple sur un fournisseur tiers ou avec DISABLE_TELEMETRY.

Démarrer dans un mode de permission différent

Vous pouvez définir le mode de permission de démarrage pour une session, ou comme valeur par défaut pour chaque session sur une machine, dans un projet ou dans une organisation. Quand plus d'un fichier de paramètres définit permissions.defaultMode, la priorité des paramètres décide, donc une valeur de projet ou gérée l'emporte sur ~/.claude/settings.json. Pour modifier le mode de permission d'une session déjà en cours, voir Basculer les modes de permission.

Pour définir le mode de permission de démarrage pour Faites ceci
Une session que vous êtes sur le point de démarrer Passez le mode de permission en tant que flag, par exemple claude --permission-mode default
Chaque session de terminal que vous démarrez sur cette machine Définissez permissions.defaultMode dans ~/.claude/settings.json. Pour ce que l'extension VS Code lit, voir Basculer les modes de permission
Chaque session de terminal que vous démarrez dans un projet Définissez permissions.defaultMode dans le .claude/settings.json du projet. Les sessions que vous démarrez dans un terminal honorent chaque valeur sauf auto et bypassPermissions ; les sessions que l'extension VS Code démarre ne lisent pas les paramètres du projet pour le mode de permission de démarrage
Chaque session de terminal dans votre organisation Définissez permissions.defaultMode dans les paramètres gérés. Les sessions de terminal démarrent dans ce mode et les gens peuvent toujours basculer vers le mode auto ; pour ce que l'extension VS Code lit, voir Basculer les modes de permission. Pour supprimer le mode auto afin que personne ne puisse le sélectionner, définissez permissions.disableAutoMode sur "disable" à la place

Cet exemple fait que chaque session de terminal sur votre machine démarre en mode Manuel, dont la valeur de configuration est default. Enregistrez-le dans ~/.claude/settings.json :

{
  "permissions": {
    "defaultMode": "default"
  }
}

La session suivante que vous démarrez affiche ⏸ manual mode on dans la barre d'état.

Modes de permission avec la configuration HIPAA

Dans une organisation à laquelle la configuration HIPAA est appliquée, la valeur par défaut auto intégrée ne s'applique pas. Une session de terminal ou VS Code démarre en mode Manuel quand rien d'autre ne choisit son mode de permission de démarrage. Une session de terminal affiche également Auto mode isn't the default for your organization · Shift+Tab to switch, et l'extension VS Code n'affiche aucun avis. Vérifier comment les développeurs se connectent répertorie les sessions concernées.

Le mode auto et bypassPermissions restent disponibles :

Nécessite Claude Code v2.1.285 ou version ultérieure, la version minimale pour la configuration HIPAA.

Basculer les modes de permission

Chaque interface a son propre contrôle pour basculer les modes de permission pendant une session et sa propre façon de choisir le mode de permission que les nouvelles sessions démarrent. Sélectionnez votre interface pour voir ses contrôles.

CLI

En cours de session : appuyez sur Shift+Tab pour parcourir les modes de permission. À partir de auto, le premier appui bascule vers default, et le cycle s'exécute ensuite default → acceptEdits → plan. Les modes optionnels s'insèrent après plan. La barre d'état affiche le mode actif sous la forme d'un ⏸ manual mode on gris pour default, ou sous la forme ⏵⏵ accept edits on, ⏸ plan mode on, ⏵⏵ auto mode on, ⏵⏵ don't ask on, ou ⏵⏵ bypass permissions on.

Observez la barre d'état dans cet extrait d'une session démarrée en mode auto. Chaque fois que vous appuyez sur Shift+Tab, elle passe de auto mode on à manual mode on, accept edits on, plan mode on, puis revient à auto mode on.