← Claude Code Hub
✦ Tip #025 Mar 6, 2026

Haz que Claude Code te avise cuando termine (sin molestar)

Un hook Stop + un script que comprueba la app en foco = sonido solo cuando estás en otra app. Cero notificaciones molestas.

Claude Code tiene un evento llamado Stop que se dispara cada vez que termina de responder. Puedes conectarle un hook que ejecute cualquier comando del sistema — incluido un sonido. El truco está en que solo suene cuando no estás mirando la terminal, para no volverse loco con cada respuesta corta.

El hook usa osascript para preguntar a macOS qué app tiene el foco. Si no es tu terminal, reproduce un sonido del sistema. Si estás en la terminal, silencio. Resultado — el script completo:

#!/bin/bash
# ~/.claude/notify-stop.sh
# Notify when Claude finishes — only if the terminal is not in focus

FRONTMOST=$(osascript -e 'tell application "System Events" to get name of first application process whose frontmost is true' 2>/dev/null)

# Warp se identifica como "stable", no como "Warp"
if [ "$FRONTMOST" != "Warp" ] && [ "$FRONTMOST" != "stable" ]; then
  afplay /System/Library/Sounds/Glass.aiff &
fi

Configuración

1. Crear el script

cat > ~/.claude/notify-stop.sh << 'EOF'
#!/bin/bash
FRONTMOST=$(osascript -e 'tell application "System Events" to get name of first application process whose frontmost is true' 2>/dev/null)

if [ "$FRONTMOST" != "Warp" ] && [ "$FRONTMOST" != "stable" ]; then
  afplay /System/Library/Sounds/Glass.aiff &
fi
EOF
chmod +x ~/.claude/notify-stop.sh

Si usas otra terminal, cambia "Warp" y "stable" por el nombre de tu app. Para descubrir cómo se identifica, ejecuta:

osascript -e 'tell application "System Events" to get name of first application process whose frontmost is true'

2. Registrar el hook

Añade esto a tu ~/.claude/settings.json (global, para todos los proyectos):

{
  "hooks": {
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "~/.claude/notify-stop.sh"
          }
        ]
      }
    ]
  }
}

3. Elegir otro sonido (opcional)

macOS incluye varios sonidos en /System/Library/Sounds/. Algunos:

# Escuchar las opciones
afplay /System/Library/Sounds/Ping.aiff
afplay /System/Library/Sounds/Pop.aiff
afplay /System/Library/Sounds/Purr.aiff
afplay /System/Library/Sounds/Hero.aiff
afplay /System/Library/Sounds/Submarine.aiff

Referencia

Concepto Detalle
Evento Stop Se dispara cuando Claude termina de responder. No se dispara si el usuario interrumpe.
osascript Permite consultar a macOS qué app tiene el foco via AppleScript.
afplay Reproductor de audio nativo de macOS. El & al final evita bloquear a Claude.
Warp = "stable" Warp se identifica como "stable" en System Events, no como "Warp". Gotcha común.
Ubicación del hook ~/.claude/settings.json para global, .claude/settings.json para un proyecto.

Official docs: Guía práctica de hooks

Requisitos

  • macOS (el script usa osascript y afplay)
  • Para Linux: sustituir osascript por xdotool y afplay por paplay

Relacionado: Computer use — cuando el terminal no basta · Modo headless

Guía gratuita

51 tips para dominar Claude Code.

Una página por tip. Cinco capítulos. Lo que de verdad uso a diario en producción — sin teoría, sin humo.

  • I. Empieza bien 10 tips
  • II. Conciencia 3 tips
  • III. Maestría 22 tips
  • IV. Autonomía 10 tips
  • V. Comparativa 6 tips
¿Eres desarrollador/a Web profesional?

Recibirás la guía por email · Te unes a la newsletter Gravitas · Cancela cuando quieras

de 51
#

Wmedia · 51 Tips
Guía gratuita · 51 tips · 5 capítulos

51 tips para dominar Claude Code.

¿Eres desarrollador/a Web profesional? · Cancela cuando quieras