claude-code-notifier
come funziona guide faq
◐Italiano
English العربية Deutsch Español Français עברית Italiano 日本語 한국어 Nederlands Polski Português (Brasil) Русский Türkçe Tiếng Việt 简体中文 繁體中文
Inizia
Tutte le guide

Notifiche di Claude Code su macOS

Aggiornato il 31 ottobre 2026 · 6 min di lettura
in questa pagina 01Cosa fa Claude Code da solo 02Un hook di notifica con osascript 03Sapere subito quando Claude finisce 04Mostrare il messaggio reale 05terminal-notifier: clicca per tornare al terminal 06Full immersion e Non disturbare 07Dove si inserisce Claude Code Notifier 08FAQ

Su macOS, Claude Code invia già una notifica desktop in Ghostty, Kitty e iTerm2 (in iTerm2 vanno attivate le impostazioni degli avvisi), ma Apple Terminal e la maggior parte degli altri terminal non ricevono nulla. Per avere una notifica in qualsiasi terminal, aggiungi a ~/.claude/settings.json un hook Notification che esegue osascript -e 'display notification ...', e un hook Stop se vuoi sapere anche il momento esatto in cui Claude finisce. Consenti le notifiche per Script Editor in Impostazioni di Sistema, altrimenti il comando osascript fallisce senza dire nulla.

01Cosa fa Claude Code da solo

Claude Code genera un evento di notifica quando finisce un task o aspetta un permesso e sembra che tu non sia al terminal. Cosa vedi dipende dal terminal, secondo la guida al terminal di Anthropic:

TerminalComportamento predefinito
Ghostty, KittyUna notifica di macOS
iTerm2Una notifica di macOS, dopo aver attivato le impostazioni degli avvisi
Apple TerminalNessun suono. Al massimo un campanello silenzioso, mostrato come lampeggio della finestra o rimbalzo nel Dock se il profilo lo consente
Altri (terminal di VS Code, Warp e così via)Niente

Per iTerm2, apri Settings > Profiles > Terminal, spunta Notification Center Alerts, poi fai clic su Filter Alerts e attiva Send escape sequence-generated alerts. Controlla anche che iTerm2 possa inviare notifiche in Impostazioni di Sistema > Notifiche.

In Apple Terminal puoi almeno avere un suono. Imposta "preferredNotifChannel": "terminal_bell" in ~/.claude/settings.json e attiva Campanello udibile in Impostazioni > Profili > Avanzate. La guida al campanello del terminal spiega questa strada nel dettaglio.

L'avviso integrato ha dei limiti: scatta solo quando Claude Code pensa che tu sia via, dice solo che è successo qualcosa e non esce mai dal computer.

02Un hook di notifica con osascript

Un hook funziona in ogni terminal, compresi quelli degli IDE. Questo è l'esempio per macOS della guida agli hook di Anthropic. Aggiungilo a ~/.claude/settings.json, mantenendo le altre chiavi che hai già:

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

Digita /hooks in Claude Code per verificare che compaia sotto Notification.

Il permesso di Script Editor

osascript pubblica le notifiche come Script Editor. Se Script Editor non ha il permesso per le notifiche, il comando fallisce in silenzio e macOS non te lo chiede. Esegui questo una volta nel Terminale:

osascript -e 'display notification "test"'

La prima volta non compare nulla. Apri Impostazioni di Sistema > Notifiche, trova Script Editor e attiva Consenti notifiche. Riesegui il comando e la notifica di prova dovrebbe apparire.

Quando scatta

Il matcher vuoto scatta su ogni tipo di notifica. I due più utili sono permission_prompt (Claude aspetta un'approvazione da circa sei secondi e non hai digitato nulla) e idle_prompt (Claude ha finito circa 60 secondi fa e da allora non hai digitato nulla). La guida al Notification hook elenca tutti i tipi e le relative tempistiche.

03Sapere subito quando Claude finisce

idle_prompt aspetta un minuto. Per essere avvisato subito, aggiungi un hook Stop, che viene eseguito quando Claude termina il suo turno. Stop non accetta matcher:

{
  "hooks": {
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "osascript -e 'display notification \"Claude has finished\" with title \"Claude Code\" sound name \"Glass\"'"
          }
        ]
      }
    ]
  }
}

sound name accetta qualsiasi suono in /System/Library/Sounds, come Glass, Ping o Hero. Se vuoi solo un suono, come comando va bene afplay /System/Library/Sounds/Glass.aiff. Trovi altro su questo evento nella guida allo Stop hook.

04Mostrare il messaggio reale

Gli hook ricevono JSON sullo standard input. L'input di Notification ha un campo message, ad esempio "Claude needs your permission". Un piccolo script può mettere quel testo nella notifica. Salvalo come ~/.claude/hooks/notify-mac.sh:

#!/bin/bash
msg=$(jq -r '.message // "Claude Code needs your attention"')
osascript -e 'on run argv' \
  -e 'display notification (item 1 of argv) with title "Claude Code"' \
  -e 'end run' "$msg"

Passando il testo come argomento, e non dentro la stringa AppleScript, eventuali virgolette nel messaggio non possono rompere il comando. Rendilo eseguibile con chmod +x ~/.claude/hooks/notify-mac.sh e imposta come comando dell'hook ~/.claude/hooks/notify-mac.sh. Lo script richiede jq (brew install jq se jq --version fallisce).

05terminal-notifier: clicca per tornare al terminal

Una notifica di osascript, se cliccata, apre Script Editor, che non è dove vuoi andare. terminal-notifier ti permette di scegliere quale app portare in primo piano:

brew install terminal-notifier
terminal-notifier -title "Claude Code" -message "Claude has finished" -sound default -activate com.googlecode.iterm2

