Hooks de Claude Code: automatiza lo que repites cada día
Los hooks de Claude Code ejecutan cosas solas: que corra los tests, que te avise al terminar y que no toque lo que no debe. Tres casos reales.
Durante meses escribí la misma frase todos los días: "cuando termines, pásame el formateador". Todos los días. Como si contratas a alguien y cada mañana le recuerdas que ficha al entrar.
Los hooks son la manera de dejar de decirlo. Le explicas una vez qué tiene que pasar y cuándo, y a partir de ahí pasa solo, sin que dependa de que tú te acuerdes ni de que el modelo esté de buen humor.
Es de las cosas de Claude Code que menos gente usa y más tiempo ahorran. Te cuento los tres que yo tengo puestos y cómo se montan.
¿Qué puedo automatizar con los hooks de Claude Code?
Un hook es una orden que se ejecuta sola en un momento concreto de la sesión. No es una instrucción que le das al modelo esperando que la cumpla: es un programa que se lanza sí o sí, decida el modelo lo que decida.
Esa diferencia es la clave entera. Lo que pones en las instrucciones del proyecto es una petición. Lo que pones en un hook es una ley.
Los momentos en los que puedes engancharte son básicamente estos: antes de que use una herramienta, después de que la use, cuando termina de responder, cuando la sesión arranca y cuando va a hacer algo que necesita tu permiso.
Con esos cinco momentos se cubre casi todo lo que la gente automatiza de verdad.
Dónde se configuran
En el archivo de ajustes, dentro de la carpeta de configuración de Claude en tu proyecto. Es un archivo de texto con formato JSON donde defines, para cada momento, qué comando se ejecuta.
Se puede poner a nivel de proyecto (solo afecta a ese proyecto) o a nivel global (afecta a todo lo que hagas). Yo tengo la mayoría a nivel de proyecto, porque lo que tiene sentido en un sitio no lo tiene en otro.
Un detalle práctico: en vez de escribir el JSON a mano, díselo a Claude. "Quiero que cada vez que edites un archivo se ejecute tal comando, móntame el hook". Lo escribe él, que para eso está. Yo no he escrito un hook a mano en mi vida.
Hook 1: que corra las comprobaciones sin que se lo pida
El más útil de todos y el que más veces se recomienda.
La idea: cada vez que Claude termine de escribir en un archivo, se lanza el formateador y el revisor de código. Si algo falla, el resultado del fallo le vuelve a llegar a él, así que lo arregla en el mismo momento, sin que tú tengas que revisar nada.
Se engancha al momento "después de usar una herramienta", filtrando por las herramientas de edición.
Lo que cambia en el día a día: se acabó el "está todo hecho" seguido de un archivo con el formato torcido. El código sale ya pasado por el mismo filtro siempre, y sobre todo sale igual tanto si lo escribes tú como si lo escribe él.
Si trabajas con documentos en vez de con código, la versión equivalente es igual de útil: un comando que revise ortografía, o que verifique que la estructura de los archivos es la que esperas.
Hook 2: que te avise cuando termine
Este es el que más contento me tiene, y es una tontería.
Le lanzas una tarea larga, te vas a hacer otra cosa, y vuelves cada dos minutos a mirar si ha terminado. Eso, multiplicado por veinte veces al día, es una manera muy eficaz de no concentrarte en nada.
El hook se engancha al momento en el que Claude termina de responder y lanza una notificación. En Mac, con un sonido del sistema y un aviso. Se hace con una línea.
Si quieres pasarte de listo, la notificación puede irse a otro sitio: un mensaje a Telegram, un aviso en el móvil. Yo lo tengo con sonido en local y con mensaje al móvil cuando estoy con cosas largas en el servidor. Eso ya se sale del hook y entra en terreno de automatización y agentes con IA, pero el disparador sigue siendo el mismo.
Hook 3: el que impide tocar lo que no se debe
Este es de seguridad y es el que más agradeces el día que lo agradeces.
Se engancha al momento "antes de usar una herramienta", mira qué va a hacer, y si el comando cumple una condición que tú has definido, lo bloquea. El hook devuelve un código de error y la acción no llega a ejecutarse.
Yo tengo bloqueadas tres cosas: escribir en la carpeta de archivos de configuración sensible, ejecutar borrados recursivos, y tocar nada del directorio de datos en producción.
Lo bueno de que sea un hook y no una instrucción es justo eso: no depende de que el modelo lo interprete bien un martes por la tarde con la conversación larga. Es un portero que no razona.
Lo que se te va a atascar
El formato del JSON. Un corchete de más y los hooks dejan de cargarse enteros, sin avisar de forma obvia. Si has montado uno y no pasa nada, lo primero que hay que mirar es si el archivo de ajustes está bien formado.
Los filtros demasiado amplios. Si enganchas un comando a todas las herramientas sin filtrar, se ejecuta constantemente y te ralentiza la sesión entera. Filtra por la herramienta concreta que te interesa.
Los comandos que tardan. El hook se ejecuta en el flujo, así que si lanzas algo que tarda cuarenta segundos, Claude se queda esperando cuarenta segundos cada vez. Lo pesado, en segundo plano.
Las rutas relativas. El hook no siempre se ejecuta desde donde tú crees. Rutas absolutas y te ahorras una tarde de "pues a mí me funcionaba".
Probarlo en el proyecto bueno. No lo hagas. Monta el hook en una carpeta de pruebas, comprueba que dispara cuando debe, y luego lo mueves. Especialmente los de bloqueo: un filtro demasiado agresivo te deja el proyecto inutilizable y tardas un rato en entender por qué.
Hooks y comandos: no son lo mismo
Se confunden a menudo. Un comando personalizado es algo que tú invocas cuando quieres: escribes una barra y el nombre, y se ejecuta. Un hook se ejecuta solo, sin que lo llames.
Los dos ahorran tiempo pero resuelven cosas distintas. El comando es para lo que haces a menudo pero decides cuándo. El hook es para lo que tiene que pasar siempre, decidas tú lo que decidas. Si lo que quieres es lo primero, te interesa más crear tus propios comandos en Claude Code, que además es más fácil de montar.
Y si acabas de aterrizar en todo esto y te suena a chino, mejor empieza por el principio, que lo tengo ordenado en Claude Code para no programadores.
Y ahora qué
Monta el de la notificación primero. Es una línea, no puede romper nada y lo vas a agradecer el mismo día.
Después mira tu historial de la última semana y busca la frase que has repetido más veces. Esa frase es tu segundo hook. En mi caso era el formateador, en el tuyo será otra, pero la hay: siempre hay una cosa que le estás recordando todos los días como si fuera nueva.
Cuando la automatizas, deja de ocupar sitio en tu cabeza. Y eso es lo que estás comprando en realidad, no los cuatro segundos que tardabas en escribirla.
Este tipo de piezas pequeñas son las que acaban formando un sistema que trabaja por ti. Es lo que enseño a montar en Yo SA.
Sigue leyendo
Los mejores MCP para Claude Code en 2026: probados uno a uno
Los MCP que uso a diario, los que instalé y acabé borrando, y los que todavía no merecen el hueco de contexto que ocupan.
Cómo conectar Claude Code con tus herramientas usando MCP
MCP es el enchufe que conecta la IA con tu Notion, tu correo o tu base de datos. Qué es, cómo se instala uno y qué falla siempre.
Cómo programar publicaciones en redes con Claude y Metricool
Automatiza la programación de tus publicaciones en Instagram y otras redes con Claude y Metricool, sin ir cliente por cliente subiendo a mano.
Cómo migré años de notas de Notion a Obsidian con Claude Code
Exporté mi Notion, se lo solté a Claude Code sin plan y en minutos tenía todas las notas en Obsidian con los enlaces funcionando. El proceso real.