TIPS 01 · SESSIONI

Due Claude che si parlano

Come faccio parlare due sessioni di Claude Code tra loro: come si attiva, i tre modi in cui lo uso ogni giorno e la regola per non farle pestarsi i piedi.

Cos'è e perché conta

Ogni finestra di Claude Code è una sessione, con la sua testa. Ha la sua conversazione e sa solo quello che le hai detto lì dentro. Se ne apri due, di base non sanno niente l'una dell'altra.

Il problema è che il messaggero diventi tu. Una sessione cambia il nome di un campo nell'app, tu copi, incolli nell'altra finestra, rispieghi tutto e magari ti scordi un pezzo. Con due lavori in parallelo succede di continuo.

Claude Code ha una funzione apposta: i messaggi tra sessioni. Una sessione può vedere le altre aperte sul tuo computer e mandare a una di loro un messaggio di testo. Quella che lo riceve lo legge e va avanti tenendone conto.

Perché conta: puoi dividere il lavoro come lo divideresti tra due persone. In una fai costruire una cosa, nell'altra chiedi di controllare cosa sta facendo la prima. Oppure una lavora sull'app e l'altra sul sito, e quando la prima finisce avvisa la seconda. Tu resti quello che decide, non il postino.

Come si attiva

Apri due sessioni di Claude Code sullo stesso computer, una per lavoro (es. una nella cartella dell'app, una in quella del sito).

Non c'è niente da accendere: se Claude Code è aggiornato, i messaggi tra sessioni funzionano già.

Claude ha due strumenti per questo: uno per vedere le altre sessioni aperte (ListAgents) e uno per mandare un messaggio a una di loro (SendMessage). Non devi scrivere comandi: glielo chiedi in italiano, tipo «manda un messaggio alla sessione del sito». A volte Claude ne manda uno anche da solo, quando si accorge che una sua modifica tocca il lavoro dell'altra sessione.

Dai un nome a ogni sessione

Le sessioni si trovano per nome. Claude Code ne sceglie uno da solo, ma è più comodo deciderlo tu, così sai sempre chi è chi.

  1. Nella finestra dell'app scrivi /rename app. Il nome compare sulla barra dove scrivi.
  2. Nella finestra del sito scrivi /rename sito.
  3. In una delle due scrivi /list-agents: vedi le sessioni che Claude può raggiungere, con il nome da usare per ciascuna.

Quando scrivi a Claude puoi anche digitare @ e le prime lettere del nome, tipo @sito, e scegliere la sessione dal menu. Così sa esattamente a chi mandare il messaggio.

Se il tuo Claude Code non vede le altre sessioni, aggiornalo all'ultima versione e riprova. Il controllo più veloce: se /list-agents non viene riconosciuto, la tua versione non ha ancora questa funzione.

I tre modi in cui lo uso ogni giorno

1. Uno costruisce, l'altro controlla

Nella sessione 1 faccio costruire la funzione. Nella sessione 2 scrivo:

Il prompt
Guarda cosa sta facendo la sessione 1. Leggi le modifiche che ha fatto, prova a romperle, e se trovi un errore scrivilo a lei e a me. Non toccare i file.

La parte che conta è «Non toccare i file». Chi controlla legge, prova e segnala, ma non corregge. Se correggessero tutte e due, finirebbero a modificare le stesse cose e non capiresti più chi ha fatto cosa. L'errore lo sistema chi l'ha fatto, appena riceve il messaggio.

2. Il passaggio di testimone tra app e sito

Qui le due sessioni lavorano in cartelle diverse, una sull'app e una sul sito. Nella sessione dell'app scrivo:

Il prompt
Quando hai finito e i test passano, manda un messaggio alla sessione del sito con cosa è cambiato (nomi dei campi, indirizzi, testi), così lei aggiorna le sue pagine.

Il messaggio è solo testo. L'altra sessione non vede la conversazione né i file della prima: legge quello che le viene scritto. Per questo chiedo cose precise, tipo nomi dei campi, indirizzi e testi, e non un generico «ho cambiato delle cose».

Non devi stare lì a fare da sveglia. Se la sessione del sito è ferma, il messaggio la fa ripartire. Se sta lavorando, lo legge appena finisce il passaggio che sta facendo, senza essere interrotta a metà.

3. Una cerca, l'altra decide

Nella sessione 1:

Il prompt
Cerca nel progetto tutti i punti dove si gestisce il login e manda l'elenco alla sessione 2.

Nella sessione 2:

Il prompt
Aspetta l'elenco dalla sessione 1, poi proponi un piano in 5 punti. Non scrivere codice finché non dico ok.

Così la sessione che decide resta pulita: non si riempie di file letti e risultati di ricerca, riceve solo l'elenco. E quel «Non scrivere codice finché non dico ok» lascia a te l'ultima parola sul piano.

In più: fatti avvisare quando l'altra ha finito

Se aspetti un lavoro lungo in un'altra sessione, non serve andare a controllare ogni cinque minuti. Nella sessione dove sei scrivi:

Il prompt
Avvisami quando la sessione dell'app ha finito quello che sta facendo.

Claude chiede all'altra sessione di mandare un avviso quando si ferma, e te lo riporta lì dove sei.

La regola d'oro

Una sessione, un lavoro. Due sessioni sullo stesso file si pestano i piedi: se devono toccare gli stessi file, usa una copia del progetto per ciascuna (si chiamano worktree, ne parlo in un altro video).

Un worktree è una copia del progetto in una cartella sua, con un ramo suo. Ogni sessione modifica la sua copia e non tocca quella delle altre. Serve che il progetto sia su git.

Per crearlo basta chiederlo, come prima cosa nella sessione:

Il prompt
Lavora in un worktree nuovo chiamato [nome]. Non toccare il progetto principale.

Da terminale puoi anche aprire la sessione già dentro una copia, con claude --worktree seguito dal nome. Poi i messaggi servono proprio a questo: quando una sessione ha finito il suo pezzo, avvisa le altre di cosa è cambiato.

Gli errori più comuni

  • Due sessioni che modificano gli stessi file nella stessa cartella: dai a ciascuna il suo worktree, oppure lascia scrivere solo una delle due.
  • Chiedere a chi controlla di sistemare gli errori: chiedile di segnalarli, li corregge la sessione che ha scritto il codice.
  • Messaggi vaghi tipo «ho cambiato delle cose»: chiedi a Claude di scrivere cosa è cambiato con nomi precisi, perché l'altra sessione vede solo quel testo.
  • Sessioni senza un nome chiaro: dai a ciascuna un nome con /rename prima di cominciare, così non scrivi a quella sbagliata.
  • Pensare che un messaggio possa dire sì al posto tuo: un messaggio da un'altra sessione non approva niente, le richieste di permesso arrivano comunque a te.
  • Dare la colpa a Claude se non trova l'altra sessione: prova /list-agents e, se non viene riconosciuto, aggiorna Claude Code.

Checklist

  • Due sessioni aperte, una per lavoro
  • Ogni sessione ha un nome, dato con /rename
  • /list-agents mostra l'altra sessione
  • Chi controlla ha l'ordine di non toccare i file
  • Ogni messaggio dice cosa è cambiato, con nomi precisi
  • Se toccano gli stessi file, un worktree per ciascuna

Domande frequenti

Le due sessioni condividono la memoria?

No. Il messaggio è un testo che una scrive all'altra, senza la conversazione e senza i file. Se ti serve tutta una conversazione, riprendi quella sessione invece di passarla a pezzi con i messaggi.

Possono andare avanti a scriversi all'infinito?

No. Claude Code limita i messaggi ripetuti tra due sessioni, quindi un botta e risposta senza fine si ferma da solo. Io comunque do sempre un compito chiaro e un punto in cui fermarsi.

Che differenza c'è con i subagenti?

Un subagente lavora dentro la tua sessione, fa un pezzo di lavoro e le riporta un riassunto. Qui invece sono due sessioni vere, aperte da te, ognuna con la sua finestra e il suo lavoro, che si scrivono quando serve.

Mi compare una richiesta di approvare un messaggio. È normale?

Sì. Succede soprattutto quando la sessione che riceve lavora senza chiederti i permessi: in quel caso Claude Code tiene da parte i messaggi in arrivo e chiede prima a te. Se approvi, il messaggio arriva.

← Tutte le guide