Aller au contenu

Hooks

Les hooks sont des accélérateurs et des garde-fous — ils ne remplacent pas les plans, les contrats, les revues ou les contrôles. Chaque route est adressée par event + routeId + matcher, et les routes de garde échouent de façon fermée.

ÉvénementRouteMatcherFait
SessionStart.defaulttoutes les sessionsinjecte le paquet de reprise de la session précédente
PreToolUse.edit 🛡Edit / Writeretient les éditions jusqu’à ce qu’un plan soit approuvé
PreToolUse.subagent 🛡Task / Agentdélimite le travail délégué
PostToolUse.editEdit / Writecontrôles de dérive d’architecture + de contrat
PostToolUse.bashBashtrace les commandes shell
PostToolUse.alwaystous les outilsajoute à la trace d’événements
UserPromptSubmit.defaulttous les promptsroute l’intention, fait remonter l’état du plan
Stop.default 🛡arrêt de sessionécrit le prochain paquet de handoff

🛡 = échoue de façon fermée.

La source installable est assets/hooks/ ; le runtime actif résout en priorité le central. Les fichiers utilisateur ~/.claude/settings.json et ~/.codex/hooks.json sont les adaptateurs hôtes qui dispatchent chaque événement dans le harness. Les fichiers repo-local .claude/hooks/ et .codex/hooks.json sont des cibles de nettoyage héritées — seuls vos propres hooks custom-*.sh sont préservés.