SpyBara
Go Premium

permission-modes.md 2026-10-26 22:57 UTC to 2026-10-27 22:59 UTC

This page contains 64 additions and 5 deletions.

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

Scegli una modalità di autorizzazione

Controlla se Claude chiede prima di agire. Cambia le modalità di autorizzazione con Shift+Tab nella CLI, l'indicatore di modalità in VS Code o il selettore di modalità in Desktop.

Una modalità di autorizzazione imposta quali azioni Claude può intraprendere in una sessione senza chiederti prima. In modalità manuale, Claude Code si ferma e ti chiede prima della maggior parte delle azioni che modificano file, eseguono comandi shell o raggiungono la rete. In auto mode, un secondo modello, il classificatore, esamina le azioni al tuo posto; come il classificatore valuta le azioni elenca quali azioni esamina e quali le salta.

Con Claude Code v2.1.283 o successivo, la modalità auto è la modalità di autorizzazione predefinita integrata per le sessioni di terminale interattivo e VS Code. Nelle versioni precedenti, è la modalità di autorizzazione predefinita integrata solo nei piani Pro, Max e Team. In quale modalità inizia una sessione copre le superfici e le impostazioni che cambiano la modalità di autorizzazione iniziale. Puoi anche cambiare la modalità di autorizzazione di una sessione in esecuzione in qualsiasi momento.

Modalità disponibili

Ogni modalità offre un diverso compromesso tra comodità e supervisione. La tabella seguente mostra cosa può fare Claude senza una richiesta di permesso in ciascuna modalità. La modalità Manual compare con il suo valore di configurazione, default.

Modalità Cosa viene eseguito senza chiedere Ideale per
default Solo letture Rivedere personalmente ogni azione, lavoro delicato
acceptEdits Letture, modifiche ai file e comandi comuni del filesystem (mkdir, touch, mv, cp, ecc.) Iterare sul codice che stai rivedendo
plan Letture, più i comandi approvati dal classificatore quando la modalità auto è disponibile Esplorare un codebase prima di modificarlo
auto Tutto, con controlli di sicurezza in background Attività lunghe, ridurre l'affaticamento da richieste di permesso
dontAsk Letture di file all'interno delle tue directory di lavoro e strumenti pre-approvati; tutto ciò che richiederebbe una conferma viene negato, anche se un mod che hai installato può comunque approvare alcune di queste chiamate CI e script blindati
bypassPermissions Tutto Solo container e VM isolati

La modalità che rivede ogni azione si chiama Manual nella CLI, in claude --help, nelle estensioni VS Code e JetBrains e nell'app desktop. Il suo valore di configurazione è default, ed è quello usato dagli hook e dalle integrazioni SDK. La CLI accetta manual come alias ovunque tu digiti il valore, ad esempio claude --permission-mode manual o "defaultMode": "manual".

Le scritture nei percorsi protetti non vengono mai approvate automaticamente, tranne in modalità bypassPermissions e nelle sessioni in plan mode in cui bypass permissions è disponibile, ovvero le sessioni interattive nel terminale avviate in un modo che inserisce bypassPermissions nel ciclo delle modalità.

Le modalità definiscono la base. Aggiungi sopra di esse delle regole di permesso per pre-approvare o bloccare strumenti specifici. Le regole deny bloccano in ogni modalità, incluso bypassPermissions. Le regole deny e ask non si applicano a EndConversation finché Claude dispone ancora di almeno un altro strumento che può chiamare. Le regole allow non hanno alcun effetto in bypassPermissions.

Azioni che nessuna modalità approva automaticamente

