Qué son los hooks de Claude Code y para qué sirven

Qué son los hooks de Claude Code y para qué sirven
Ilustración: Digital Brain

Los hooks de Claude Code son acciones que se ejecutan automáticamente en momentos concretos del trabajo con Claude: al abrir una sesión, al cerrarla, antes o después de que use una herramienta. En lugar de acordarte tú de hacer algo cada vez, el hook lo dispara solo. Yo los uso para cargar y guardar contexto entre sesiones, y aquí te explico qué son, para qué sirven y cómo se configuran.

Qué es un hook

Un hook es un enganche: le dices a Claude Code "cuando pase esto, ejecuta esto otro". Ese "cuando pase esto" es un evento del ciclo de vida de la herramienta, y ese "ejecuta esto otro" suele ser un pequeño script o comando tuyo. La gracia es que ocurre solo, sin que tengas que pedirlo cada vez.

Claude Code tiene bastantes eventos donde puedes engancharte, pero en el día a día usarás sobre todo un puñado. Al iniciar una sesión (SessionStart), al terminarla (SessionEnd), cuando envías un mensaje (UserPromptSubmit), antes de que use una herramienta (PreToolUse), después de que la use (PostToolUse), y cuando termina de responder (Stop). Cada uno te deja meter una acción automática en ese instante exacto.

Para qué sirven

Los hooks son el mecanismo para automatizar todo lo que rodea a tu trabajo con Claude, lo de alrededor de la tarea en sí. Con ellos puedes cargar contexto cada vez que abres una sesión, dejar registro de lo que se ha hecho, comprobar algo antes de permitir una acción o guardar el estado al terminar.

Yo los uso justo para eso: para iniciar y cerrar conversaciones de forma ordenada. Al abrir una sesión, cargan el contexto que necesito. Al cerrarla, guardan cosas en mi sistema de memoria, incluida mi memoria infinita, donde vive el contexto de toda la empresa. Así cada sesión empieza sabiendo lo que hay que saber y termina dejando anotado lo importante, sin que yo tenga que acordarme de hacerlo.

Otros usos habituales: un hook que formatea el código con Prettier cada vez que Claude guarda un archivo, uno que lanza los tests después de un cambio para avisarte si algo se ha roto, uno que bloquea tocar el .env o un archivo dentro de .git/, o uno que te manda una notificación cuando Claude necesita tu permiso para algo. Todo eso ocurre solo, en el momento justo.

Cómo se configuran

Los hooks se definen en el archivo settings.json de Claude Code, dentro de una clave hooks. Ahí declaras el evento (por ejemplo, PostToolUse), un matcher opcional que filtra a qué herramienta o situación aplica, y el comando que se dispara.

Dónde pones ese archivo determina el alcance del hook:

  • ~/.claude/settings.json: aplica a todos tus proyectos, en tu máquina.
  • .claude/settings.json dentro del proyecto: aplica solo a ese proyecto, y lo puedes commitear al repo para compartirlo con tu equipo.
  • .claude/settings.local.json: también por proyecto, pero solo tuyo, sin subir a git.

Un hook sencillo es literalmente decir "cuando cierre la sesión, ejecuta este script que guarda una nota". Puedes escribirlo tú a mano o pedirle directamente a Claude que te lo escriba describiendo lo que quieres. Con el comando /hooks dentro de Claude Code ves todos los hooks configurados y en qué evento están, aunque el menú es de solo lectura: para añadir o cambiar uno, edita el JSON.

Un ejemplo real, paso a paso

Para bloquear que Claude toque archivos protegidos como .env o package-lock.json, el hook mira el archivo que se va a editar antes de que ocurra el cambio (evento PreToolUse, filtrado a las herramientas Edit y Write). Si el nombre coincide con la lista protegida, el script termina con código de salida 2, que le dice a Claude Code "bloquea esto", y Claude recibe el motivo para ajustar lo que iba a hacer. Si no coincide, sale con código 0 y la edición sigue su curso. Es la misma lógica que uso para proteger credenciales en mis propios proyectos.

Cuándo te merecen la pena

Los hooks brillan cuando repites siempre el mismo gesto alrededor de tu trabajo: cargar contexto al empezar, guardar al terminar, dejar traza de lo que se hizo. Si te encuentras haciendo esas cosas a mano una y otra vez, un hook te lo quita de la cabeza.

Para un uso ocasional, no los necesitas. Para quien trabaja mucho y en muchas sesiones, como es mi caso, son los que mantienen el contexto vivo entre una sesión y la siguiente. Si además usas skills de Claude Code o tienes un CLAUDE.md bien montado, los hooks son la tercera pata: las skills te dan instrucciones bajo demanda, el CLAUDE.md da contexto permanente, y los hooks disparan acciones automáticas en momentos concretos.

Preguntas frecuentes

¿Necesito saber programar? Ayuda, pero no hace falta ser experto. Un hook puede ser un comando de una línea, y puedes pedirle a Claude que te escriba el script si lo que quieres es más complejo.

¿Son seguros? Un hook mal escrito puede bloquear algo que sí quieres permitir, o dejar pasar algo que debería frenar. Empieza sencillo y pruébalo antes de confiar en él para cosas críticas como proteger archivos.

¿Hay que pagar aparte? No, van incluidos en Claude Code (a julio de 2026). Solo necesitas tener Claude Code instalado y una cuenta que dé acceso a la herramienta.

En una frase

Un hook es la forma de decirle a Claude Code "cada vez que pase X, haz Y sin que yo tenga que pedirlo".

Si quieres ver cómo monto este tipo de automatizaciones sobre Claude Code en mis propios proyectos de Barner y Digital Brain, te lo cuento cada día en la newsletter: digitalbrain.email.


Relacionado