Claude Code hooks: guida operativa ai 4 hook in produzione
Guida ai 4 hook di Claude Code (PreToolUse, PostToolUse, Notification, Stop) con esempi reali da una pipeline di 35+ automazioni in produzione da febbraio 2026.
Claude Code hooks: guida operativa
Claude Code espone 4 hook configurabili in .claude/settings.json. Ognuno ha un momento preciso nella vita di un tool call.
I 4 hook
PreToolUse Parte prima che il tool giri. Usi: bloccare Bash pericolose, loggare ogni comando, fermarsi prima del danno.
Esempio: intercettare ogni chiamata Bash e scrivere il comando nel log prima dell'esecuzione.
PostToolUse Legge il risultato vero del tool, non l'exit code. Exit 0 non è una verifica: è un'opinione del processo su se stesso.
Usi: verificare che il file esista sul bucket, controllare l'output reale, loggare il risultato effettivo.
Notification Parte ogni volta che l'agente si ferma (pausa, attesa input, interruzione). Usi: avvisi nel terminale, notifiche senza polling e senza sleep loop.
Stop Parte prima che l'agente chiuda la sessione. È l'unico posto dove lo stato viene scritto in modo garantito. Usi: cleanup file temporanei, scrittura log finale, aggiornamento del registro.
Quale usare
- Hai una Bash che non deve girare in certi contesti? PreToolUse.
- Hai un job che dice SUCCESS ma non produce output? PostToolUse.
- Vuoi sapere quando l'agente si ferma senza tenere un terminale aperto? Notification.
- Hai uno stato da salvare prima della chiusura? Stop.
Configurazione
I hook si configurano in .claude/settings.json (project-level) o ~/.claude/settings.json (user-level). Ogni hook accetta un matcher (il tool da intercettare) e un command da eseguire.
Per pipeline in produzione: usare PostToolUse su ogni tool che scrive su disco o su rete. Il risultato reale è l'unica verifica che conta.