Claude Code non approva automaticamente quanto segue in nessuna modalità, incluso bypassPermissions, anche se in modalità bypassPermissions puoi disattivare la richiesta di conferma per i comandi rm pericolosi. Ogni punto rimanda alla sezione che spiega cosa accade invece in ciascuna modalità:

  • Strumenti corrispondenti a una regola ask esplicita

  • Strumenti dei connettori che la tua organizzazione ha impostato su ask, nelle sessioni in cui tale impostazione raggiunge Claude Code

  • Strumenti che richiedono l'interazione dell'utente: lo strumento integrato AskUserQuestion e gli strumenti MCP contrassegnati con requiresUserInteraction

  • Le rimozioni di percorsi critici riconosciute con rm e rmdir, che nessuna regola allow né alcun "allow" di un hook PreToolUse approva, e i comandi Bash contrassegnati con Dangerous rm operation not ruled out

  • Le misure di protezione per la messaggistica tra sessioni

  • Le letture al di fuori delle directory di lavoro mentre permissions.blockReadsOutsideWorkingDirectories è attivo: i comandi Bash riconosciuti come letture di file chiedono conferma anche in modalità auto e in modalità bypassPermissions, e lo stesso vale per qualsiasi nuovo tentativo fuori dalla sandbox che richiede l'approvazione per essere eseguito al di fuori della sandbox. Richiede Claude Code v2.1.257 o versioni successive.

    Un comando che il parser della shell non riesce a tracciare, ad esempio uno che cambia directory più di una volta o che esegue una subshell, chiede conferma allo stesso modo anche quando non nomina alcun percorso esterno. Questa richiesta di conferma non si applica quando il comando viene eseguito nella sandbox e la sandbox applica il blocco.

Configurazioni comuni

Le modalità di autorizzazione decidono se Claude chiede prima di un'azione, e la sandbox Bash e i confini di isolamento esterni decidono cosa un'azione può raggiungere una volta che viene eseguita. Ogni riga seguente abbina un obiettivo ai flag o alle impostazioni che ti portano lì e all'isolamento di cui ha bisogno, come punto di partenza. Modalità disponibili elenca cosa viene eseguito senza un prompt in ogni modalità.

Vuoi Inizia con Isolamento necessario Note
Revisionare ogni azione tu stesso Modalità Manual: claude --permission-mode default Nessuno Lavoro sensibile, codice non familiare
Iterare localmente con meno prompt, senza un classificatore Modalità Manual più la sandbox Bash in modalità auto-allow: claude --permission-mode default, quindi esegui /sandbox e seleziona auto-allow La sandbox Bash integrata, su macOS, Linux e WSL2 Le regole di negazione si applicano comunque, e le regole di richiesta che nominano un comando, come Bash(git push *), richiedono comunque un prompt. La modalità auto-allow copre altri comandi che possono chiedere conferma. Per attivare la sandbox da un file di impostazioni, imposta sandbox.enabled su true
Esplorare prima di modificare qualsiasi cosa claude --permission-mode plan Nessuno Claude Code blocca le modifiche finché non approvi un piano
Lavorare senza intervento in modalità auto claude --permission-mode auto, la modalità di autorizzazione iniziale integrata con v2.1.283 o successivo Nessuno; una sandbox o un container aggiunge difesa in profondità Richiede un modello supportato, e la tua organizzazione può disattivare la modalità auto
Eseguire in CI con una lista di autorizzazione esatta claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read" Nessuno oltre a quello che il tuo runner CI fornisce Cloud sessions ignora dontAsk dai file di impostazioni
Eseguire completamente senza intervento dentro un container claude -p "<prompt>" --dangerously-skip-permissions Richiesto: un container, VM, o il runtime sandbox; su Linux e macOS, eseguilo come utente non root Cloud sessions ignora questa modalità dai file di impostazioni. In questa esecuzione -p, le poche chiamate che richiederebbero comunque un prompt vengono negate invece

La sandbox Bash e la modalità auto funzionano indipendentemente e si combinano, con le eccezioni elencate in Modalità sandbox. Per l'interazione completa, vedi Come il sandboxing si relaziona alle autorizzazioni e alle modalità di autorizzazione e Come l'isolamento si relaziona alle modalità di autorizzazione.

