andrea_di_tuoro
blog/claude-code-sessions-monitor-widget-windows.md read-only
$ cd ../blog
[08.10.2026] #strumenti 06 min di lettura

Sessions Monitor: tutte le sessioni di Claude Code in un solo widget per Windows

Ho scritto un piccolo widget open source che mostra ogni sessione di Claude Code aperta: consumi, contesto, usage del piano e soprattutto quale sessione sta aspettando una tua risposta.

Sessions Monitor: tutte le sessioni di Claude Code in un solo widget per Windows

Quando lavoro con Claude Code raramente ho una sola sessione aperta. Una sistema il sito, una scrive i test di un altro progetto, una terza sta facendo una ricerca nel codice. Funziona benissimo, finché non ti accorgi che una di loro è ferma da dieci minuti ad aspettare un tuo «sì» su un comando, sepolta in una scheda del terminale che non stavi guardando.

Per questo ho scritto Sessions Monitor: un piccolo widget per Windows, gratuito e open source, che mette tutte le sessioni in una finestra sola.

Il problema: troppe sessioni, nessuna visione d'insieme

Con più sessioni di Claude Code aperte perdi di vista chi sta lavorando, chi ha finito e chi aspetta te. E non sai quanta memoria, CPU e contesto sta consumando ciascuna.

Le domande che mi facevo erano sempre le stesse: quale sessione mi sta chiedendo un permesso? Quella che ho lasciato a metà ha finito? Perché il PC è diventato lento, quale processo sta mangiando la RAM? Quanto mi resta del limite settimanale del piano? Rispondere voleva dire aprire una scheda dopo l'altra.

Cos'è Sessions Monitor

È un widget per Windows che elenca ogni sessione di Claude Code in esecuzione, mostra quanto consuma, segnala quali aspettano una tua risposta e permette di chiuderne una, solo dopo una conferma.

Il widget Sessions Monitor con quattro sessioni di Claude Code: in corso, in attesa di un permesso Bash e terminata, con CPU, RAM e contesto

È scritto in Python e usa solo la libreria standard: niente pip install, niente dipendenze da aggiornare. L'interfaccia è in italiano o in inglese, scelta in base alla lingua di Windows.

Cosa vedi a colpo d'occhio

Per ogni sessione: nome, cartella, modello, modalità dei permessi, CPU e RAM con i processi figli, dimensione del contesto e token di output. Il colore del pallino dice in che stato si trova.

  • Azzurro: la sessione sta lavorando.
  • Ambra lampeggiante: aspetta te, per una domanda, un piano da approvare o una richiesta di permesso.
  • Verde: ha finito.

In cima ci sono il numero di sessioni, quante sono in attesa e il consumo totale, più le due barre dell'usage del piano (sessione e settimana) con l'orario di reset. Da ogni riga puoi portare in primo piano il terminale della sessione, selezionando anche la scheda giusta di Windows Terminal, oppure aprire la sua cartella.

La finestra è responsive: stretta (circa 340 pixel) sta in un angolo dello schermo come widget, a schermo intero mostra i grafici in tempo reale di CPU, RAM e contesto. Clicchi una sessione o un grafico per accenderlo o spegnerlo.

Sessions Monitor a schermo intero con i grafici in tempo reale di CPU, RAM e contesto per ogni sessione di Claude Code

Installazione in tre comandi

Servono Windows 10 o 11, Python 3.9 o superiore con tkinter (è già incluso nell'installer di python.org) e Claude Code. Poi bastano tre comandi in PowerShell.

Se non hai Python, scaricalo da python.org. Poi:

git clone https://github.com/Andrew3run/claude-code-sessions-monitor.git
cd claude-code-sessions-monitor
.\install.ps1
pythonw claude_monitor.pyw

install.ps1 è facoltativo: crea un collegamento sul Desktop (con -Remove lo elimina). In alternativa basta un doppio clic su claude_monitor.pyw. Il programma accetta anche qualche opzione:

  • --lang it o --lang en per forzare la lingua.
  • --demo per provare l'interfaccia con sessioni finte: non legge nulla di reale e non può chiudere nulla.
  • --version per vedere la versione installata.

Posizione, dimensione e filtri della finestra vengono ricordati in %APPDATA%\claude-sessions-monitor\config.json.

Mostrare l'usage del piano

Le due barre dell'usage sono facoltative. Claude Code passa i limiti del piano al comando della status line: basta salvarli in un file e il monitor li legge.

Nella repo c'è statusline-usage.js: puoi usarlo direttamente come status line, oppure copiare il blocco indicato nello script che usi già. Scrive solo i dati di rate_limits in ~/.claude/usage-snapshot.json, in locale. Senza, il monitor funziona lo stesso e le due barre restano vuote.

Come funziona dietro le quinte

Il monitor non parla con Claude Code e non usa la rete: legge i file che Claude Code scrive sul disco e chiede a Windows i consumi dei processi.

Schema: Sessions Monitor legge i file delle sessioni, i transcript, le API di Windows e lo snapshot dell'usage
  • ~/.claude/sessions/<pid>.json dice quali sessioni sono vive, con nome e stato. Il pid viene confrontato con l'ora di avvio del processo, così un numero riutilizzato da Windows non viene scambiato per una sessione.
  • I transcript in ~/.claude/projects/ danno token, modello, modalità dei permessi e chiamate in sospeso. Vengono letti in modo incrementale, solo la parte nuova.
  • CPU, RAM e processi figli (per esempio i server MCP) arrivano dalle API Win32 tramite ctypes.
  • L'usage del piano arriva dal file scritto dalla status line.

Lo stato «in attesa» è dedotto dal transcript. Una domanda o un piano da approvare in sospeso sono certi; per gli altri strumenti, una chiamata senza risposta da più di otto secondi con il processo fermo viene segnalata come richiesta di permesso.

Sicurezza e limiti

Il monitor è di sola lettura: non avvia sessioni, non ne è il processo padre e chiuderlo non chiude nulla. Non accede alla rete e non raccoglie telemetria.

L'unica azione che tocca una sessione è il pulsante ✕, che chiede sempre conferma. Prima di terminare controlla che il pid corrisponda ancora allo stesso processo, poi chiude la sessione e i suoi figli. Il lavoro in corso in quella sessione va perso, quindi usalo per le sessioni bloccate o dimenticate.

Qualche limite da conoscere:

  • Funziona solo su Windows.
  • È un progetto non ufficiale, non affiliato ad Anthropic. Legge file che Claude Code non documenta: un aggiornamento può rompere qualche parte.
  • La richiesta di permesso è dedotta, quindi può sbagliare: un comando lungo che aspetta la rete può sembrare una richiesta.
  • La scheda giusta del terminale si trova solo con Windows Terminal e se non hai rinominato la scheda; altrimenti viene portata in primo piano solo la finestra.
  • La barra del contesto assume una finestra da un milione di token (si cambia in CONTEXT_WINDOW nel codice).

Provalo e dimmi cosa ne pensi

Il codice è su GitHub con licenza MIT: puoi usarlo, modificarlo e ridistribuirlo. Se hai un'idea o trovi un problema, apri una issue.

L'ho costruito proprio lavorando con Claude Code, un passo alla volta. Se vuoi capire come lo faccio, parti da perché nel vibe coding devi sapere cosa stai costruendo e, prima di pubblicare qualcosa, passa dalla checklist di sicurezza.

EOF
grep -l correlati 3 log