Vai al contenuto
Cristalroi

AI per e-commerce

Hook e permessi di Claude Code: le regole che valgono sempre

Un CLAUDE.md viene letto, un divieto viene applicato. Se un file non deve essere toccato o una prova deve partire sempre, la regola va scritta dove il modello non può decidere.

Di Gennaro Napoletano · 6 minuti di lettura

Scritto con l'aiuto dell'AI, riletto da Gennaro Napoletano.

Dito che sposta un interruttore luminoso sullo schermo di un telefono: una regola che si accende e vale sempre

In breve

I permessi decidono che cosa Claude Code può fare senza chiedere: le regole deny, ask e allow si valutano in quest’ordine e il divieto vince. Gli hook sono comandi che partono da soli in certi momenti, per esempio prima di una modifica. A differenza di un CLAUDE.md, li applica lo strumento: valgono qualunque cosa decida il modello.

Quali sono le modalità dei permessi?

Sono il livello di partenza: decidono quanto Claude può fare senza fermarsi. Durante una sessione si cambiano con Maiusc+Tab.

ModalitàChe cosa fa da soloQuando usarla
ManualLegge; per il resto chiedeLavori delicati, per capire che cosa fa
Edit automatically (acceptEdits)Legge, modifica i file ed esegue i comandi comuni sui file, come mkdir, touch, mv e cp; gli altri li chiedeLavoro normale, sotto i tuoi occhi
PlanStudia e propone, senza modificarePrima di una decisione
AutoQuasi tutto, con un controllo automaticoCompiti lunghi su cartelle con backup
dontAskSolo ciò che è già consentito; il resto è negatoScript con un elenco esatto
BypassSalta i controlliSolo in un ambiente isolato

Rispondere «sì, e non chiedermelo più» non vale sempre allo stesso modo: per un comando del terminale o un dominio web diventa una regola salvata per quel repository, per la modifica dei file vale solo fino alla fine della sessione.

Ricontrollato l’8 novembre 2026 su Claude Code 2.1.319.

Come si scrivono le regole dei permessi?

In un file di impostazioni, con tre elenchi. L’ordine è sempre lo stesso, deny poi ask poi allow, e quanto è specifica una regola non cambia l’ordine: un divieto generale batte un permesso preciso.

{
  "permissions": {
    "allow": ["Bash(python test/verifica.py)"],
    "ask": ["Bash(git push *)"],
    "deny": ["Read(./.env)", "Edit(./input/**)"]
  }
}
FileVale perIn git
~/.claude/settings.jsonTe, ovunqueNo
.claude/settings.jsonChi lavora al progettoSì
.claude/settings.local.jsonTe, in quel progettoNo

Fra un valore e l’altro vince il file più specifico, ma le liste come permissions.allow si sommano: ogni file aggiunge voci senza togliere quelle degli altri. Su Windows i percorsi completi si scrivono in forma Unix: C:\Dati diventa //c/Dati/**.

Una regola sui comandi confronta il testo del comando: lo stesso programma lanciato in un altro modo può sfuggire. Per i file più delicati, come chiavi e password, il modo più sicuro resta non tenerli nella cartella di lavoro.

Tablet su una scrivania, con una conversazione fatta di blocchi colorati senza scritte

Quali dati del negozio dare a un assistente

Prima dei permessi viene la domanda su che cosa fargli leggere. La pagina spiega come passare a Claude i dati di un e-commerce e dove restano i suoi limiti.

Che cos’è un hook?

Un comando che Claude Code lancia da solo quando succede qualcosa. Si scrive nel file di impostazioni e non dipende dal modello: se l’evento accade, l’hook parte.

EventoQuandoEsempio d’uso
PreToolUsePrima di usare uno strumentoBloccare la modifica di una cartella
PostToolUseDopo aver usato uno strumentoFormattare il file modificato
StopQuando Claude sta per fermarsiNon lasciarlo finire se le prove falliscono
SessionStartAll’avvio della sessioneMettere nel contesto lo stato del progetto
NotificationQuando Claude ti cercaAvvisarti con una notifica

Un esempio inventato: a ogni modifica di un file, parte la verifica del feed.

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [
          { "type": "command", "command": "python test/verifica.py" }
        ]
      }
    ]
  }
}

Oltre ai comandi esistono altri tipi di hook: http, prompt, agent, che affida il controllo a un sotto-agente, e mcp_tool, che chiama lo strumento di un server MCP.

Come fa un hook a bloccare un’azione?

