BookinglyTech News
Inteligencia artificial

Un hook de bash obliga a Claude Code a auditar su propio trabajo antes de decir que ha terminado

Un desarrollador ha compartido un mecanismo de dos hooks que impiden que un LLM cierre una sesión sin autoevaluarse, y lo hace leyendo el transcript JSONL.

2 min de lecturaDev.to0 vistas

El desarrollador bokuwalily ha compartido una solución para uno de los problemas más repetidos en el desarrollo asistido por LLM: que el modelo declare "implementado" y "pruebas pasan" sin que sea cierto. Su propuesta son dos hooks de bash para Claude Code, el agente de programación de Anthropic. Un hook de PostToolUse levanta una bandera cuando se escribe o edita un archivo, y un hook de Stop, con 67 líneas, la recoge, lee el transcript JSONL de la sesión y, si no encuentra los indicios de una auditoría, bloquea el cierre con exit 2.

El objetivo no es pedir educación al modelo, sino forzarlo estructuralmente. Como explica el autor, "intentar inculcar un hábito mediante un prompt es como garantizar la seguridad laboral con un cartel en la pared". El hook actúa cuando el LLM intenta terminar la conversación: lee el último mensaje del asistente y busca palabras clave que indiquen que se ha revisado el resultado. Si no están, no deja cerrar la sesión y envía una petición de autoevaluación por stderr.

El diseño tiene en cuenta varios fallos de la primera versión. La más importante: no dispara la auditoría en turnos donde no ha cambiado nada. La comprobación de ese detalle la hace el PostToolUse hook, que crea un archivo cero en /tmp cuando se ejecuta Write o Edit. El Stop hook solo actúa si ese archivo existe. Así se evita que cada conversación informal acabe con un "por favor, audita".

También se salta las sesiones de automatización sin supervisión humana. Si el transcript arranca con "entrypoint":"sdk-cli", el hook sale sin hacer nada. Y limita a dos las peticiones de auditoría por sesión para evitar bucles.Según el autor, la solución ya ha pasado por un clima real de producción: una auditoría interna del 2026-07-11 concluyó que "la auditoría se ha convertido en un ritual y está arruinando el trabajo real". La versión actual corrige eso. El código completo está en su perfil de GitHub, donde también se puede seguir su trabajo sobre entornos autónomos con Claude Code.

Lo interesante de esta pieza no es que sea un milagro, sino que ataca el problema desde el entorno, no desde la promesa. Cuando el propio contenedor rechaza un "done" sin evidencia, el modelo no tiene más remedio que comportarse. Es un pequeño empujón hacia la fiabilidad que muchos equipos que delegan implementaciones en LLMs llevan tiempo pidiendo.