Hooks
Los hooks son aceleradores y protecciones — no reemplazan a los planes, contratos,
revisiones ni comprobaciones. Cada ruta se direcciona mediante event + routeId + matcher,
y las rutas de protección fallan de forma cerrada.
Rutas gestionadas
Sección titulada «Rutas gestionadas»| Evento | Ruta | Matcher | Qué hace |
|---|---|---|---|
SessionStart | .default | todas las sesiones | inyecta el paquete de reanudación de la sesión anterior |
PreToolUse | .edit 🛡 | Edit / Write | retiene las ediciones hasta que se aprueba un plan |
PreToolUse | .subagent 🛡 | Task / Agent | acota el trabajo delegado |
PostToolUse | .edit | Edit / Write | comprobaciones de deriva de arquitectura + contrato |
PostToolUse | .bash | Bash | rastrea los comandos de shell |
PostToolUse | .always | todas las herramientas | añade al rastro de eventos |
UserPromptSubmit | .default | todos los prompts | enruta la intención, expone el estado del plan |
Stop | .default 🛡 | parada de sesión | escribe el siguiente paquete de traspaso |
🛡 = falla de forma cerrada.
Hooks consultivos de cambio mínimo
Sección titulada «Hooks consultivos de cambio mínimo»Una capa consultiva opcional acompaña varias rutas — SessionStart, UserPromptSubmit,
PostToolUse.edit y Stop — señalando la expansión de alcance frente a los archivos
previstos de la tarea. No es bloqueante y escribe evidencia determinista en
.ai/harness/checks/minimal-change.latest.json. Actívala mediante la opción de adhesión de la
política del harness; el scaffold y la adopción por migración la conectan por ti.
Dónde viven
Sección titulada «Dónde viven»La fuente instalable es assets/hooks/; el runtime activo resuelve dando prioridad al
central. Los archivos de nivel de usuario ~/.claude/settings.json y ~/.codex/hooks.json
son los adaptadores de host que despachan cada evento hacia el harness. Los archivos
locales del repositorio .claude/hooks/ y .codex/hooks.json son objetivos heredados de
limpieza — solo se conservan tus propios hooks custom-*.sh.