Introduction aux hooks
Introduction aux hooks
Les hooks permettent d’executer des commandes avant ou apres que Claude tente d’utiliser un outil. Ils sont extremement utiles pour automatiser des workflows comme formater le code apres une modification, lancer des tests quand des fichiers changent, ou bloquer l’acces a certains fichiers.
Comment fonctionnent les hooks
Rappelons d’abord le flux normal de Claude Code. Quand vous posez une question, votre requete est envoyee au modele Claude avec les definitions d’outils. Claude peut decider d’utiliser un outil en fournissant une reponse formatee, puis Claude Code execute cet outil et renvoie le resultat.
Les hooks s’inserent dans ce processus, vous permettant d’executer du code juste avant ou juste apres l’execution de l’outil.
Il existe deux types de hooks :
| Type | Moment | Capacite |
|---|---|---|
| PreToolUse | Avant l’appel d’un outil | Peut bloquer l’operation |
| PostToolUse | Apres l’appel d’un outil | Peut fournir du feedback |
Configuration des hooks
Les hooks sont definis dans les fichiers de parametres de Claude. Vous pouvez les ajouter dans :
- Global —
~/.claude/settings.json(affecte tous les projets) - Projet —
.claude/settings.json(partage avec l’equipe) - Projet personnel —
.claude/settings.local.json(parametres personnels)
Vous pouvez ecrire les hooks a la main dans ces fichiers ou utiliser la commande /hooks dans Claude Code.
Hooks PreToolUse
Les hooks PreToolUse s’executent avant l’execution d’un outil. Ils incluent un matcher qui specifie quels types d’outils cibler :
{
"PreToolUse": [
{
"matcher": "Read",
"hooks": [
{
"type": "command",
"command": "node /chemin/vers/hooks/read_hook.js"
}
]
}
]
}
Votre commande recoit les details de l’appel d’outil que Claude veut faire, et vous pouvez laisser passer ou bloquer l’operation.
Hooks PostToolUse
Les hooks PostToolUse s’executent apres l’execution d’un outil :
{
"PostToolUse": [
{
"matcher": "Write|Edit|MultiEdit",
"hooks": [
{
"type": "command",
"command": "node /chemin/vers/hooks/edit_hook.js"
}
]
}
]
}
Comme l’outil a deja ete execute, les hooks PostToolUse ne peuvent pas bloquer l’operation. En revanche, ils peuvent executer des operations de suivi ou fournir du feedback supplementaire a Claude.
Applications pratiques
- Formatage de code — formater automatiquement les fichiers apres edition
- Tests — lancer les tests automatiquement quand des fichiers changent
- Controle d’acces — empecher Claude de lire ou modifier certains fichiers
- Qualite de code — lancer des linters ou des verificateurs de types
- Journalisation — tracer les fichiers que Claude consulte ou modifie
- Validation — verifier les conventions de nommage ou les standards de code
Les hooks PreToolUse vous donnent le controle sur ce que Claude peut faire, tandis que les hooks PostToolUse vous permettent d’ameliorer ce que Claude a fait.