El problema
Cuando trabajas con agentes de IA en tareas largas, tienes dos opciones:
- Esperar mirando — quedarte viendo la pantalla hasta que termine
- Hacer otra cosa — pero luego olvidarte de volver a revisar
Ninguna es ideal. ¿Y si el agente pudiera enviarte una notificación cuando termine?
La solución
Combinamos dos cosas:
- Hooks — acciones automáticas que se ejecutan cuando ocurren ciertos eventos en Claude Code
- ntfy — un servicio gratuito que envía notificaciones a tu teléfono o computadora
Cuando Claude termina una tarea, un hook se activa y te envía una notificación push.
Por qué es confiable
Algo importante: las notificaciones son 100% confiables.
Los agentes de IA son impredecibles en lo que producen. Pero el sistema de notificaciones corre por separado de la IA. Se activa por la aplicación misma, no por las decisiones de Claude.
Piénsalo como un temporizador de horno. El horno no decide cuándo sonar — el temporizador lo hace, automáticamente, cuando se acaba el tiempo.
¿Qué es ntfy?
ntfy (se pronuncia "notify") es un servicio simple de notificaciones push. Te suscribes a un "topic" (como un canal privado), y cualquier cosa enviada a ese topic aparece como notificación en tus dispositivos.
Cómo funciona:
- Eliges un nombre de topic (usa una cadena aleatoria para privacidad)
- Te suscribes desde tu teléfono o computadora
- Cualquier mensaje enviado a ese topic se convierte en notificación
Es gratis, open source, y no requiere cuenta. Ver la documentación de ntfy para más detalles.
¿Qué son los hooks?
Los hooks son comandos que Claude Code ejecuta automáticamente en momentos específicos:
- Cuando envías un mensaje — la app puede ejecutar un comando
- Cuando Claude termina — la app puede ejecutar otro comando
Usamos esto para:
- Guardar lo que pediste (cuando envías un mensaje)
- Enviar una notificación con esa info (cuando Claude termina)
Para la referencia técnica completa, ver la documentación de hooks de Claude Code.
Configuración
1. Instala ntfy en tu teléfono
Descarga la app:
Suscríbete a un topic con un nombre aleatorio (ej., mi-topic-secreto-abc123). Mantén este nombre privado.
2. Crea el script de notificación
Crea una carpeta y archivo para el hook:
mkdir -p ~/.claude/hooks
Crea el archivo ~/.claude/hooks/notify-stop.sh con este contenido:
#!/bin/bash
INPUT=$(cat)
STOP_ACTIVE=$(echo "$INPUT" | jq -r '.stop_hook_active')
[ "$STOP_ACTIVE" = "true" ] && exit 0
TASK=$(cat /tmp/claude_last_task.txt 2>/dev/null || echo "tarea")
CWD=$(echo "$INPUT" | jq -r '.cwd')
PROJECT=$(basename "$CWD")
curl -s -d "[$PROJECT] Listo: $TASK" https://ntfy.sh/TU_TOPIC_AQUI
exit 0
Reemplaza TU_TOPIC_AQUI con el nombre de tu topic.
Hazlo ejecutable:
chmod +x ~/.claude/hooks/notify-stop.sh
3. Configura Claude Code
Edita ~/.claude/settings.json:
{
"hooks": {
"UserPromptSubmit": [
{
"hooks": [
{
"type": "command",
"command": "jq -r '.prompt' | head -c 100 > /tmp/claude_last_task.txt"
}
]
}
],
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "~/.claude/hooks/notify-stop.sh"
}
]
}
]
}
}
4. Reinicia Claude Code
Cierra y vuelve a abrir Claude Code. Los hooks se cargan al inicio.
Cómo lo uso
- Inicio una tarea — le pido a Claude que haga algo
- Cambio a otro trabajo — no necesito estar mirando
- Recibo notificación — el teléfono vibra con
[proyecto] Listo: tu tarea... - Vuelvo — la notificación me recuerda qué pedí
Funciona bien para:
- Tareas largas (refactorización, debugging)
- Ejecutar múltiples sesiones de Claude
- Trabajar lejos de la computadora
Solución de problemas
| Problema | Causa probable | Solución |
|---|---|---|
| Sin notificación | Problema de red | Verificar conexión a internet |
| Mensaje vacío | Herramienta faltante | Instalar jq (brew install jq) |
| Error en script | Permisos | Ejecutar chmod +x en el script |
| No pasa nada | Settings no cargados | Reiniciar Claude Code |
Fuentes
- Documentación de ntfy — guía completa del servicio de notificaciones
- Hooks de Claude Code — referencia oficial para configuración de hooks