Les Hooks vous permettent d'automatiser les réactions aux événements dans Crew. Lorsqu'un outil se déclenche, qu'une session démarre ou qu'un fichier change, un Hook peut exécuter un script, injecter du contexte ou bloquer l'action.
Ouvrez Agent Capabilities → Hooks. Vous pouvez consulter, créer, modifier et supprimer des Hooks à partir du navigateur. Chaque Hook affiche son déclencheur, son action et, s'il y a lieu, un modèle de correspondance optionnel.
Les Hooks sont des fichiers JSON situés dans ~/.kiro/crew/hooks/ (ou, au niveau du projet, dans .kiro/hooks/). Chaque fichier peut définir un ou plusieurs Hooks.
Un Hook comporte trois parties :
| Déclencheur | Se déclenche quand |
|---|---|
SessionStart | Une nouvelle session commence |
PreToolUse | Avant qu'un outil soit sur le point de s'exécuter |
PostToolUse | Après qu'un outil s'est exécuté |
PreTaskExec | Avant que le statut d'une tâche de Spec soit défini à in_progress |
PostTaskExec | Après que le statut d'une tâche de Spec soit défini à completed |
PostFileSave | Un fichier est enregistré |
PostFileCreate | Un fichier est créé |
PostFileDelete | Un fichier est supprimé |
UserPromptSubmit | Un message est envoyé à l'agent |
Stop | Une exécution de l'agent se termine |
Exécute une commande shell. La commande reçoit le contexte de la session en JSON sur l'entrée standard (stdin).
À utiliser pour : exécuter des analyseurs de code (linters), déclencher des builds, envoyer des notifications, valider des changements.
Les codes de sortie ont de l'importance :
0 — succès (la sortie est transmise pour certains déclencheurs)2 — bloquer l'action (pour PreToolUse, UserPromptSubmit)Injecte une requête statique dans le contexte du modèle.
À utiliser pour : ajouter des rappels, faire respecter des modèles, injecter du contexte sur l'état actuel.
Un Hook qui exécute l'analyseur de code chaque fois qu'un fichier TypeScript est enregistré :
PostFileSave\.(ts|tsx)$npm run lintUn Hook qui ajoute un rappel avant toute écriture de fichier :
PreToolUsefs_write|str_replacePostTaskExecnpm run testLes Hooks PreToolUse peuvent bloquer un appel d'outil en se terminant avec le code 2. C'est ainsi que vous ajoutez des règles de refus personnalisées en plus des 137 modèles intégrés. L'agent voit le blocage et tente une approche différente.
Le Hook est actif immédiatement — aucun redémarrage n'est nécessaire.
Hooks