Automatiza Tu Flujo de Trabajo de Desarrollo con Claude Code Hooks
Los Hooks te permiten ejecutar comandos de shell personalizados cuando Claude Code toma acciones específicas. Auto-formatea al guardar, bloquea ediciones peligrosas o inyecta contexto automáticamente.
Los Hooks de Claude Code son comandos de shell que se ejecutan automáticamente en respuesta a eventos. Cuando Claude Code edita un archivo, ejecuta un comando o inicia una sesión, tus hooks se disparan. Esto te permite construir salvaguardas, imponer estándares y automatizar configuración repetitiva sin intervención manual.
Qué eventos de hook están disponibles
| Evento | Cuándo se dispara | Caso de uso común |
|---|---|---|
| PreToolUse | Antes de que Claude ejecute una herramienta | Bloquear operaciones peligrosas, validar entradas |
| PostToolUse | Después de que Claude ejecute una herramienta | Auto-formatear archivos editados, ejecutar linters |
| Notification | Cuando Claude envía una notificación | Registrar en archivo, enviar a Slack |
| SessionStart | Cuando comienza una nueva sesión | Inyectar contexto, verificar entorno |
| ConfigChange | Cuando cambia la configuración | Validar configuración |
Cómo crear un hook
Usa el menú interactivo o edita settings.json directamente:
# Configuración interactiva de hooks
claude /hooks
# O editar settings.json directamente
# Proyecto: .claude/settings.json
# Global: ~/.claude/settings.jsonAquí tienes un settings.json con hooks configurados:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"command": "npx prettier --write "$CLAUDE_FILE_PATH"",
"description": "Auto-formatear archivos editados con Prettier"
}
],
"PreToolUse": [
{
"matcher": "Edit|Write",
"command": "echo $CLAUDE_FILE_PATH | grep -q \.env && echo 'BLOQUEADO: No se pueden editar archivos .env' && exit 1 || exit 0",
"description": "Bloquear ediciones a archivos .env"
}
],
"SessionStart": [
{
"command": "cat .claude/context-injection.md",
"description": "Inyectar contexto adicional al inicio de sesión"
}
]
}
}Cuáles son los hooks más útiles
1. Auto-formatear al editar
Ejecuta Prettier, Black o gofmt cada vez que Claude Code edita un archivo:
// Hook PostToolUse
{
"matcher": "Edit|Write",
"command": "npx prettier --write \"$CLAUDE_FILE_PATH\""
}2. Bloquear ediciones a archivos sensibles
Previene que Claude Code modifique archivos de entorno, secretos o configuraciones críticas:
// Hook PreToolUse
{
"matcher": "Edit|Write",
"command": "echo $CLAUDE_FILE_PATH | grep -qE \"\.env|\.secret|credentials\" && exit 1 || exit 0"
}3. Re-inyectar contexto después de compactación
Cuando Claude Code compacta su ventana de contexto, detalles importantes pueden perderse. Un hook puede re-inyectar información crítica:
// Hook PostToolUse para compactación
{
"matcher": "Compact",
"command": "cat .claude/critical-context.md"
}Empieza con el hook de auto-formateo. Es el hook de mayor valor con menor riesgo. Una vez que te sientas cómodo, añade protección de archivos e inyección de contexto.