Le lunghe esecuzioni sono il bello di Claude Code: affidi un compito e intanto fai altro. Il problema è sapere quando tornare. Se controlli troppo spesso perdi il tempo che avevi guadagnato; se controlli troppo tardi, l'agente aspetta un permesso dal secondo minuto.
Su Mac ci sono tre modi per risolvere, da un hook fai-da-te a una funzione integrata.
I due eventi che contano
Qualunque metodo usi, vuoi essere avvisato in due momenti diversi:
- Finito. L'agente ha completato il suo turno e aspetta il tuo prossimo messaggio.
- Serve un input. L'agente si è fermato a metà compito, di solito per chiedere il permesso di eseguire un comando o modificare un file.
Il secondo conta di più. Un agente bloccato su una richiesta di permesso non fa alcun progresso.
Opzione 1: gli hook di Claude Code
Claude Code può eseguire un comando shell quando si verificano certi eventi. Due eventi hook coprono i momenti di cui sopra:
Stopsi attiva quando Claude finisce di rispondere.Notificationsi attiva quando Claude ha bisogno della tua attenzione, per esempio per una richiesta di permesso o una lunga attesa di input.
Aggiungili a ~/.claude/settings.json (per tutti i progetti) o a .claude/settings.json in un singolo progetto. Questo esempio usa osascript, incluso in macOS:
{
"hooks": {
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "osascript -e 'display notification \"Task finished\" with title \"Claude Code\" sound name \"Glass\"'"
}
]
}
],
"Notification": [
{
"hooks": [
{
"type": "command",
"command": "osascript -e 'display notification \"Waiting for your input\" with title \"Claude Code\" sound name \"Funk\"'"
}
]
}
]
}
}Riavvia Claude Code ed esegui un compito breve per provarlo. La prima volta macOS potrebbe chiederti se Script Editor può mostrare notifiche.
I limiti di questo approccio: la notifica non dice da quale progetto o terminale arriva, facendo clic non ti ci porta, e devi ripetere una configurazione simile per ogni altro agente. Consulta la documentazione degli hook di Claude Code per l'elenco aggiornato degli eventi.
Opzione 2: notify di Codex
Codex CLI può eseguire un programma dopo ogni turno dell'agente. In ~/.codex/config.toml, imposta notify su un comando; Codex gli passa una descrizione JSON dell'evento:
notify = ["osascript", "-e", "display notification \"Codex finished\" with title \"Codex\""]Le versioni recenti di Codex supportano anche gli hook, compreso un evento Stop, configurati in hooks.json o in una tabella [hooks] di config.toml. Le opzioni cambiano da una versione all'altra, quindi controlla la documentazione degli hook di Codex per la tua.
Opzione 3: integrato in Vibe Console
Vibe Console tiene d'occhio ogni terminale con un agente al posto tuo, per tutti gli otto agenti supportati, senza configurazione:
- Un pallino di stato su ogni pannello indica se il suo agente sta lavorando o è inattivo, così una griglia di agenti si legge a colpo d'occhio.
- Quando un agente finisce, l'app riproduce un suono (Glass per impostazione predefinita) e apre per un attimo la tacca del MacBook su quella sessione, mostrando di quale agente e terminale si tratta.
- Quando un agente si ferma ad aspettarti, riproduce un suono diverso (Funk per impostazione predefinita), così distingui «finito» da «bloccato» senza guardare.
- Entrambi i suoni sono configurabili, oppure puoi disattivarli.
Invia anche una notifica di macOS quando l'utilizzo di Claude Code o Codex supera l'80% e il 100% di una finestra. Vedi limiti di utilizzo di Claude Code.
È utile soprattutto quando fai girare più agenti insieme. Vedi come eseguire più agenti Claude Code in parallelo.
Quale scegliere?
| Hook / notify | Vibe Console | |
|---|---|---|
| Costo | Gratis | Incluso nell'app |
| Configurazione | Per agente, JSON o TOML | Nessuna |
| Distingue «finito» da «bloccato» | Sì, con due hook | Sì, due suoni |
| Mostra quale terminale | No | Sì, nella tacca |
| Funziona con tutti gli otto agenti | Solo quelli con hook | Sì |
Se usi una sessione di Claude Code alla volta, gli hook bastano. Se fai girare più agenti su più progetti, un workspace che sa quale terminale è quale ti fa risparmiare più tempo.
Domande frequenti
Perché il mio hook di Claude Code non si attiva?
Controlla che il JSON sia valido, che il file sia nel posto giusto e di aver riavviato Claude Code. Esegui da solo il comando osascript in un terminale per verificare che le notifiche siano consentite.
Posso ricevere una notifica sul telefono?
Gli hook possono chiamare qualsiasi comando, anche un servizio di notifiche push. Claude Code supporta anche il controllo remoto dalla sua app mobile, così puoi controllare una sessione lontano dalla scrivania.
Prova gratis per 14 giorni i segnali acustici integrati: scarica Vibe Console.
