Modalità disponibili
Ogni modalità fa un diverso compromesso tra comodità e supervisione. La tabella seguente mostra cosa Claude può fare senza un prompt di autorizzazione in ogni modalità.| Modalità | Cosa viene eseguito senza chiedere | Migliore per |
|---|---|---|
default | Solo letture | Iniziare, lavoro sensibile |
acceptEdits | Letture, modifiche ai file e comandi filesystem comuni (mkdir, touch, mv, cp, ecc.) | Iterare su codice che stai revisionando |
plan | Solo letture | Esplorare una codebase prima di modificarla |
auto | Tutto, con controlli di sicurezza in background | Compiti lunghi, ridurre l’affaticamento dei prompt |
dontAsk | Solo strumenti pre-approvati | CI bloccato e script |
bypassPermissions | Tutto | Solo container e VM isolati |
bypassPermissions, le scritture su percorsi protetti non vengono mai auto-approvate, proteggendo lo stato del repository e la configurazione di Claude da corruzione accidentale.
Le modalità impostano la linea di base. Stratificate regole di autorizzazione sopra per pre-approvare o bloccare strumenti specifici. Le regole di negazione e le regole di richiesta esplicita si applicano in ogni modalità, inclusa bypassPermissions. Le regole di autorizzazione non hanno effetto in quella modalità perché tutto il resto è già approvato.
Cambia modalità di autorizzazione
Puoi cambiare modalità durante una sessione, all’avvio o come impostazione predefinita persistente. La modalità viene impostata attraverso questi controlli, non chiedendo a Claude in chat. Seleziona la tua interfaccia di seguito per vedere come cambiarla.- CLI
- VS Code
- JetBrains
- Desktop
- Web e mobile
Durante una sessione: premi Come impostazione predefinita: imposta Lo stesso flag
Shift+Tab per cicla default → acceptEdits → plan. La modalità corrente appare nella barra di stato. Non ogni modalità è nel ciclo predefinito:auto: appare quando il tuo account soddisfa i requisiti della modalità auto; il ciclo verso auto commuta le modalità senza un prompt di confermabypassPermissions: appare dopo che hai avviato con--permission-mode bypassPermissions,--dangerously-skip-permissions, o--allow-dangerously-skip-permissions; la variante--allow-aggiunge la modalità al ciclo senza attivarladontAsk: non appare mai nel ciclo; impostala con--permission-mode dontAsk
plan, con bypassPermissions per primo e auto per ultimo. Se hai entrambi abilitati, ciclerai attraverso bypassPermissions sulla strada verso auto.All’avvio: passa la modalità come flag.defaultMode in settings.--permission-mode funziona con -p per esecuzioni non interattive.Auto-approva le modifiche ai file con la modalità acceptEdits
La modalitàacceptEdits consente a Claude di creare e modificare file nella tua directory di lavoro senza chiedere conferma. La barra di stato mostra ⏵⏵ accept edits on mentre questa modalità è attiva.
Oltre alle modifiche ai file, la modalità acceptEdits auto-approva i comandi Bash filesystem comuni: mkdir, touch, rm, rmdir, mv, cp e sed. Questi comandi vengono anche auto-approvati quando prefissati con variabili di ambiente sicure come LANG=C o NO_COLOR=1, o wrapper di processo come timeout, nice o nohup. Come le modifiche ai file, l’auto-approvazione si applica solo ai percorsi all’interno della tua directory di lavoro o additionalDirectories. I percorsi al di fuori di tale ambito, le scritture su percorsi protetti e tutti gli altri comandi Bash richiedono ancora conferma.
Quando lo strumento PowerShell è abilitato, la modalità acceptEdits auto-approva anche Set-Content, Add-Content, Clear-Content e Remove-Item su percorsi nell’ambito, insieme ai loro alias comuni. Le stesse regole di ambito e percorsi protetti si applicano.
Utilizza acceptEdits quando vuoi revisionare le modifiche nel tuo editor o tramite git diff dopo il fatto piuttosto che approvare ogni modifica inline. Premi Shift+Tab una volta dalla modalità predefinita per entrarvi, o avvia direttamente con essa:
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 e scrive un piano, ma non modifica il tuo codice sorgente. I prompt di autorizzazione si applicano ancora come nella modalità predefinita. Entra in plan mode premendoShift+Tab o prefissando un singolo prompt con /plan. Puoi anche avviare in plan mode dalla CLI:
Shift+Tab di nuovo per uscire da plan mode senza approvare un piano.
Rivedi e approva un piano
Quando il piano è pronto, Claude lo presenta e ti chiede come procedere. Da quel prompt puoi:- Approvare e avviare in modalità auto
- Approvare e accettare le modifiche
- Approvare e revisionare manualmente ogni modifica
- Continuare a pianificare con feedback
- Perfezionare con Ultraplan per la revisione basata su browser
Shift+Tab, o prefissa il tuo prossimo prompt con /plan.
Premi Ctrl+G per aprire il piano proposto nel tuo editor di testo predefinito e modificarlo direttamente prima che Claude proceda. Quando showClearContextOnPlanAccept è abilitato, ogni opzione di approvazione offre anche di cancellare il contesto di pianificazione per primo.
Accettare un piano nomina anche la sessione automaticamente dal contenuto del piano, a meno che tu non abbia già impostato un nome con --name o /rename.
Imposta plan mode come predefinito
Per rendere plan mode il predefinito per un progetto, impostadefaultMode in .claude/settings.json:
Elimina i prompt di autorizzazione con auto mode
Auto mode richiede Claude Code v2.1.83 o successivo.
- Piano: Tutti i piani.
- Owner: su Team ed Enterprise, un Owner deve abilitarlo nelle impostazioni di amministrazione di Claude Code prima che gli utenti possano attivarlo. Gli amministratori possono anche bloccarlo impostando
permissions.disableAutoModesu"disable"nelle impostazioni gestite. - Modello: sull’API Anthropic, Claude Opus 4.6 o successivo, o Sonnet 4.6 o successivo. Su Amazon Bedrock, Google Cloud Vertex AI, Microsoft Foundry e sessioni gateway app Claude con accesso, solo Claude Sonnet 5, Opus 4.7 e Opus 4.8. I modelli più vecchi, inclusi Sonnet 4.5, Opus 4.5, Haiku e modelli claude-3, non sono supportati su nessun provider.
- Provider: disponibile per impostazione predefinita sull’API Anthropic. Su Amazon Bedrock, Google Cloud Vertex AI, Microsoft Foundry e sessioni gateway app Claude con accesso, auto mode è disattivato fino a quando non imposti
CLAUDE_CODE_ENABLE_AUTO_MODE.
defaultMode: "auto" nelle impostazioni e la sessione inizia in modalità default senza errore, l’impostazione è probabilmente in .claude/settings.json o .claude/settings.local.json. Claude Code v2.1.142 e successivo ignorano auto da questi file quindi un repository non può concedere a se stesso auto mode. Spostalo in ~/.claude/settings.json.
Abilita auto mode su Bedrock, Vertex AI o Foundry
Su Amazon Bedrock, Google Cloud Vertex AI, Microsoft Foundry e sessioni gateway app Claude con accesso, auto mode non appare nel cicloShift+Tab fino a quando CLAUDE_CODE_ENABLE_AUTO_MODE non è impostato su 1. La variabile funziona in Claude Code v2.1.158 e successivo. Solo Claude Sonnet 5, Opus 4.7 e Opus 4.8 sono supportati su questi provider.
Per abilitarlo per uno sviluppatore, aggiungi la variabile al blocco env in ~/.claude/settings.json:
env alle impostazioni gestite.
Una volta impostata la variabile, auto mode appare nel ciclo Shift+Tab per ogni sessione. Per renderlo la modalità di avvio predefinita, imposta anche "permissions": {"defaultMode": "auto"} nelle impostazioni utente o gestite. Su questi provider, Claude Code ignora defaultMode: "auto" a meno che CLAUDE_CODE_ENABLE_AUTO_MODE non sia anche impostato.
Per impedire agli sviluppatori di abilitare auto mode, imposta disableAutoMode su "disable" nelle impostazioni gestite. Questo sostituisce la variabile di abilitazione.
Se ti connetti attraverso un gateway LLM configurato con ANTHROPIC_BASE_URL, auto mode potrebbe essere già raggiungibile senza la variabile di abilitazione, perché il gateway instrada le richieste attraverso l’API Anthropic. Questo non si applica a una sessione gateway app Claude con accesso, che è la sua stessa classe di provider e richiede la variabile di abilitazione. L’impostazione disableAutoMode si applica allo stesso modo in entrambe le configurazioni.
Cosa blocca il classificatore per impostazione predefinita
Il classificatore si fida della tua directory di lavoro e dei remoti configurati del tuo repo. Tutto il resto è trattato come esterno fino a quando non configuri l’infrastruttura attendibile. Bloccato per impostazione predefinita:- Scaricare ed eseguire codice, come
curl | bash - 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 della sessione
- Force push o push diretto a
main git reset --hard,git checkout -- .,git restore .,git clean -fd,git stash drop, ogit stash clear, che il classificatore presume scarterebbero le modifiche non sottoposte a commitgit commit --amendquando il commit in HEAD non è stato creato in questa sessioneterraform destroy,pulumi destroy,cdk destroy, oterragrunt destroy, e applicare un piano che distrugge risorse
- Scrittura in un gestore di segreti, o modifica di record DNS o certificati TLS
- Unione di una pull request che nessun umano ha approvato, approvazione della propria pull request di Claude, o disabilitazione dei controlli CI
- Pubblicazione di un commento che è esso stesso un comando per l’automazione, come
atlantis applyo il/deployo/mergedi un bot - Attivazione, ramping o eliminazione di un feature flag di produzione
- Applicazione di modifiche all’infrastruttura a un ambito IaC protetto, o drenaggio e rimozione di nodi del cluster
- Scritture in un cluster di calcolo condiviso che vanno oltre la risorsa che hai nominato, come un selettore di etichette o
--allche cattura i lavori di altri utenti - Creazione di risorse Kubernetes che vengono eseguite su ogni nodo o intercettano il traffico del cluster, come DaemonSets e webhook di ammissione
- Shell interattive o port-forward in un target remoto sensibile
- Apertura di un tunnel o reverse shell che rende un servizio locale raggiungibile da internet pubblico
- Stampa di una credenziale o token live nella trascrizione o in un file
- Accesso a una posizione PII o dati regolamentati, o copia di dati da una
- Instradamento di un’installazione di pacchetto intorno al tuo registro di pacchetti interno a un registro pubblico
- Esecuzione di un comando con un flag che disarma una guardia di sicurezza, come
--insecure - Azioni del browser Claude in Chrome che potrebbero inviare contenuto della pagina, cookie o credenziali off-origin
- Operazioni su file locali nella tua directory di lavoro
- Installazione di dipendenze dichiarate nei tuoi file di blocco o manifesti
- Lettura di
.enve 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
- Eliminazione dei lavori esatti che Claude ha creato in precedenza nella stessa sessione
- Lettura, revisione o scrittura di codice, configurazioni e modelli di minaccia relativi alla sicurezza come parte del tuo compito
- Messaggi tra agenti che lavorano insieme nella stessa sessione multi-agente
- Invio di dati ai domini attendibili, bucket e servizi che elenchi in
environment. Questo copre solo il flusso di dati, non operazioni distruttive o di credenziali sulla stessa infrastruttura - Navigazione Claude in Chrome a un dominio interno attendibile, localhost, o un URL che hai nominato
claude auto-mode defaults per vedere gli elenchi di regole completi. Se le azioni di routine vengono bloccate, un amministratore può aggiungere repo attendibili, bucket e servizi tramite l’impostazione autoMode.environment: vedi Configura auto mode.
Confini che dichiari nella conversazione
Il classificatore tratta i confini che dichiari nella conversazione come un segnale di blocco. Se dici a Claude “non fare il push” o “aspetta che io riveda prima di fare il deploy”, il classificatore blocca le azioni corrispondenti anche quando le regole predefinite le consentirebbero. Un confine rimane in vigore fino a quando non lo sollevi in un messaggio successivo. Il giudizio di Claude che una condizione è stata soddisfatta non lo solleva. I confini non vengono archiviati come regole. Il classificatore li rilegge dalla trascrizione ad ogni controllo, quindi un confine può andare perso se la compattazione del contesto rimuove il messaggio che lo ha dichiarato. Per una garanzia assoluta, aggiungi una regola di negazione.Quando auto mode ritorna indietro
Ogni azione negata mostra una notifica e appare in/permissions sotto la scheda Recently denied, dove puoi premere r per ritentarla con un’approvazione manuale.
Se il classificatore blocca un’azione 3 volte di fila o 20 volte totali, auto mode si mette in pausa e Claude Code riprende a richiedere. Approvare l’azione richiesta riprende auto mode. Queste soglie non sono configurabili. Qualsiasi azione consentita ripristina il contatore consecutivo, mentre il contatore totale persiste per la sessione e si ripristina solo quando il suo limite attiva un fallback.
In modalità non interattiva con il flag -p, i blocchi ripetuti interrompono la sessione poiché non c’è un utente a cui richiedere.
I blocchi ripetuti di solito significano che il classificatore manca di contesto sulla tua infrastruttura. Utilizza /feedback per segnalare falsi positivi, o fai in modo che un amministratore configuri l’infrastruttura attendibile.
Come il classificatore valuta le azioni
Come il classificatore valuta 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, ad eccezione delle scritture su percorsi protetti, che vengono instradate al classificatore anche quando una regola allow corrisponde
- Le azioni di sola lettura e le modifiche ai file nella tua directory di lavoro vengono auto-approvate, ad eccezione delle scritture su percorsi protetti
- Tutto il resto va al classificatore
- Se il classificatore blocca, Claude riceve il motivo e tenta un’alternativa
- Blanket
Bash(*)oPowerShell(*) - Interpreti con wildcard come
Bash(python*) - Comandi di esecuzione del gestore di pacchetti
- Regole
Agentallow
Bash(npm test) vengono trasferite. Le regole eliminate vengono ripristinate quando esci da auto mode.Il classificatore vede messaggi utente, chiamate di strumenti e il tuo contenuto CLAUDE.md. I risultati degli strumenti vengono rimossi, quindi il contenuto ostile in un file o pagina web non può manipolarlo direttamente. Una sonda lato server separata scansiona i risultati degli strumenti in arrivo e contrassegna il contenuto sospetto prima che Claude lo legga. Per ulteriori informazioni su come questi livelli lavorano insieme, vedi l’annuncio di auto mode e il deep dive tecnico.Come auto mode gestisce i subagent
Come auto mode gestisce i subagent
Il classificatore controlla il lavoro dei subagent in tre punti:
- Prima che un subagent inizi, la descrizione del compito delegato viene valutata, quindi un compito che sembra pericoloso viene bloccato al momento dello spawn.
- Mentre il subagent viene eseguito, ognuna delle sue azioni passa attraverso il classificatore con le stesse regole della sessione padre, e qualsiasi
permissionModenel frontmatter del subagent viene ignorato. - Quando il subagent finisce, il classificatore esamina la sua intera cronologia di azioni; se quel controllo di ritorno segnala una preoccupazione, un avviso di sicurezza viene anteposto ai risultati del subagent.
Costo e latenza
Costo e latenza
Il classificatore viene eseguito su un modello configurato dal server che è indipendente dalla tua selezione
/model, quindi il cambio di modelli non cambia la disponibilità del classificatore. Le chiamate del classificatore contano verso il tuo utilizzo di token. Ogni controllo invia una parte della trascrizione più l’azione in sospeso, aggiungendo un round-trip prima dell’esecuzione. Le letture e le modifiche della directory di lavoro al di fuori dei percorsi protetti saltano il classificatore, quindi l’overhead proviene principalmente da comandi shell e operazioni di rete.Consenti solo strumenti pre-approvati con la modalità dontAsk
La modalitàdontAsk auto-nega ogni chiamata di strumento che altrimenti richiederebbe. Solo le azioni che corrispondono alle tue regole permissions.allow e ai comandi Bash di sola lettura possono essere eseguite; le regole ask esplicite vengono negate piuttosto che richiedere. Questo rende la modalità completamente non interattiva per pipeline CI o ambienti ristretti in cui pre-definisci esattamente cosa Claude può fare. Le sessioni cloud su Claude Code sul web ignorano defaultMode: "dontAsk"; vedi bypassPermissions per i dettagli.
Impostala all’avvio con il flag:
Salta tutti i controlli con la modalità bypassPermissions
La modalitàbypassPermissions disabilita i prompt di autorizzazione e i controlli di sicurezza in modo che le chiamate di strumenti vengono eseguite immediatamente. A partire dalla v2.1.126 questo include le scritture su percorsi protetti, che le versioni precedenti ancora richiedevano. Le regole ask esplicite forzano comunque un prompt in questa modalità, e le rimozioni che interessano la radice del filesystem o la directory home, come rm -rf / e rm -rf ~, ancora richiedono un prompt come protezione contro gli errori del modello. Utilizza questa modalità solo in ambienti isolati come container, VM o dev container senza accesso a Internet, dove Claude Code non può danneggiare il tuo sistema host.
Non puoi entrare in bypassPermissions da una sessione che è stata avviata senza uno dei flag di abilitazione; riavvia con uno per abilitarlo:
--dangerously-skip-permissions è equivalente.
Su Linux e macOS, Claude Code rifiuta di avviarsi in questa modalità quando viene eseguito come root o sotto sudo:
defaultMode: "bypassPermissions" o "dontAsk" dai tuoi file di impostazioni, quindi le impostazioni archiviate di un repository non possono avviare una sessione cloud in modalità bypass-permissions. L’impostazione viene ignorata silenziosamente e la sessione si avvia nella modalità mostrata nel menu a discesa della modalità. Vedi Cambia modalità di autorizzazione per quali modalità offrono le sessioni cloud.
Percorsi protetti
Le scritture su un piccolo insieme di percorsi non vengono mai auto-approvate, in ogni modalità eccettobypassPermissions. Questo previene la corruzione accidentale dello stato del repository e della configurazione di Claude.
| Modalità | Scritture su percorsi protetti |
|---|---|
default, acceptEdits, plan | Richieste di conferma |
auto | Instradate al classificatore |
dontAsk | Negate |
bypassPermissions | Consentite |
permissions.allow nei file di impostazioni non pre-approvano le scritture su percorsi protetti. Il controllo di sicurezza viene eseguito prima che Claude Code valuti le regole allow dalle impostazioni, quindi una voce come Edit(.claude/**) in ~/.claude/settings.json o .claude/settings.json non cambia il risultato per modalità nella tabella sopra. Nelle modalità che richiedono conferma, il prompt per una scrittura .claude/ offre Sì, e consenti a Claude di modificare le proprie impostazioni per questa sessione, che approva le successive scritture .claude/ in quella sessione senza richiedere di nuovo la conferma.
Directory protette:
.git.config/git.vscode.idea.husky.cargo.devcontainer.yarn.mvn.claude, ad eccezione di.claude/worktreesdove Claude archivia i propri git worktrees
.gitconfig,.gitmodules.bashrc,.bash_profile,.bash_login,.bash_aliases,.bash_logout,.zshrc,.zprofile,.zshenv,.zlogin,.zlogout,.profile,.envrc.npmrc,.yarnrc,.yarnrc.yml,.pnp.cjs,.pnp.loader.mjs,.pnpmfile.cjs,bunfig.toml,.bunfig.toml.bazelrc,.bazelversion,.bazeliskrc.pre-commit-config.yaml,lefthook.yml,lefthook.yaml,.lefthook.yml,.lefthook.yamlgradle-wrapper.properties,maven-wrapper.properties.devcontainer.json.ripgreprc,pyrightconfig.json.mcp.json,.claude.json
Vedi anche
- Permissions: regole allow, ask e deny; politiche gestite
- Configure auto mode: dì al classificatore quale infrastruttura la tua organizzazione si fida
- Hooks: logica di autorizzazione personalizzata tramite hook
PreToolUseePermissionRequest - Ultraplan: esegui plan mode in una sessione Claude Code sul web con revisione basata su browser
- Security: salvaguardie e best practice
- Sandboxing: isolamento del filesystem e della rete per i comandi Bash
- Non-interactive mode: esegui Claude Code con il flag
-p