In quale modalità inizia una sessione

Quando avvii una nuova sessione in un terminale, Claude Code prende la modalità di permesso dal primo di questi che si applica:

  1. Il flag --permission-mode, o --dangerously-skip-permissions

  2. permissions.defaultMode in un file di impostazioni

    Se imposti "auto" in .claude/settings.json o .claude/settings.local.json, il valore non ha effetto, e Claude Code utilizza invece l'impostazione predefinita integrata piuttosto che un defaultMode da ~/.claude/settings.json. Se imposti "bypassPermissions" in questi due file, non ha effetto nemmeno, e la sessione inizia in modalità Manual. Gli altri valori si applicano da qualsiasi file di impostazioni.

  3. L'impostazione predefinita integrata

Le conversazioni che l'estensione VS Code avvia seguono il proprio elenco dell'estensione in Cambia modalità di permesso. Per la modalità di permesso in cui Claude Code avvia una sessione ripresa, vedi modalità di permesso al ripristino.

L'impostazione predefinita integrata auto richiede Claude Code v2.1.228 o successivo su macOS, Linux e WSL, e v2.1.233 o successivo su Windows nativo. Su versioni precedenti, l'impostazione predefinita integrata è Manual.

L'impostazione predefinita integrata dipende da come esegui Claude Code. La prima riga che corrisponde alla tua sessione si applica. La tabella copre le sessioni che avvii in un terminale o tramite l'estensione VS Code; per l'app desktop e claude.ai, vedi le schede Desktop e Web in Cambia modalità di permesso.

Come esegui Claude Code Modalità di permesso iniziale integrata
Un file di impostazioni imposta disableAutoMode su "disable" default
claude -p o l'Agent SDK default
La tua organizzazione ha applicato la configurazione HIPAA e la sessione è idonea default con Claude Code v2.1.285 o successivo; la modalità auto rimane disponibile per passarvi
In un terminale o tramite l'estensione VS Code auto con Claude Code v2.1.283 o successivo; su versioni precedenti, auto su piani Pro, Max, o Team in sessioni che recuperano flag di funzionalità, e default altrimenti

Quando il flag, un file di impostazioni, o l'impostazione predefinita integrata seleziona auto ma la modalità auto non è disponibile per la sessione, Claude Code avvia la sessione in Manual invece. La modalità auto non è disponibile quando la sessione non soddisfa i requisiti di disponibilità, come un file di impostazioni che la disattiva o un modello che non la supporta, o quando Anthropic l'ha temporaneamente disattivata lato server.

La prima volta che l'impostazione predefinita integrata avvia una delle tue sessioni in modalità auto, Claude Code mostra un avviso che collega a questa pagina:

  • In un terminale, una volta, in cima alla sessione
  • Nell'estensione VS Code, come una scheda nella schermata di nuova conversazione che rimane finché non la chiudi

Se il tuo ~/.claude/settings.json imposta un defaultMode diverso da auto e nessun altro file di impostazioni ne imposta uno, le tue sessioni continuano a iniziare in quella modalità. Su piani Pro, Max e Team, e in sessioni che non recuperano flag di funzionalità, Claude Code chiede una volta, nel terminale o nell'estensione VS Code, se cambiare l'impostazione in modalità auto. Se rifiuti, la tua impostazione rimane come è.

Chiamate agli strumenti negate nelle esecuzioni di claude -p e dell'Agent SDK

In Claude Code v2.1.302 o successivo, le esecuzioni di claude -p e dell'Agent SDK senza alcuna modalità di permesso impostata iniziano in modalità Manual. Questa modalità appare come default nelle opzioni dell'SDK e nelle impostazioni. Le chiamate che richiedono approvazione vengono negate a meno che tu non le approvi con una regola allow, un hook, un callback canUseTool o --permission-prompt-tool.

Per far approvare queste chiamate, aggiungi regole allow o inizia in modalità auto:

