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

Più sessioni di Claude Code: capire quale ha bisogno di te

Aggiornato il 31 ottobre 2026 · 6 min di lettura
in questa pagina 01Perché le sessioni parallele creano confusione 02Prima separa bene le sessioni 03Metti il progetto in ogni avviso fai-da-te 04La parte difficile: rispondere alla sessione giusta 05FAQ

Quando usi più sessioni di Claude Code insieme, un semplice avviso "Claude ha bisogno della tua attenzione" non basta, perché non capisci quale sessione l'ha mandato. La soluzione è inserire il progetto o la cartella della sessione in ogni notifica. Ogni hook riceve in JSON il cwd e il session_id della sessione, così il tuo hook può leggerli e mettere il nome del progetto nell'avviso. Dai alle sessioni nomi chiari con claude -n <name> o /rename, e usa claude --worktree <name> così che le sessioni parallele sullo stesso repository abbiano ciascuna la propria cartella, che poi compare nell'avviso.

01Perché le sessioni parallele creano confusione

Tenere due o tre sessioni di Claude Code affiancate è ormai un modo normale di lavorare: una sistema un bug, una scrive i test, una esplora un refactor. Ogni sessione si ferma coi suoi tempi. I problemi sono sempre gli stessi:

  • arriva un avviso e non sai da quale tab del terminal viene;
  • una sessione aspetta da venti minuti su un prompt di permesso mentre tu guardavi un'altra;
  • rispondi nella finestra sbagliata.

Tutti e tre si riducono all'identificazione. Ogni avviso deve dire da dove arriva, e ogni risposta deve tornare alla sessione che l'ha chiesta.

02Prima separa bene le sessioni

Usa i worktree per lo stesso repository

Due sessioni che modificano lo stesso checkout si pestano i piedi a vicenda. Il flag --worktree di Claude Code (-w in breve) crea un git worktree isolato e ci avvia la sessione:

claude --worktree feature-auth
claude --worktree fix-login

Di default ogni worktree viene creato in .claude/worktrees/<name>/ nella root del repository, su un nuovo branch chiamato worktree-<name>. Lancia ogni comando nel suo terminal. Aggiungi .claude/worktrees/ al tuo .gitignore così i worktree non compaiono come file non tracciati.

Quando esci, Claude Code controlla il worktree. Se è pulito e non hai mai dato un nome alla sessione, Claude Code rimuove il worktree e il suo branch; altrimenti ti chiede se tenerlo. Per tornare più tardi a un worktree conservato, lancia il comando claude --worktree <name> --resume che stampa all'uscita. Se preferisci gestire i worktree da te, va bene anche git worktree add ../project-feature-a -b feature-a; poi avvia claude in quella cartella.

Un effetto collaterale utile per le notifiche: ogni sessione ora ha il suo nome di cartella, come feature-auth, che è proprio quello che vuoi vedere in un avviso.

Dai un nome alle sessioni

I nomi rendono le sessioni facili da trovare e riprendere:

claude -n auth-refactor

Dentro una sessione in corso, /rename auth-refactor fa la stessa cosa, e il nome compare nella barra del prompt. In seguito, claude --resume auth-refactor ti riporta subito lì. Nel selettore delle sessioni (claude --resume senza nome), Ctrl+W estende l'elenco a tutti i worktree del repository.

03Metti il progetto in ogni avviso fai-da-te

Ogni command hook riceve su standard input un JSON con i campi comuni a tutti gli eventi, tra cui session_id, cwd, transcript_path e hook_event_name. In una sessione su worktree, cwd è la root del worktree, e segue Claude se cambia directory. Leggilo nel tuo hook e usa l'ultima parte del percorso come etichetta.

Su Mac e Linux, salva questo file come ~/.claude/hooks/notify-session.sh e rendilo eseguibile con chmod +x. Richiede jq.

#!/bin/sh
input=$(cat)
project=$(basename "$(printf '%s' "$input" | jq -r '.cwd')")
event=$(printf '%s' "$input" | jq -r '.hook_event_name')

case "$event" in
  Stop) msg="Claude has finished" ;;
  *)    msg="Claude needs you" ;;
esac

notify-send "Claude Code: $project" "$msg"

Su Mac, sostituisci l'ultima riga con una notifica osascript come mostrato nella guida per macOS. Su Windows, leggi lo stesso JSON in PowerShell con ConvertFrom-Json; la guida per Windows ha un esempio completo.

Poi registralo per gli eventi che ti interessano in ~/.claude/settings.json:

{
  "hooks": {
    "Stop": [
      { "hooks": [{ "type": "command", "command": "~/.claude/hooks/notify-session.sh" }] }
    ],
    "Notification": [
      { "matcher": "permission_prompt", "hooks": [{ "type": "command", "command": "~/.claude/hooks/notify-session.sh" }] }
    ]
  }
}

