Ir al contenido
Mastering Claude

Inicio / Una instalación estructurada

Una instalación estructurada10 minApplication

Hooks y latido

Los eventos del ciclo de vida disparan hooks según tres cadencias distintas, SessionStart y SessionEnd forman la pareja natural para automatizar el protocolo de memoria, y la consolidación nocturna sigue siendo una tarea programada del sistema operativo que hay que construir uno mismo, no un mecanismo de Claude Code documentado bajo ese nombre.

Un hook es una acción automática disparada por el harness ante un evento preciso del ciclo de vida, nunca una preferencia que el modelo elige seguir o no. La tabla de eventos disponibles se ha ampliado desde mediados de 2026, la figura que acompaña esta lección cifra el recuento exacto y su fecha de medición en lugar de repetirlo aquí.

Tres cadencias, una pareja natural para la memoria

Los eventos de hook no se disparan todos al mismo ritmo. Algunos corren una sola vez por sesión, SessionStart y SessionEnd. Otros corren una vez por turno, como UserPromptSubmit o Stop. Otros más corren en cada llamada a herramienta dentro del bucle de agente, PreToolUse y PostToolUse. Para el protocolo de memoria descrito en conectar la memoria de archivos a git, SessionStart y SessionEnd forman exactamente la pareja buscada: un hook SessionStart dispara el pull antes de la primera lectura, un hook SessionEnd dispara el commit y el push después de la última respuesta. Los hooks SessionEnd comparten entre todos un presupuesto de 1,5 segundos, un push hacia un remote distante no cabe ahí: hace falta un timeout explícito en el hook, lo que eleva el presupuesto compartido hasta sesenta segundos, y un archivo testigo escrito al final para que la sesión siguiente verifique que el push tuvo éxito en lugar de suponerlo.

{
  "hooks": {
    "SessionStart": [
      { "hooks": [{ "type": "command", "command": "cd ~/memoire && git pull", "timeout": 30 }] }
    ],
    "SessionEnd": [
      { "hooks": [{ "type": "command", "command": "cd ~/memoire && git add notes-du-jour.md && git commit -m sync && git push && date > .dernier-sync-reussi", "timeout": 55 }] }
    ]
  }
}

Dos detalles de este ejemplo cuentan tanto como el timeout. Primero, el add de git cita los archivos deseados en lugar de un git add -A que englobaría toda la carpeta sin filtro, lo que respetaría la regla fijada por la lección anterior de pasar un secreto por grep antes de todo push. Luego, la salida estándar de un hook SessionStart, como la de este git pull, entra en el contexto que Claude puede leer, a diferencia de la mayoría de los demás eventos: una carpeta compartida merece por tanto ser vigilada antes de conectar este tipo de hook. La línea de estado sigue la misma lógica de disparo automático: puede refrescarse sola en un intervalo ajustado en segundos, y no en milisegundos como un ajuste más antiguo podría dar a entender.

La consolidación nocturna sigue fuera del producto documentado

Una tarea programada del sistema operativo, que relanza Claude en modo no interactivo a medianoche para consolidar las notas del día, no tiene un equivalente documentado por Anthropic bajo ese nombre preciso: lo que la documentación llama tareas programadas corre en la aplicación de escritorio, no mediante una tarea de Windows o un cron que pilote la herramienta en línea de comandos. El gesto queda por tanto por construir uno mismo, exactamente como el protocolo de la lección anterior, con una salvaguarda explícita contra bucles: la tarea nunca relanza una nueva sesión mientras la anterior no haya escrito su testigo de fin.

Figure 1

Lo que ha cambiado de forma medible desde mediados de 2026

33eventos
contabilizados en la tabla de eventos de hook del ciclo de vida disponibles
code.claude.com/docs/en/hooks, 2026-09-02
1segundo
valor mínimo aceptado para el refresco automático de la línea de estado
code.claude.com/docs/en/statusline, 2026-09-02
La tabla de eventos de hook contaba con unas treinta entradas a mediados de 2026, cuenta con treinta y tres en el momento de la medición, y el intervalo de refresco de la línea de estado se ajusta en segundos, con un mínimo de un segundo.
Figure 2

Un día con el protocolo de memoria conectado a los hooks

Mañana
Apertura de sesión
El hook SessionStart ejecuta el pull de la carpeta memoria antes de la primera respuesta.
Día
Trabajo del día
Los eventos PreToolUse y PostToolUse corren en cada llamada a herramienta, sin intervención manual.
Tarde
Cierre de sesión
El hook SessionEnd comitea y empuja las notas escritas desde el último pull.
Noche
Tarea programada
Un disparador del sistema operativo, fuera del producto documentado bajo ese nombre, relanza una sesión no interactiva para consolidar, con un bloqueo de archivo que rechaza cualquier segundo lanzamiento mientras el primero no haya escrito su testigo de fin.
La cronología muestra los cuatro momentos en que el protocolo de memoria depende de un disparador automático en lugar de un gesto manual, desde el pull de apertura hasta la salvaguarda de la tarea nocturna.
Calíbralo tú mismo

Un administrador añade un hook SessionEnd que ejecuta git push sobre la carpeta memoria, relanza Claude Code, trabaja durante una hora, y luego cierra la sesión con el comando de salida normal. El registro del hook indica una ejecución exitosa.

Escribe en una frase lo que esta situación establece, y en una frase lo que no establece.

Lo que hay que recordar
  • Un hook es una acción ejecutada por el harness ante un evento preciso, nunca una preferencia que el modelo decide seguir o no.
  • Los eventos de hook se reparten en tres cadencias, una vez por sesión, una vez por turno, y una vez por llamada a herramienta, y SessionStart junto con SessionEnd forman la pareja natural para un protocolo de memoria.
  • El presupuesto compartido de 1,5 segundos de los hooks SessionEnd no basta para un git push distante: sin un timeout explícito en el hook y sin testigo de fin, el push puede cortarse sin que nada lo señale.
  • El número de eventos de hook disponibles ha crecido desde mediados de 2026, la lista precisa se verifica en la documentación vigente, y el intervalo de refresco automático de la línea de estado se ajusta en segundos, no en milisegundos.
  • Una consolidación nocturna relanzada por una tarea programada del sistema operativo sigue siendo una técnica que hay que construir uno mismo, no tiene un equivalente documentado por Anthropic bajo ese nombre.
Hazlo ahora

Escribe en tu settings.json un hook SessionStart que ejecute un pull sobre tu carpeta memoria, un hook SessionEnd que comitee y empuje, y luego abre y cierra una sesión de prueba para confirmar que los dos comandos se ejecutaron correctamente.

Verificar en la fuente

Cada afirmación datable de esta lección remite aquí al texto público que la respalda. Una fuente que no se abre no prueba nada.