claude-code-notifier
cómo funciona guías preguntas frecuentes
◐Español
English العربية Deutsch Español Français עברית Italiano 日本語 한국어 Nederlands Polski Português (Brasil) Русский Türkçe Tiếng Việt 简体中文 繁體中文
Empezar
Todas las guías

Cómo recibir una notificación cuando Claude Code termina

Actualizado el 31 de octubre de 2026 · 7 min de lectura
en esta página 01Qué hace Claude Code por sí solo 02Los dos hooks que necesitas 03Una configuración que funciona en macOS 04La misma configuración en Linux y Windows 05Comprueba que funciona 06Recibir el aviso en el móvil 07Preguntas frecuentes

Para recibir una notificación cuando Claude Code termina, añade un hook Stop a ~/.claude/settings.json que ejecute el comando de notificaciones de tu sistema. Stop se dispara en cuanto Claude termina de responder. Para "Claude necesita que haga algo", añade también un hook Notification: se dispara cuando un prompt de permisos lleva unos seis segundos esperando o cuando Claude lleva un minuto inactivo. Ambos funcionan en Mac, Windows y Linux, y una herramienta como Claude Code Notifier puede enviar esos mismos avisos a tu móvil.

01Qué hace Claude Code por sí solo

Claude Code ya intenta avisarte cuando parece que no estás en la terminal. Por defecto envía una notificación de escritorio en iTerm2, Ghostty y Kitty, puede enviar un carácter de campana en Apple Terminal y no hace nada en otras terminales. Además, en iTerm2 tienes que activar los ajustes de alertas para que aparezca algo.

Así que si usas la terminal de VS Code, Warp, Windows Terminal o la mayoría de terminales de Linux, normalmente no recibirás nada. Puedes forzar la campana de la terminal con el ajuste preferredNotifChannel, que explicamos en la guía de la campana de la terminal. Para tener una notificación de escritorio de verdad en cualquier terminal, necesitas un hook.

02Los dos hooks que necesitas

Los hooks son comandos que Claude Code ejecuta en momentos concretos de una sesión. Aquí importan dos:

HookCuándo se disparaPara qué usarlo
StopCuando Claude termina de responder (no cuando lo interrumpes)"Claude ha terminado"
Notification con matcher permission_promptUn prompt de permisos lleva unos seis segundos esperando sin que hayas escrito nada"Claude necesita aprobación"
Notification con matcher idle_promptUnos 60 segundos después de que Claude termine, si no has escrito nada desde entoncesUn recordatorio de que te toca a ti

Stop es el rápido: se ejecuta al final de cada turno, al instante. Los tipos de Notification dependen de que no estés mirando: cada pulsación de tecla los retrasa, así que no te avisan mientras estás delante. Si quieres una señal en el momento en que Claude pide permiso, usa el hook PermissionRequest, explicado en la guía de PermissionRequest.

Para ver cómo funcionan los hooks en general (eventos, matchers, archivos de configuración, códigos de salida), consulta Los hooks de Claude Code explicados.

03Una configuración que funciona en macOS

Abre ~/.claude/settings.json (créalo si no existe) y añade esto. Si el archivo ya tiene un objeto hooks, añade Stop y Notification como claves dentro de él en lugar de reemplazarlo.

{
  "hooks": {
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "osascript -e 'display notification \"Claude has finished\" with title \"Claude Code\"'"
          }
        ]
      }
    ],
    "Notification": [
      {
        "matcher": "permission_prompt|idle_prompt",
        "hooks": [
          {
            "type": "command",
            "command": "osascript -e 'display notification \"Claude Code needs your attention\" with title \"Claude Code\"'"
          }
        ]
      }
    ]
  }
}

Stop no tiene matcher, así que se dispara en cada turno. El matcher de Notification lo limita a los dos tipos que significan "vuelve".

