Le modalità di autorizzazione controllano se Claude chiede il permesso prima di agire. Diversi compiti richiedono diversi livelli di autonomia: potresti desiderare una supervisione completa per il lavoro sensibile, interruzioni minime per un refactoring lungo, o accesso in sola lettura mentre esplori una codebase.
Questa pagina copre come:
Cambia modalità di autorizzazione
Puoi cambiare modalità in qualsiasi momento durante una sessione, all’avvio o come impostazione predefinita persistente. Il meccanismo dipende da dove stai eseguendo Claude Code.
CLI
JetBrains
VS Code
Desktop
Web e mobile
Durante una sessione: premi Shift+Tab per cicla attraverso default → acceptEdits → plan → auto. La modalità corrente appare nella barra di stato. auto non appare nel ciclo finché non passi --enable-auto-mode all’avvio. Auto richiede anche un piano Team (o Enterprise/API una volta disponibile) e Claude Sonnet 4.6 o Opus 4.6, quindi l’opzione potrebbe rimanere non disponibile anche con il flag. Se bypassPermissions è anche abilitato, appare nel ciclo tra plan e auto.All’avvio: passa la modalità come flag CLI:claude --permission-mode plan
Come impostazione predefinita: imposta defaultMode nel tuo file di impostazioni:{
"permissions": {
"defaultMode": "acceptEdits"
}
}
Non interattivamente: lo stesso flag funziona con -p per esecuzioni script:claude -p "refactor auth" --permission-mode acceptEdits
dontAsk non è mai nel ciclo Shift+Tab. bypassPermissions appare nel ciclo solo se hai avviato la sessione con --permission-mode bypassPermissions, --dangerously-skip-permissions, o --allow-dangerously-skip-permissions. Il terzo flag aggiunge la modalità al ciclo senza attivarla, quindi puoi comporla con una modalità di avvio diversa come --permission-mode plan. Imposta uno qualsiasi di questi all’avvio o nel tuo file di impostazioni. Il plugin JetBrains avvia Claude Code nel terminale IDE, quindi il cambio di modalità funziona come nella CLI: premi Shift+Tab per cicla, o passa --permission-mode quando avvii.
Durante una sessione: fai clic sull’indicatore di modalità in fondo alla casella del prompt per cambiare modalità.Come impostazione predefinita: imposta claudeCode.initialPermissionMode nelle impostazioni di VS Code, o utilizza il pannello delle impostazioni dell’estensione Claude Code.L’interfaccia utente di VS Code utilizza etichette amichevoli che si mappano alle chiavi delle impostazioni di seguito:| Etichetta UI | Chiave impostazioni |
|---|
| Ask permissions | default |
| Auto accept edits | acceptEdits |
| Plan mode | plan |
| Auto | auto |
| Bypass permissions | bypassPermissions |
Auto e Bypass permissions appaiono solo dopo aver abilitato Allow dangerously skip permissions nelle impostazioni dell’estensione. Auto richiede anche un piano Team e Claude Sonnet 4.6 o Opus 4.6, quindi l’opzione potrebbe rimanere non disponibile anche con l’interruttore attivato.Vedi la guida di VS Code per i dettagli specifici dell’estensione. Durante una sessione: utilizza il selettore di modalità accanto al pulsante di invio. Puoi cambiarlo prima o durante una sessione.L’interfaccia utente di Desktop utilizza etichette amichevoli che si mappano alle chiavi delle impostazioni di seguito:| Etichetta UI | Chiave impostazioni |
|---|
| Ask permissions | default |
| Auto accept edits | acceptEdits |
| Plan mode | plan |
| Auto | auto |
| Bypass permissions | bypassPermissions |
Auto e Bypass permissions appaiono nel selettore solo dopo averli abilitati nelle impostazioni di Desktop. Vedi la guida di Desktop per i dettagli. Durante una sessione: utilizza il menu a discesa della modalità accanto alla casella del prompt su claude.ai/code o nell’app mobile Claude.Per le sessioni di Claude Code sul web in esecuzione su VM cloud di Anthropic, il menu a discesa offre Auto accept edits e Plan mode. Ask permissions e Auto non sono disponibili per le sessioni cloud.Per le sessioni di Remote Control in esecuzione sulla tua macchina locale, il menu a discesa offre Ask permissions, Auto accept edits e Plan mode. Puoi anche impostare la modalità di avvio quando avvii l’host locale:claude remote-control --permission-mode acceptEdits
I prompt di autorizzazione appaiono in claude.ai per l’approvazione.
Le modalità di autorizzazione sono impostate tramite l’interfaccia utente, i flag CLI o i file di impostazioni. Dire a Claude “smetti di chiedere il permesso” nella chat non cambia la modalità. Vedi Permissions per come le modalità interagiscono con le regole allow, ask e deny.
Modalità disponibili
Ogni modalità fa un diverso compromesso tra comodità e supervisione. Scegli quella che corrisponde al tuo compito.
| Modalità | Cosa Claude può fare senza chiedere | Migliore per |
|---|
default | Leggere file | Iniziare, lavoro sensibile |
acceptEdits | Leggere e modificare file | Iterare su codice che stai revisionando |
plan | Leggere file | Esplorare una codebase, pianificare un refactor |
auto | Tutte le azioni, con controlli di sicurezza in background | Compiti di lunga durata, ridurre l’affaticamento dei prompt |
bypassPermissions | Tutte le azioni, nessun controllo | Solo container e VM isolati |
dontAsk | Solo strumenti pre-approvati | Ambienti bloccati |
Analizza prima di modificare con plan mode
Plan mode dice a Claude di ricercare e proporre modifiche senza farle. Claude legge file, esegue comandi shell per esplorare, pone domande di chiarimento e scrive un file di piano, ma non modifica il tuo codice sorgente. I prompt di autorizzazione funzionano come nella modalità predefinita: approvi comunque i comandi Bash, le richieste di rete e altre azioni che normalmente richiederebbero un prompt.
Quando usare plan mode
Plan mode è utile quando vuoi che Claude ricerchi e proponga un approccio prima di apportare modifiche:
- Implementazione multi-step: quando una funzione richiede modifiche in molti file
- Esplorazione del codice: quando vuoi ricercare la codebase prima di cambiare qualcosa
- Sviluppo interattivo: quando vuoi iterare sulla direzione con Claude
Avvia e usa plan mode
Entra in plan mode per una singola richiesta prefissando il tuo prompt con /plan, o cambia l’intera sessione in plan mode premendo Shift+Tab per cicla attraverso le modalità di autorizzazione. Puoi anche avviare in plan mode dalla CLI:
claude --permission-mode plan
Questo esempio avvia una sessione di pianificazione per un refactor complesso:
I need to refactor our authentication system to use OAuth2. Create a detailed migration plan.
Claude analizza l’implementazione corrente e crea un piano. Affina con follow-up:
What about backward compatibility?
How should we handle database migration?
Quando il piano è pronto, Claude lo presenta e chiede come procedere. Da quel prompt puoi:
- Approvare e avviare in modalità automatica
- Approvare e accettare le modifiche
- Approvare e revisionare manualmente ogni modifica
- Continuare a pianificare, che invia il tuo feedback a Claude per un altro round
Ogni opzione di approvazione offre anche di cancellare il contesto di pianificazione per primo.
Elimina i prompt con auto mode
Auto mode è disponibile sui piani Team, con supporto Enterprise e API in arrivo a breve. Su Team ed Enterprise, un amministratore deve abilitarlo nelle impostazioni di amministrazione di Claude Code prima che gli utenti possano attivarlo. Richiede Claude Sonnet 4.6 o Claude Opus 4.6, e non è disponibile su Haiku, modelli claude-3 o provider di terze parti (Bedrock, Vertex, Foundry).
Auto mode consente a Claude di eseguire azioni senza mostrare prompt di autorizzazione. Prima di ogni azione, un modello classificatore separato esamina la conversazione e decide se l’azione corrisponde a ciò che hai chiesto: blocca le azioni che si escalation oltre l’ambito del compito, mirano all’infrastruttura che il classificatore non riconosce come attendibile, o sembrano essere guidate da contenuti ostili incontrati in un file o pagina web. Per uno sguardo più profondo a come il classificatore è progettato, vedi l’annuncio di auto mode.
Auto mode è un’anteprima di ricerca. Riduce i prompt ma non garantisce la sicurezza. Fornisce più protezione di bypassPermissions ma non è altrettanto accurato della revisione manuale di ogni azione. Usalo per compiti in cui ti fidi della direzione generale, non come sostituto della revisione su operazioni sensibili.
Modello: il classificatore viene eseguito su Claude Sonnet 4.6, anche se la tua sessione principale utilizza un modello diverso.
Costo: le chiamate del classificatore contano verso il tuo utilizzo di token come le chiamate della sessione principale. Ogni azione controllata invia una parte della trascrizione della conversazione più l’azione in sospeso al classificatore. Il costo aggiuntivo proviene principalmente da comandi shell e operazioni di rete, poiché le azioni di sola lettura e le modifiche ai file nella tua directory di lavoro non attivano una chiamata al classificatore.
Latenza: ogni controllo del classificatore aggiunge un round-trip prima dell’esecuzione dell’azione.
Come vengono valutate le azioni
Ogni azione passa attraverso un ordine di decisione fisso. Il primo step corrispondente vince:
- Le azioni che corrispondono alle tue regole allow o deny si risolvono immediatamente
- Le azioni di sola lettura e le modifiche ai file nella tua directory di lavoro vengono auto-approvate
- Tutto il resto va al classificatore
- Se il classificatore blocca, Claude riceve il motivo e tenta un approccio alternativo
Entrando in auto mode, Claude Code elimina qualsiasi regola allow che è nota per concedere l’esecuzione arbitraria di codice: accesso shell blanket come Bash(*), interpreti di script con wildcard come Bash(python*) o Bash(node*), comandi di esecuzione del gestore di pacchetti, e qualsiasi regola Agent. Queste regole auto-approverebbero i comandi e le delegazioni di subagent più capaci di causare danni prima che il classificatore li veda mai. Le regole strette come Bash(npm test) vengono trasferite. Le regole eliminate vengono ripristinate quando esci da auto mode.
Il classificatore riceve messaggi utente e chiamate di strumenti come input, con il testo di Claude e i risultati degli strumenti rimossi. Riceve anche il tuo contenuto CLAUDE.md, quindi le azioni descritte nelle tue istruzioni di progetto vengono considerate nelle decisioni di allow e block. Poiché i risultati degli strumenti non raggiungono mai il classificatore, il contenuto ostile in un file o pagina web non può manipolarlo direttamente. Il classificatore valuta l’azione in sospeso rispetto a un insieme personalizzabile di regole di block e allow, verificando se l’azione è un’escalation eccessiva oltre ciò che hai chiesto, un errore su ciò che è sicuro toccare, o una partenza improvvisa dal tuo intento dichiarato che suggerisce che Claude potrebbe essere stato guidato da qualcosa che ha letto.
A differenza delle tue regole di autorizzazione, che corrispondono ai nomi degli strumenti e ai modelli di argomenti, il classificatore legge descrizioni in prosa di cosa bloccare e consentire: ragiona sull’azione nel contesto piuttosto che corrispondere alla sintassi.
Come auto mode gestisce i subagent
Quando Claude genera un subagent, il classificatore valuta il compito delegato prima che il subagent inizi. Una descrizione di compito che sembra pericolosa di per sé, come “elimina tutti i rami remoti che corrispondono a questo modello”, viene bloccata al momento dello spawn.
All’interno del subagent, auto mode viene eseguito con le stesse regole di block e allow della sessione padre. Qualsiasi permissionMode che il subagent definisce nel suo frontmatter viene ignorato. Le proprie chiamate di strumenti del subagent passano attraverso il classificatore indipendentemente.
Quando il subagent finisce, il classificatore esamina la sua intera cronologia di azioni. Un subagent che era benigno al momento dello spawn potrebbe essere stato compromesso durante l’esecuzione dal contenuto che ha letto. Se il controllo di ritorno segnala una preoccupazione, un avviso di sicurezza viene anteposto ai risultati del subagent in modo che l’agente principale possa decidere come procedere.
Cosa blocca il classificatore per impostazione predefinita
Subito, il classificatore si fida della tua directory di lavoro e, se sei in un repo git, dei remoti configurati di quel repo. Tutto il resto è trattato come esterno: le tue organizzazioni di controllo del codice sorgente aziendale, i bucket cloud e i servizi interni sono sconosciuti finché non lo dici al classificatore.
Bloccato per impostazione predefinita:
- Scaricare ed eseguire codice, come
curl | bash o script da repo clonati
- Inviare dati sensibili a endpoint esterni
- Deploy e migrazioni di produzione
- Eliminazione di massa su cloud storage
- Concessione di autorizzazioni IAM o repo
- Modifica dell’infrastruttura condivisa
- Distruzione irreversibile di file che esistevano prima dell’inizio della sessione
- Operazioni di controllo del codice sorgente distruttive come force push o push diretto a
main
Consentito per impostazione predefinita:
- Operazioni su file locali nella tua directory di lavoro
- Installazione di dipendenze già dichiarate nei tuoi file di blocco o manifesti
- Lettura di
.env e invio di credenziali al loro API corrispondente
- Richieste HTTP di sola lettura
- Push al ramo su cui hai iniziato o uno che Claude ha creato
Per vedere gli elenchi di regole predefinite complete come il classificatore le riceve, esegui claude auto-mode defaults.
Se auto mode blocca qualcosa di routine per il tuo team, come il push al repo della tua organizzazione o la scrittura su un bucket aziendale, è perché il classificatore non sa che quelli sono attendibili. Gli amministratori possono aggiungere repo attendibili, bucket e servizi interni tramite l’impostazione autoMode.environment: vedi Configure the auto mode classifier per la guida di configurazione completa.
Quando auto mode ritorna indietro
Il design di fallback mantiene i falsi positivi dal deragliare una sessione: un blocco errato costa a Claude un nuovo tentativo, non il tuo progresso. Se il classificatore blocca un’azione 3 volte di fila o 20 volte totali in una sessione, auto mode si mette in pausa e Claude Code riprende a richiedere per ogni azione. Queste soglie non sono configurabili.
- CLI: vedi una notifica nell’area di stato. Approvare l’azione richiesta ripristina i contatori di negazione, quindi puoi continuare in auto mode
- Modalità non interattiva con il flag
-p: interrompe la sessione, poiché non c’è un utente a cui richiedere
I blocchi ripetuti di solito significano una di due cose: il compito genuinamente richiede azioni che il classificatore è costruito per fermare, o il classificatore manca di contesto sulla tua infrastruttura attendibile e tratta le azioni sicure come rischiose. Se i blocchi sembrano falsi positivi, o se il classificatore perde qualcosa che avrebbe dovuto catturare, usa /feedback per segnalarlo. Se i blocchi stanno accadendo perché il classificatore non riconosce i tuoi repo o servizi come attendibili, fai in modo che un amministratore configuri l’infrastruttura attendibile nelle impostazioni gestite.
Consenti solo strumenti pre-approvati con dontAsk mode
La modalità dontAsk nega automaticamente ogni strumento che non è esplicitamente consentito. Solo le azioni che corrispondono alle tue regole allow /permissions o alle impostazioni permissions.allow possono essere eseguite. Se uno strumento ha una regola ask esplicita, l’azione viene anche negata piuttosto che richiedere. Questo rende la modalità completamente non interattiva, adatta per pipeline CI o ambienti ristretti in cui pre-definisci esattamente cosa Claude è autorizzato a fare.
claude --permission-mode dontAsk
Salta tutti i controlli con bypassPermissions mode
La modalità bypassPermissions disabilita tutti i prompt di autorizzazione e i controlli di sicurezza. Ogni chiamata di strumento viene eseguita immediatamente senza alcuna verifica. Usa questo solo in ambienti isolati come container, VM o devcontainer senza accesso a Internet, dove Claude Code non può causare danni al tuo sistema host.
claude --permission-mode bypassPermissions
Il flag --dangerously-skip-permissions è equivalente a --permission-mode bypassPermissions:
claude -p "refactor the auth module" --dangerously-skip-permissions
La modalità bypassPermissions non offre protezione contro l’iniezione di prompt o azioni indesiderate. Per un’alternativa più sicura che mantiene comunque i controlli di sicurezza in background, usa auto mode. Gli amministratori possono bloccare questa modalità impostando permissions.disableBypassPermissionsMode su "disable" nelle impostazioni gestite.
Confronta gli approcci di autorizzazione
La tabella seguente riassume le differenze chiave in come ogni modalità gestisce le approvazioni. plan è omesso poiché limita ciò che Claude può fare piuttosto che come funzionano le approvazioni.
| default | acceptEdits | auto | dontAsk | bypassPermissions |
|---|
| Prompt di autorizzazione | Modifiche ai file e comandi | Solo comandi | Nessuno a meno che il fallback non si attivi | Nessuno, bloccato a meno che non sia pre-approvato | Nessuno |
| Controlli di sicurezza | Rivedi ogni azione | Rivedi i comandi | Il classificatore esamina i comandi | Solo le tue regole pre-approvate | Nessuno |
| Utilizzo di token | Standard | Standard | Più alto, dalle chiamate del classificatore | Standard | Standard |
Personalizza ulteriormente le autorizzazioni
Le modalità di autorizzazione impostano il comportamento di approvazione di base. Per il controllo su singoli strumenti o comandi, stratifica la configurazione aggiuntiva sopra la modalità attiva.
Le regole di autorizzazione sono la prima fermata. Aggiungi voci allow, ask o deny al tuo file di impostazioni per pre-approvare comandi sicuri, forzare un prompt per quelli rischiosi, o bloccare completamente strumenti specifici. Le regole si applicano in ogni modalità tranne bypassPermissions, che salta completamente il livello di autorizzazione, e vengono abbinate per nome dello strumento e modello di argomento. Vedi Manage permissions per la sintassi e gli esempi.
Hooks coprono la logica che le regole di pattern-matching non possono esprimere. Un hook PreToolUse viene eseguito prima di ogni chiamata di strumento e può consentire, negare o escalation in base al contenuto del comando, ai percorsi dei file, all’ora del giorno, o a una risposta da un servizio di politica esterna. Un hook PermissionRequest intercetta il dialogo di autorizzazione stesso e risponde per tuo conto. Vedi Hooks per la configurazione.
Vedi anche
- Permissions: regole di autorizzazione, sintassi, politiche gestite
- Hooks: logica di autorizzazione personalizzata, scripting del ciclo di vita
- Security: salvaguardie di sicurezza e best practice
- Sandboxing: isolamento del filesystem e della rete per i comandi Bash
- Non-interactive mode: esegui Claude Code a livello di programmazione con il flag
-p