Claude Code trae una notificación integrada: cuando Claude termina o espera en un prompt de permisos y parece que no estás, te avisa a través del terminal. El ajuste preferredNotifChannel decide cómo. El valor por defecto, "auto", envía una notificación de escritorio en iTerm2, Ghostty y Kitty, y no hace nada en la mayoría de los demás terminales. Ponlo en "terminal_bell" para hacer sonar el carácter de campana en cualquier terminal, desde /config (donde se llama Local notifications) o en ~/.claude/settings.json.
01La solución rápida
Si no oyes nada cuando Claude termina, añade esto a ~/.claude/settings.json:
{
"preferredNotifChannel": "terminal_bell"
}
Luego asegúrate de que tu terminal haga algo con la campana: reproducir un sonido, hacer rebotar el icono del Dock, parpadear la pestaña o mostrar una notificación. Ese ajuste está en el terminal, no en Claude Code. En Mac, Windows y Linux, la mayoría de los terminales tienen una sección de "campana" o "alertas" en sus preferencias.
02Todos los valores de preferredNotifChannel
"auto" (por defecto)Notificación de escritorio en iTerm2, Ghostty y Kitty. En Apple Terminal, el carácter de campana solo si la campana audible de ese perfil está desactivada. En los demás, nada"terminal_bell"Hace sonar el carácter de campana en cualquier terminal"iterm2"Envía una notificación de escritorio de iTerm2"iterm2_with_bell"Notificación de escritorio de iTerm2 más la campana"kitty"Envía una notificación de escritorio de Kitty"ghostty"Envía una notificación de escritorio de Ghostty"notifications_disabled"No envía nadaEl ajuste puede ir en cualquier archivo de configuración: de usuario (~/.claude/settings.json), de proyecto (.claude/settings.json) o local (.claude/settings.local.json). Las versiones antiguas lo guardaban en ~/.claude.json, y Claude Code sigue leyendo el valor si quedó ahí.
03Cuándo salta la notificación integrada
Según la documentación de Anthropic, la alerta integrada usa los mismos tiempos que el hook Notification. En una sesión de terminal:
- Prompt de permisos: cuando el prompt lleva unos seis segundos esperando sin que pulses ninguna tecla. Cada tecla que pulsas reinicia la espera.
- Terminado: unos 60 segundos después de que Claude se detenga, y solo si no has escrito nada desde entonces y no queda ningún agente en segundo plano en ejecución.
Así que la alerta integrada de "terminado" no es instantánea a propósito. Está pensada para avisarte cuando te has ido, no para molestarte mientras miras. Si quieres una alerta en cuanto termine un turno, usa un hook Stop (consulta la guía del Stop hook).
04Terminal por terminal
iTerm2 (macOS)
iTerm2 recibe una notificación de escritorio por defecto, pero iTerm2 solo la muestra después de que lo permitas:
- Abre Settings > Profiles > Terminal.
- Marca Notification Center Alerts.
- Haz clic en Filter Alerts y activa Send escape sequence-generated alerts.
Comprueba también que iTerm2 tenga permiso para mostrar notificaciones en System Settings > Notifications.
Apple Terminal (macOS)
Apple Terminal no recibe notificación de escritorio. Con "auto", Claude Code envía una campana silenciosa solo cuando detecta que Audible bell está desactivado en el perfil de la ventana activa. La campana se muestra entonces como un destello de la ventana, o como un rebote en el Dock si Terminal está en segundo plano, siempre que el perfil tenga activada la opción Visual bell o la de rebote en el Dock.
Ojo con un detalle. Si aceptaste el prompt de configuración del terminal que Claude Code muestra la primera vez, se ejecutó /terminal-setup, que desactiva la campana audible en tu perfil de Apple Terminal. Para oír un sonido, usa "terminal_bell" y vuelve a activar Audible bell en Settings > Profiles > Advanced.
Ghostty y Kitty (macOS y Linux)
Ambos reciben una notificación de escritorio sin configurar nada, y ambos la reenvían al centro de notificaciones de tu sistema operativo.
Todo lo demás
Windows Terminal, GNOME Terminal, Konsole, Alacritty, WezTerm, Warp y los terminales de los IDE no reciben nada por defecto. Configura "terminal_bell" y activa la gestión de la campana en el propio terminal, o usa un hook. Los terminales de los IDE tienen sus propias peculiaridades, que se explican en la guía de VS Code, Cursor y JetBrains.
05Por SSH y dentro de tmux
La notificación de escritorio es una secuencia de escape que interpreta el terminal de tu propio ordenador, así que te llega incluso cuando Claude Code se ejecuta en un servidor remoto por SSH. Ghostty y Kitty la reenvían sin configuración adicional. iTerm2 necesita los ajustes de alertas de arriba.
Dentro de tmux, la secuencia se pierde a menos que permitas el passthrough. Añade esto a ~/.tmux.conf y ejecuta tmux source-file ~/.tmux.conf:
set -g allow-passthrough on
Las sesiones desconectadas son otro problema: si no hay ningún terminal conectado, nada puede mostrar la alerta. Consulta la guía de tmux y notificaciones por SSH.
06La alerta integrada y los hooks a la vez
Los hooks de Notification se ejecutan junto a la alerta integrada; no la sustituyen. La documentación de Anthropic deja claro que los hooks se disparan incluso con "notifications_disabled": el ajuste solo cambia cómo te avisa Claude Code, no si tu hook se ejecuta. Así puedes repartirlo limpiamente:
- Deja
"auto"o"terminal_bell"para la alerta cuando estás en el escritorio. - Añade un hook para todo lo demás, como un sonido del sistema, una notificación de escritorio en un terminal que no recibe ninguna o un push al móvil con ntfy.
- Si un hook ya muestra una notificación de escritorio, configura
"notifications_disabled"para no ver dos.
Por ejemplo, esto reproduce un sonido en macOS cada vez que Claude necesita tu atención, en cualquier terminal:
{
"hooks": {
"Notification": [
{
"hooks": [{ "type": "command", "command": "afplay /System/Library/Sounds/Glass.aiff" }]
}
]
}
}
Los equivalentes para Linux y Windows están en la guía de Linux y la guía de Windows.
07Límites de las opciones integradas
- Se queda en el ordenador. La campana o la notificación sale del terminal de tu pantalla. Si te vas a la cocina, te la pierdes.
- Depende del terminal. Muchos terminales populares no reciben nada hasta que cambias un ajuste.
- No puedes responder. Te dice que Claude está esperando, pero igualmente tienes que volver al teclado.
Remote Control de Anthropic, con la app móvil de Claude, es la forma oficial de recibir pushes en el móvil. La guía comparativa lo analiza junto a las demás opciones.
08Dónde encaja Claude Code Notifier
Si trabajas en tu escritorio, puede que la alerta integrada más "terminal_bell" sea todo lo que necesitas. Claude Code Notifier es para cuando no estás delante. Su herramienta de línea de comandos, ccn, se ejecuta como hook de Claude Code, así que funciona en cualquier terminal en Mac, Windows y Linux, con o sin ajustes de campana. Por sí sola muestra una notificación de escritorio cuando Claude termina, necesita un permiso o hace una pregunta. Con un móvil vinculado, puedes permitir o denegar permisos, responder a las preguntas de Claude y enviar la siguiente instrucción desde el móvil, y si has escrito en los últimos 30 segundos no te espera nada en el móvil. Consulta la página de ccn.
09Preguntas frecuentes
¿Cómo desactivo las notificaciones de Claude Code?
Configura "preferredNotifChannel": "notifications_disabled", o elígelo en Local notifications dentro de /config. Los hooks de Notification que tengas configurados se siguen ejecutando.
¿Por qué iTerm2 no muestra las notificaciones de Claude Code?
iTerm2 necesita tener marcado Notification Center Alerts y activado Send escape sequence-generated alerts en Profiles > Terminal > Filter Alerts, además del permiso de notificaciones en los ajustes de macOS. Dentro de tmux, configura también allow-passthrough on.
¿Por qué no suena la campana en Apple Terminal?
La configuración de terminal de Claude Code desactiva la campana audible de Apple Terminal. Configura "terminal_bell" y vuelve a activar Audible bell en la pestaña Advanced del perfil.
¿Funciona la campana del terminal en VS Code?
No por defecto. Configura "terminal_bell" y revisa los ajustes de campana del terminal de VS Code, o usa un hook. La guía de IDE tiene los detalles.