Usa com.apple.Terminal per Apple Terminal, oppure il bundle ID del tuo editor. Lo stesso comando va nel campo command dell'hook. La prima volta consenti le notifiche per terminal-notifier in Impostazioni di Sistema.

06Full immersion e Non disturbare

Sono tutte normali notifiche di macOS, quindi una modalità Full immersion può nasconderle. Se spariscono in certi orari, controlla Impostazioni di Sistema > Full immersion e consenti l'app che le pubblica (Script Editor, terminal-notifier o il tuo terminal). Per notifiche che rispettino invece i tuoi orari, vedi ore di silenzio e Non disturbare.

07Dove si inserisce Claude Code Notifier

Gli hook qui sopra sono un'ottima soluzione se stai al Mac e vuoi solo un promemoria. Non bastano più quando ti allontani, perché una notifica del Mac non ti raggiunge in cucina e non può rispondere a Claude.

Claude Code Notifier è uno strumento indipendente (creato da TouchTap, non da Anthropic) basato sugli stessi hook. Il suo tool da riga di comando gratuito, ccn, funziona su Mac, Windows e Linux. Installalo sul Mac con:

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

oppure con Homebrew: brew trust --formula touch-tap/tap/ccn && brew install touch-tap/tap/ccn. Aggiunge le sue voci di hook a ~/.claude/settings.json, lascia intatto il resto del file e ne conserva un backup. Da quel momento mostra una notifica di macOS quando Claude finisce, ha bisogno di un permesso o fa una domanda, senza bisogno di rete né di telefono.

Se abbini un iPhone o un telefono Android, gli stessi eventi arrivano come notifiche push, e dal telefono puoi consentire o negare un permesso, scegliere una risposta alla domanda di Claude o inviare l'istruzione successiva. Se hai digitato negli ultimi 30 secondi, il terminal chiede come al solito e sul telefono non resta nulla in attesa. Vedi abbinare un telefono e la pagina di ccn. Le app per telefono richiedono un abbonamento o un acquisto a vita; vedi i prezzi.

Se aggiungi ccn, rimuovi i tuoi hook con osascript, altrimenti vedrai due notifiche per ogni evento. Esiste anche una vecchia app per la barra dei menu del Mac: non usarla insieme a ccn sullo stesso Mac.

08FAQ

Perché il mio hook osascript non mostra niente?

Il più delle volte Script Editor non ha il permesso per le notifiche, quindi macOS scarta la notifica senza dare errori. Esegui una volta osascript -e 'display notification "test"', poi abilita Script Editor in Impostazioni di Sistema > Notifiche. Se non funziona ancora, controlla che non sia attiva una modalità Full immersion e che /hooks elenchi il tuo hook.

Claude Code invia notifiche macOS senza alcuna configurazione?

Sì, in Ghostty e Kitty, e in iTerm2 dopo che hai attivato gli avvisi del Centro Notifiche. Il Terminale di Apple e i terminal degli IDE non mostrano notifiche desktop di default, quindi lì usa un hook o ccn.

Come ricevo una notifica appena Claude finisce, e non un minuto dopo?

Usa un hook Stop. La notifica idle_prompt scatta solo circa 60 secondi dopo che Claude ha finito e solo se non hai digitato nulla, mentre Stop viene eseguito alla fine di ogni turno.

Posso sentire un suono invece di vedere un banner?

Sì. Usa afplay /System/Library/Sounds/Glass.aiff come comando dell'hook, oppure aggiungi sound name "Glass" al comando osascript per avere entrambi.

Posso approvare un permesso dalla notifica di macOS?

Non con osascript o terminal-notifier: mostrano solo del testo. Per rispondere a un permesso da un hook serve l'evento PermissionRequest; vedi rispondere alle richieste di permesso da un hook oppure approva dal telefono con Claude Code Notifier.

Claude Code Notifier Ricevi una push sul telefono quando Claude Code finisce o ha bisogno di te, poi approva, rifiuta o rispondi direttamente da lì. Il tool da riga di comando ccn è gratuito su Mac, Windows e Linux.
Scarica per iOS Scarica per Android Installa ccn

Guide correlate

  • Il Notification hook di Claude Code: quando scatta e come usarloQuando scatta il Notification hook di Claude Code, cosa significano permission_prompt e idle_prompt, l'input che riceve e perché aspetta prima di scattare.
  • Lo Stop hook di Claude Code: esegui qualcosa quando Claude finisceCome funziona lo Stop hook di Claude Code, quale input riceve, come eseguire un comando quando Claude finisce e come far continuare Claude in sicurezza.
  • Le notifiche integrate di Claude Code: il terminal bell e preferredNotifChannelCome funzionano gli avvisi integrati di Claude Code, cosa fa ogni valore di preferredNotifChannel e come configurare iTerm2, Apple Terminal, Kitty, Ghostty e tmux.
  • Le notifiche di Claude Code non funzionano? Una checklistGli hook non partono o non ricevi alcun avviso quando Claude Code finisce? Segui questa checklist, da /hooks e il log di debug fino a ccn doctor e ccn test.
claude-code-notifier

Claude Code Notifier è un'applicazione indipendente di terze parti. Non è affiliata, approvata o sponsorizzata da Anthropic, PBC. "Claude" e "Claude Code" sono marchi di Anthropic, PBC.

app App iOS App Android ccn per macOS, Windows e Linux Tutte le guide
note legali Informativa sulla privacy Termini di servizio Altre lingue © 2026 touchtap. Tutti i diritti riservati. TouchTap Ltd è registrata in Inghilterra e Galles, numero di società 13942589.