Questi esempi mostrano la forma della modalità auto per la CLI e per ciascun 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")

Prima della v2.1.302, queste esecuzioni potevano iniziare in modalità auto se non recuperavano flag di funzionalità, ad esempio su un provider di terze parti o con DISABLE_TELEMETRY.

Inizia in una modalità di permesso diversa

Puoi impostare la modalità di permesso iniziale per una sessione, o come impostazione predefinita per ogni sessione su una macchina, in un progetto, o in un'organizzazione. Quando più di un file di impostazioni imposta permissions.defaultMode, la precedenza delle impostazioni decide, quindi un valore di progetto o gestito ha la precedenza su ~/.claude/settings.json. Per cambiare la modalità di permesso di una sessione già in esecuzione, vedi Cambia modalità di permesso.

Per impostare la modalità di permesso iniziale per Fai questo
Una sessione che stai per avviare Passa la modalità di permesso come flag, ad esempio claude --permission-mode default
Ogni sessione di terminale che avvii su questa macchina Imposta permissions.defaultMode in ~/.claude/settings.json. Per quello che l'estensione VS Code legge, vedi Cambia modalità di permesso
Ogni sessione di terminale che avvii in un progetto Imposta permissions.defaultMode nel .claude/settings.json del progetto. Le sessioni che avvii in un terminale rispettano ogni valore tranne auto e bypassPermissions; le sessioni che l'estensione VS Code avvia non leggono le impostazioni del progetto per la modalità di permesso iniziale
Ogni sessione di terminale nella tua organizzazione Imposta permissions.defaultMode nelle impostazioni gestite. Le sessioni di terminale iniziano in quella modalità e le persone possono comunque passare alla modalità auto; per quello che l'estensione VS Code legge, vedi Cambia modalità di permesso. Per rimuovere la modalità auto in modo che nessuno possa selezionarla, imposta permissions.disableAutoMode su "disable" invece

Questo esempio fa sì che ogni sessione di terminale sulla tua macchina inizi in modalità Manual, il cui valore di configurazione è default. Salvalo in ~/.claude/settings.json:

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

La prossima sessione che avvii mostra ⏸ manual mode on nella barra di stato.

Modalità di permesso con la configurazione HIPAA

In un'organizzazione in cui è applicata la configurazione HIPAA, l'impostazione predefinita integrata auto non si applica. Una sessione di terminale o di VS Code inizia in modalità Manual quando nient'altro sceglie la sua modalità di permesso iniziale. Una sessione di terminale mostra anche Auto mode isn't the default for your organization · Shift+Tab to switch, mentre l'estensione VS Code non mostra alcun avviso. Verifica come gli sviluppatori accedono e si connettono elenca le sessioni a cui si applica.

La modalità auto e bypassPermissions rimangono disponibili:

Richiede Claude Code v2.1.285 o successivo, la versione minima per la configurazione HIPAA.

Cambiare le modalità di autorizzazione

Ogni interfaccia ha il proprio controllo per cambiare le modalità di autorizzazione durante una sessione e il proprio modo di scegliere la modalità di autorizzazione con cui iniziano le nuove sessioni. Seleziona la tua interfaccia per vedere i suoi controlli.

CLI

Durante una sessione: premi Shift+Tab per scorrere ciclicamente le modalità di permesso. Da auto, la prima pressione passa a default, e il ciclo prosegue poi con default → acceptEdits → plan. Le modalità opzionali si inseriscono dopo plan. La barra di stato mostra la modalità attiva come ⏸ manual mode on in grigio per default, oppure come ⏵⏵ accept edits on, ⏸ plan mode on, ⏵⏵ auto mode on, ⏵⏵ don't ask on o ⏵⏵ bypass permissions on.

Osserva la barra di stato in questo clip di una sessione avviata in modalità auto. Ogni volta che premi Shift+Tab, passa da auto mode on a manual mode on, accept edits on, plan mode on e di nuovo a auto mode on.