Due note sui percorsi. Metti tra virgolette variabili come "$input", perché i nomi delle cartelle possono contenere spazi. E se richiami uno script con ${CLAUDE_PROJECT_DIR}, ricorda che punta sempre alla cartella in cui è partita la sessione, anche dopo che Claude si è spostato in un worktree. Se ti serve la cartella corrente, leggi cwd dall'input.

Se lavori in tmux, spesso il pane o la finestra sono un'etichetta migliore della cartella. La guida a tmux spiega come trovare il pane giusto e passarci.

04La parte difficile: rispondere alla sessione giusta

Un avviso con etichetta ti dice quale sessione ha bisogno di te. Ma per rispondere devi comunque arrivare a quel terminal. Con tre sessioni vuol dire trovare la scheda giusta, scorrere fino al prompt e scrivere. Un hook fatto in casa difficilmente può rimandare indietro la tua risposta, perché solo l'hook in attesa dentro quella sessione può restituire una decisione a Claude Code.

È questo il vuoto che colma Claude Code Notifier. È uno strumento indipendente, non realizzato da Anthropic. Il suo tool da riga di comando, ccn, si installa come hook di Claude Code su Mac, Windows e Linux, quindi ogni sessione che avvii è coperta, in qualsiasi terminal, senza configurazioni per singola sessione. Ogni notifica riporta il nome e la cartella del progetto, così sul tuo iPhone o telefono Android vedi quale sessione l'ha inviata. E poiché l'hook che ha inviato la richiesta è lo stesso che aspetta la tua risposta, un'approvazione, una scelta o un'istruzione successiva dal telefono torna alla sessione che l'ha chiesta.

Alcuni dettagli che contano quando hai più sessioni:

  • Più computer. Un telefono può essere associato a più computer, e un computer a più telefoni. ccn devices elenca i telefoni associati a questo computer.
  • Presenza. Se hai digitato negli ultimi 30 secondi, non si aspetta il telefono e il terminal chiede come al solito. Se sei via, la sessione attende la risposta dal telefono fino a un limite che scegli tu (hold_ceiling_seconds) e smette di aspettare appena tocchi la tastiera.
  • Notifiche desktop senza telefono. Prima di associare un telefono, ccn mostra una notifica desktop sul computer quando una sessione termina, chiede un permesso o fa una domanda.

Se usi una sola sessione alla volta e stai alla scrivania, probabilmente ti basta un avviso desktop con etichetta. La guida comparativa mette a confronto le opzioni.

05FAQ

Come capisco quale sessione di Claude Code ha inviato una notifica?

Leggi il campo cwd dall'input JSON dell'hook e metti il nome della cartella nel titolo dell'avviso. Con i worktree ogni sessione ha la sua cartella, quindi il nome è diverso per ognuna. Strumenti come Claude Code Notifier includono già nome e cartella del progetto in ogni notifica.

Posso avviare due sessioni di Claude Code nello stesso repository?

Sì, ma dai a ciascuna il suo worktree, così le modifiche non si scontrano. claude --worktree <name> ne crea uno in .claude/worktrees/<name>/ su un nuovo branch e ci avvia la sessione.

Come do un nome a una sessione di Claude Code?

Avviala con claude -n <name>, oppure esegui /rename <name> dentro la sessione. Poi la riprendi con claude --resume <name>.

Gli hook girano separatamente per ogni sessione?

Sì. Ogni sessione esegue i propri hook quando scattano i suoi eventi, e passa nell'input il session_id e il cwd di quella sessione. Gli hook in ~/.claude/settings.json valgono per tutte le sessioni che avvii.

Le notifiche da computer diversi si mescolano?

Non con ccn. Ogni computer si associa al telefono separatamente e ha un suo nome, e ogni notifica indica il progetto da cui arriva.

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

  • Gli hook di Claude Code spiegati: ogni evento e a cosa serveCosa sono gli hook di Claude Code, dove vanno in settings.json, come funzionano matcher, input ed exit code, e a cosa serve ogni evento.
  • Claude Code in tmux o screen: ricevere notifiche da una sessione detachedRicevi una notifica quando Claude Code in tmux o screen finisce o ha bisogno di te: allow-passthrough, avvisi con bell, nomi delle sessioni e push sul telefono quando sei detached.
  • Tutti i modi per ricevere notifiche da Claude Code, a confrontoAvvisi integrati, hook personalizzati, ntfy e webhook di chat, il Remote Control di Anthropic e le app di notifica: cosa può e non può fare ciascuno.
  • Lascia Claude Code al lavoro e allontanati: un workflowUna routine pratica per i task lunghi di Claude Code: tieni sveglio il computer, elimina i prompt inutili, ricevi un avviso sul telefono e rispondi da lì.
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.