Workbranch › Guide

Guida

Come gestire i permessi in Claude Code

Claude Code chiede conferma prima di eseguire comandi o modificare file: troppe richieste ti rallentano, troppo poche possono essere rischiose. Questa guida spiega le richieste, le modalità di permesso e le regole che puoi salvare, così approvi una volta il lavoro di routine e tieni bloccate le parti pericolose.

Aggiornato 30 ottobre 2026

In breve: rispondi a ogni richiesta con Yes (sì), Yes, and don't ask again (sì, e non chiedere più) o No, e premi Shift+Tab per cambiare modalità, come accept edits o plan. Per approvare definitivamente i comandi di routine, digita /permissions o aggiungi a .claude/settings.json regole allow come Bash(npm run *), e regole deny come Read(./.env) per ciò che Claude non deve mai toccare.

Questa guida segue la documentazione di Claude Code di Anthropic a ottobre 2026. Sei alle prime armi con Claude Code? Parti da come iniziare con Claude Code.

Su cosa chiede conferma Claude Code

AzioneChiede in modalità Manual?Quanto dura "don't ask again"
Leggere file, cercareNo, dentro le tue cartelle di lavoroNon serve
Comandi di shellSì, tranne un insieme integrato di comandi di sola letturaPer sempre, per repository e comando
Modificare o scrivere fileSìFino alla fine della sessione
Scaricare una pagina webSì, tranne alcuni siti di documentazionePer sempre, per repository e dominio
Ricerca webSìPer sempre, per repository

Una richiesta mostra cosa vuole fare Claude e le tue opzioni. Nella maggior parte delle richieste puoi spostarti su Yes o No e premere Tab per aggiungere un commento; con No, il commento arriva a Claude come motivazione e Claude continua a lavorare tenendone conto.

Scegliere una modalità di permesso

Premi Shift+Tab durante una sessione per scorrere le modalità; la barra di stato mostra quella attiva. Puoi anche partire direttamente in una modalità con claude --permission-mode plan.

ModalitàCosa faQuando usarla
Manual (default)Chiede la prima volta che viene usato ogni strumentoVuoi vedere tutto
Accept edits (acceptEdits)Applica senza chiedere le modifiche ai file e semplici comandi sui file come mkdir o mv nel tuo progettoTi fidi del compito e rivedrai il diff
Plan (plan)Esplora e propone un piano; nessuna modifica finché non lo approviModifiche grandi o poco chiare
Auto (auto)Salta le richieste di routine; un classificatore in background confronta comandi e richieste di rete con la tua richiestaCompiti più lunghi con meno interruzioni
Don't ask (dontAsk)Rifiuta tutto ciò che richiederebbe conferma, esegue solo ciò che è già approvatoScript blindati e CI; non è nel ciclo di Shift+Tab, si avvia con --permission-mode dontAsk
Bypass (bypassPermissions)Salta le richieste, anche per le cartelle protette come .gitSolo in un container o una VM isolati

Le versioni recenti avviano le sessioni interattive nel terminale e in VS Code in modalità auto, che funziona con tutti i piani, ma solo con i modelli più recenti. Per scegliere tu la modalità iniziale, imposta "defaultMode" sotto permissions in ~/.claude/settings.json. Auto e bypass impostati nei file di impostazioni di un progetto vengono ignorati, quindi un repository non può attivarli al posto tuo.

Salvare regole allow, ask e deny

  1. In una sessione, digita /permissions. La finestra elenca ogni regola e il file di impostazioni da cui proviene, e ti permette di aggiungere o rimuovere regole. Le modifiche valgono dalla prossima azione di Claude.
  2. Oppure modifica direttamente un file di impostazioni. Le regole condivise del team vanno in .claude/settings.json (fanne il commit); le tue vanno in .claude/settings.local.json o, per tutti i progetti, in ~/.claude/settings.json.
  3. Scrivi le regole come Tool o Tool(pattern):
    • Bash(npm run *): qualsiasi script npm
    • Bash(git commit *): i commit, ma non gli altri comandi git
    • Read(./.env): il file .env del progetto
    • WebFetch(domain:example.com): le pagine di quel sito
    • mcp__github__*: tutti gli strumenti di un server MCP chiamato github

Un tipico punto di partenza:

{"permissions": {"allow": ["Bash(npm run *)", "Bash(git commit *)"], "deny": ["Bash(git push *)", "Read(./.env)", "Read(./secrets/**)"]}}

Le regole vengono controllate in un ordine fisso: prima deny, poi ask, poi allow. Un deny vince sempre, anche su un allow più specifico, e una regola ask chiede conferma anche se corrisponde pure un allow.

Lavorare in sicurezza

Se non funziona

Fonti

Domande frequenti

Posso dire a Claude in CLAUDE.md di non eseguire certi comandi?

Puoi, ma nulla lo impone. CLAUDE.md orienta le scelte di Claude, mentre Claude Code applica solo regole di permesso, modalità e hook. Usa una regola deny per tutto ciò che non deve mai succedere.

Dove viene salvata la mia scelta "don't ask again"?

Per i comandi e i domini web scrive una regola in .claude/settings.local.json nella radice del repository git, quindi vale per le sessioni future lì. Le approvazioni per le modifiche ai file durano solo fino alla fine della sessione.

La mia azienda può bloccare queste impostazioni?

Sì. Gli amministratori possono distribuire impostazioni gestite che le impostazioni utente e di progetto non possono sovrascrivere, compresa la disattivazione della modalità bypass o auto.