Con il suo esito: il codice di uscita dice a Claude Code come proseguire. L’errore più comune è pensare che valga allo stesso modo per ogni evento.

EsitoChe cosa succede
Codice 0Tutto bene. Ciò che scrive sull’uscita degli errori Claude non lo vede
Codice 2Dipende dall’evento: su PreToolUse blocca lo strumento e l’errore torna a Claude; su Stop gli impedisce di fermarsi
Altri codiciErrore che non blocca: l’azione prosegue, a meno che l’hook abbia “onFailure“: “block” (dalla 2.1.295). Su Windows senza Git Bash un hook PreToolUse che fallisce può invece bloccare

Alcuni eventi non possono bloccare nulla: con PermissionRequest, per esempio, il codice 2 non viene considerato. Prima di fidarti di un hook di protezione, fallo scattare apposta su un file di prova. Un hook che non blocca dà la stessa sensazione di sicurezza di uno che funziona.

Su Windows, prima della versione 2.1.316, un hook PowerShell poteva non bloccare con il codice 2 quando il comando cominciava, per esempio, con param o con un cast di tipo. Anche per questo va provato.

Un hook sbagliato può anche fermare ogni modifica, o girare a ogni passo rallentando tutto: meglio aggiungerne uno alla volta. Se un hook non sembra partire, altri rimedi sono nella guida agli errori comuni.

Quando usare che cosa?

La domanda da farsi è: se la regola non viene rispettata una volta, che cosa succede? Se un danno vero, non basta scriverla in un testo.

RegolaDovePerché
Il file delle chiavi non si leggedenyNessuna eccezione
Le prove partono dopo ogni modificaHookNon deve ricordarselo nessuno
I costi sono IVA esclusaCLAUDE.mdÈ un’informazione, non un divieto
Il rapporto settimanale segue cinque passiSkillServe solo quando serve

Le protezioni contano soprattutto quando nessuno guarda: la guida al lavoro in automatico spiega perché in uno script la modalità va sempre scritta.

Per chi lavora sui dati di un negozio, tre regole semplici valgono quasi sempre: i file di partenza non si modificano, le credenziali non stanno dove Claude lavora, niente va caricato su Merchant Center o sul sito senza che una persona lo decida. Su quali dati dare a un modello, e con quali cautele, c’è la pagina su Claude per e-commerce.

Domande frequenti

Un CLAUDE.md può impedire la modifica di un file?

No, è un testo che il modello legge e di solito segue. Per un blocco che valga sempre servono una regola deny o un hook.

Una regola deny vale anche in modalità Auto?

Sì. La documentazione indica che le regole di divieto bloccano in ogni modalità, Bypass compresa.

Perché il mio hook non blocca?

Spesso perché l’evento non può bloccare, oppure il comando non esce con il codice 2. Va provato facendolo scattare su un file di prova.

Dove si scrivono gli hook?

Nei file di impostazioni, per esempio .claude/settings.json nel progetto. Il comando /hooks mostra quelli in vigore.

Fonti

Gennaro Napoletano, esperto di digital analytics e Google Tag Manager, sorride nella sede Google di Dublino

Gennaro Napoletano

Esperto di digital analytics e Google Tag Manager, da oltre 15 anni lavora sui dati degli e-commerce. Nel 2023 Google lo ha invitato nella sua sede di Dublino per i risultati di alcuni e-commerce gestiti da lui. Ha realizzato il portale di marginalità per e-commerce e aiuta aziende e agenzie a fidarsi dei propri numeri. Scopri chi è.

Continua a leggere

CLAUDE.md: che cos’è e come si scrive un file che funziona

Il file di istruzioni di Claude Code: dove metterlo, che cosa scriverci, quanto può essere lungo e perché una regola scritta lì non è ancora un divieto.

Claude Code in automatico: /goal, /loop, script e attività pianificate

Far lavorare Claude Code senza guardarlo: /goal, /loop, attività pianificate, claude -p e copie separate. Che cosa scegliere e quali protezioni servono.

Errori comuni di Claude Code: da dove partire e come risolverli

Istruzioni ignorate, skill che non partono, limiti raggiunti, ripristini falliti, server MCP che non rispondono: i comandi per capire che cosa succede.

Dai file ai tuoi numeri

Che cosa può fare Claude per chi vende online

Legge file, scrive formule e cerca fonti, ma i tuoi costi non li conosce. Ecco dove aiuta davvero, dove no e come passargli i dati.