Si no aparece nada, puede que macOS esté bloqueando Script Editor, que es lo que usa osascript para mostrar notificaciones. Ejecuta osascript -e 'display notification "test"' una vez en Terminal, luego abre Ajustes del Sistema > Notificaciones, busca Script Editor y activa Permitir notificaciones.

04La misma configuración en Linux y Windows

Mantén la estructura JSON de arriba y cambia las cadenas de command.

Linux (necesita un daemon de notificaciones de escritorio, así que no funciona en un servidor headless):

"command": "notify-send 'Claude Code' 'Claude has finished'"

Si no tienes notify-send, instala libnotify-bin en Debian y Ubuntu, o el equivalente de tu distribución. Para SSH y servidores, consulta notificaciones por SSH.

Windows (PowerShell). El ejemplo de Anthropic abre un cuadro de mensaje en lugar de un toast en la esquina:

"command": "powershell.exe -Command \"[System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms'); [System.Windows.Forms.MessageBox]::Show('Claude has finished', 'Claude Code')\""

El cuadro puede abrirse detrás de la ventana del terminal, así que prueba antes el comando en PowerShell. En WSL, powershell.exe tiene que ser accesible mediante la interoperabilidad con Windows. La guía de Windows explica otras opciones.

05Comprueba que funciona

  1. Escribe /hooks en Claude Code. Tus hooks deberían aparecer en Stop y Notification.
  2. Pregúntale algo breve a Claude. Cuando responda, debería aparecer la notificación de Stop.
  3. Pídele algo que necesite permiso, cambia a otra ventana y espera. La notificación de permission_prompt llega a los seis segundos más o menos.

Los cambios en settings.json normalmente se aplican al instante. Si un hook no aparece en /hooks, comprueba que el archivo sea JSON válido (sin comas finales ni comentarios). Arranca Claude Code con claude --debug para ver qué hizo cada hook. Tienes más soluciones en la lista de comprobación de problemas.

06Recibir el aviso en el móvil

Una notificación de escritorio solo sirve si estás delante del ordenador. En cuanto te alejas, necesitas el aviso en otro sitio. Hay tres opciones habituales:

  • Un servicio de push propio, como ntfy, al que llamas con curl desde los mismos hooks. Barato y flexible. Consulta la guía de ntfy.
  • Un webhook de chat para Telegram, Slack o Discord. Ideal si ya vives en el chat. Consulta la guía de webhooks de chat.
  • Claude Code Notifier, que configura los hooks por ti y te deja responder desde el móvil.

Las opciones caseras están bien si solo quieres un aviso. Su límite es que son unidireccionales: te enteras de que Claude está esperando, pero igualmente tienes que volver al teclado para aprobar cualquier cosa.

Claude Code Notifier es una herramienta independiente (no la hace Anthropic) con dos partes: ccn, una herramienta de línea de comandos gratuita para Mac, Windows y Linux, y apps para iPhone y Android. Se instala con una sola línea:

curl -fsSL https://claudecodenotifier.com/install.sh | sh

En Windows, usa irm https://claudecodenotifier.com/install.ps1 | iex en PowerShell (el soporte para Windows está en beta). Tienes otras opciones, como Homebrew, npx @touchtap/ccn y el plugin de Claude Code, en la página de ccn.

La instalación añade siete entradas de hook que ejecutan ccn hook, deja el resto de tu settings.json tal cual y guarda una copia de seguridad única a su lado. Incluso sin móvil, ccn muestra una notificación de escritorio en tu ordenador cuando Claude termina, necesita un permiso o hace una pregunta. Esa parte es gratis y funciona sin conexión.

Vincula un móvil con ccn pair y además tendrás:

  • un push de "Claude ha terminado" en cuanto acaba un turno;
  • solicitudes de permiso que puedes permitir una vez, permitir para la sesión o denegar;
  • las preguntas de opción múltiple de Claude, respondidas desde el móvil;
  • un cuadro de seguimiento para enviarle a Claude su siguiente instrucción justo cuando termina.

