Când îi ceri lui Claude Code o refactorizare amplă sau investigarea unui set complex de teste, execuția poate dura câteva minute bune. Pentru a nu sta blocat privind terminalul, sistemul de Hooks permite executarea automată de acțiuni înainte sau după ce agentul rulează.
Poți configura hook-uri de notificare (de exemplu trimiterea unei alerte pe desktop prin `osascript` pe macOS sau `notify-send` pe Linux când agentul a terminat treaba), hook-uri de validare (rularea obligatorie a linter-ului automat înainte ca agentul să predea comanda) sau actualizarea de metrici în dashboard-ul echipei.
Configurarea se realizează simplu în fișierul de configurare global `~/.claude/config.json` sau local în directorul proiectului.
Sintaxă, opțiuni și concepte cheie
| Opțiune / Concept | Descriere practică |
|---|---|
on_task_complete |
Script sau comandă executată automat când agentul a finalizat cu succes un obiectiv. |
on_task_fail |
Trigger declanșat când agentul întâmpină o eroare critică sau o comandă eșuează repetat. |
pre_edit_hook |
Script de verificare rulat înainte ca agentul să modifice un fișier protejat. |
Environment Variables |
Variabile de mediu injectate în hook conținând timpul de execuție, numărul de fișiere modificate și costul estimat. |
Exemple practice de terminal și cod
Exemplul 1: Configurarea unei notificări audio pe macOS la finalizarea unui task lung
Adăugarea hook-ului în configurația utilizatorului.
// ~/.claude/config.json
{
"hooks": {
"on_task_complete": "osascript -e 'display notification \"Claude Code a finalizat sarcina!\" with title \"Claude Code\"' && say 'Gata'",
"on_task_fail": "osascript -e 'display notification \"Eroare la execuție\" with title \"Claude Code Alert\"'"
}
}
Rezultat & Impact
Ești notificat instant pe desktop chiar dacă lucrezi în altă aplicație.
Greșeli frecvente și bune practici
- Configurarea unui hook blocant care așteaptă input de la utilizator, înghețând sesiunea CLI a agentului.
- Rularea unor scripturi grele de rețea fără timeout în hook-urile automate.