Si has escrito algo en los últimos 30 segundos, no se espera al móvil y el terminal pregunta como siempre. Las apps requieren una suscripción o una compra de por vida; consulta los precios. En Vincular un móvil se explica la configuración paso a paso.

07Preguntas frecuentes

¿Por qué mi Notification hook tarda tanto en dispararse?

El tipo permission_prompt espera a que el prompt lleve unos seis segundos en pantalla sin que escribas, y idle_prompt espera unos 60 segundos después de que Claude termine. Ese retraso es intencionado, para no avisarte mientras estás mirando. Usa un hook Stop para un aviso instantáneo de "terminado" y un hook PermissionRequest para un aviso instantáneo de "necesita aprobación".

¿Se dispara el Stop hook si pulso Esc para interrumpir a Claude?

No. Stop no se ejecuta cuando el turno acaba porque lo interrumpiste. Tampoco cuando termina con un error de la API, como un límite de uso. Para eso Claude Code lanza un evento aparte, StopFailure, al que puedes añadir un hook de la misma forma.

¿Un Stop hook se dispara tras cada mensaje o solo cuando termina toda la tarea?

Tras cada turno. Claude Code no sabe cuándo has terminado tu tarea en general, solo cuándo ha dejado de responder. Si tienes una conversación larga, recibirás un aviso por respuesta. Si te parecen demasiados, usa la notificación idle_prompt, que solo salta cuando llevas un minuto fuera más o menos.

¿Funciona en el terminal de VS Code o JetBrains?

Sí. Los hooks los ejecuta Claude Code, no el terminal, así que funcionan en cualquier terminal, incluidos los de los IDE. Lo que sí depende del terminal son las notificaciones integradas. Consulta la guía de terminales de IDE.

¿Puedo recibir avisos en el móvil sin instalarle nada?

En parte. Un hook que publique en ntfy o en un webhook de chat puede llegar a una app que ya tengas, pero solo te avisa de que ha pasado algo. Para aprobar o responder desde el móvil necesitas algo que devuelva tu respuesta al hook, que es lo que hacen las apps de Claude Code Notifier.

Claude Code Notifier Recibe un push en el móvil cuando Claude Code termina o te necesita, y aprueba, deniega o responde desde ahí. La herramienta de línea de comandos ccn es gratis en Mac, Windows y Linux.
Descargar para iOS Descargar para Android Instalar ccn

Guías relacionadas

  • El Stop hook de Claude Code: ejecuta algo cuando Claude terminaCómo funciona el Stop hook de Claude Code, qué input recibe, cómo ejecutar un comando cuando Claude termina y cómo hacer que Claude siga trabajando de forma segura.
  • El Notification hook de Claude Code: cuándo se dispara y cómo usarloCuándo se dispara el Notification hook de Claude Code, qué significan permission_prompt e idle_prompt, qué entrada recibe y por qué espera antes de dispararse.
  • Los hooks de Claude Code explicados: cada evento y para qué sirveQué son los hooks de Claude Code, dónde van en settings.json, cómo funcionan los matchers, la entrada y los códigos de salida, y para qué sirve cada evento de hook.
  • Las notificaciones integradas de Claude Code: la campana del terminal y preferredNotifChannelCómo funcionan las alertas integradas de Claude Code, qué hace cada valor de preferredNotifChannel y cómo configurar iTerm2, Apple Terminal, Kitty, Ghostty y tmux.
claude-code-notifier

Claude Code Notifier es una aplicación independiente de terceros. No está afiliada, respaldada ni patrocinada por Anthropic, PBC. "Claude" y "Claude Code" son marcas comerciales de Anthropic, PBC.

apps App para iOS App para Android ccn para macOS, Windows y Linux Todas las guías
legal Política de privacidad Condiciones del servicio Otros idiomas © 2026 touchtap. Todos los derechos reservados. TouchTap Ltd está registrada en Inglaterra y Gales, número de empresa 13942589.