Claude Code Agent Teams e tmux: guida alle sessioni SSH

Configura tmux per Claude Code: worktree separati, sessioni persistenti via SSH e team di agenti opzionali. Una guida pratica per lavorare da remoto.

Pubblicato il

Claude Code Agent Teams e tmux: guida alle sessioni SSH

Esegui Claude Code dentro tmux su una macchina remota sempre accesa: potrai chiudere il portatile, riconnetterti via SSH e ritrovare il lavoro ancora in esecuzione. Assegna a ogni attività indipendente un worktree Git e una sessione tmux con un nome riconoscibile, così lo sviluppo di una funzionalità e la correzione di un bug avranno file separati. Parti da questa configurazione; aggiungi un team con Claude Code Agent Teams quando le attività richiedono un confronto coordinato.

Il limite da tenere presente è la macchina su cui viene eseguito il lavoro. tmux mantiene attiva una sessione del terminale quando la connessione si interrompe. Non può far lavorare un portatile in sospensione, tenere acceso un server spento o riavviare un processo Claude che si è arrestato in modo anomalo. Anthropic consiglia esplicitamente tmux o screen per una sessione remota di Claude che debba sopravvivere alla disconnessione SSH. Documentazione Anthropic su Remote Control.

Come configurare tmux seguendo la documentazione

Inserisci la configurazione sulla macchina che esegue Claude Code. Se lavori da remoto, il file da modificare è ~/.tmux.conf sull’host remoto. Se necessario, installa tmux con il gestore di pacchetti di quell’host e, prima di proseguire, verifica lì le versioni con tmux -V e claude --version.

Integra questo blocco in ~/.tmux.conf. Le prime tre righe sono la configurazione documentata da Anthropic; l’opzione commentata per il mouse è facoltativa e non è un requisito di Anthropic.

Tmux
set -g allow-passthrough on
set -s extended-keys on
set -as terminal-features 'xterm*:extkeys'

# Optional preference: enable mouse interaction in tmux.
# set -g mouse on

Il passthrough permette a notifiche e aggiornamenti sullo stato di avanzamento di raggiungere il terminale esterno. Il supporto ai tasti estesi consente a tmux di distinguere Shift+Enter da Enter. Per applicare la configurazione a un server tmux già in esecuzione, usa tmux source-file ~/.tmux.conf; un nuovo server carica il file all’avvio. Configurazione del terminale nella documentazione Anthropic.

Se non hai ancora un server tmux attivo, crea la prima sessione come descritto qui sotto, poi esegui il comando per ricaricare la configurazione. Per la configurazione iniziale lascia da parte i plugin di terze parti: questo flusso di lavoro non ne richiede nessuno.

Un worktree, una sessione con un nome riconoscibile

Un worktree Git è un altro checkout, con file e branch propri, che condivide la cronologia del repository. Una sessione tmux è un insieme di finestre del terminale identificato da un nome; un riquadro, o pane, è una suddivisione di una finestra. Pensa al worktree come al banco di lavoro e a tmux come alla stanza da cui puoi uscire e in cui puoi rientrare. Guida Anthropic ai worktree.

Usa nomi coerenti tra worktree e sessioni, così il nome della sessione ti dirà in quale checkout stai entrando. Questa è un’organizzazione suggerita, non quella predefinita di Claude Code:

AttivitàWorktree sull’hostSessione tmuxFinestre
Sviluppo di una funzionalità~/src/project-feature-acc-feature-aclaude, facoltativa checks
Analisi di un bug~/src/project-bugfixcc-bugfixclaude, facoltativa checks

L’esempio seguente mostra la configurazione iniziale e presuppone un repository già presente in ~/src/project, con almeno un commit e nomi di branch, directory e sessioni ancora inutilizzati. Sostituisci dev@devbox e il percorso del progetto. Parti dalla normale shell del portatile, fuori da tmux. I comandi per i worktree seguono la procedura manuale di Anthropic; l’organizzazione delle sessioni con nomi dedicati è la proposta di questa guida.

Bash
ssh dev@devbox
cd ~/src/project

git worktree add ../project-feature-a -b feature-a
git worktree add ../project-bugfix -b bugfix

tmux new-session -d -s cc-feature-a -n claude -c "$HOME/src/project-feature-a"
tmux new-session -d -s cc-bugfix -n claude -c "$HOME/src/project-bugfix"

tmux attach-session -t cc-feature-a
# Now inside the feature worktree's tmux shell:
claude

Una volta stabilita la connessione SSH, esegui i comandi successivi sull’host remoto. All’inizio, le due sessioni scollegate contengono soltanto delle shell. Collegandoti a una di esse ed eseguendo claude, avvii la sessione di programmazione in primo piano, comprese le eventuali richieste della normale configurazione iniziale. Quando vuoi attivare la seconda attività, scollegati dalla prima sessione, collegati a cc-bugfix ed esegui claude anche lì.

Ogni worktree richiede la propria configurazione del progetto, comprese le dipendenze e le eventuali impostazioni locali necessarie. Controlla directory e branch prima di affidare a Claude un’attività che modifichi i file. Procedura manuale di Anthropic per i worktree.

Se vuoi una shell aggiuntiva per i test nel checkout della funzionalità, esegui tmux new-window -t cc-feature-a -n checks -c "$HOME/src/project-feature-a" da una shell sull’host. Tieni le verifiche accanto all’attività a cui si riferiscono. Evita di usare il checkout principale come directory di lavoro provvisoria condivisa dai due agenti.

Se usi anche Codex, la nostra guida ai worktree di Codex CLI ne illustra separatamente il flusso di lavoro.

Schema architetturale di un portatile collegato via SSH a un host remoto che contiene due sessioni tmux separate.
Le sessioni risiedono sull’host remoto. SSH permette di raggiungerle; in questa configurazione, a ogni sessione corrisponde un worktree separato.

Scollegarsi da tmux e ritrovare la sessione via SSH

Con il prefisso predefinito di tmux, premi Ctrl+B, rilascia entrambi i tasti e poi premi D. Il client si scollega dalla sessione e torni alla shell remota. A questo punto puoi interrompere la connessione SSH. Lascia Claude in esecuzione dentro la sua sessione.

Quando torni, esegui ssh dev@devbox, poi tmux list-sessions e infine tmux attach-session -t cc-feature-a. Usa lo stesso host remoto e lo stesso account utente. Dal portatile puoi ottenere lo stesso risultato con un unico comando: ssh -t dev@devbox 'tmux attach-session -t cc-feature-a'.

Cosa vuoi fareAzione
Lasciare il lavoro in esecuzioneCtrl+B, poi D
Vedere le sessioni e i loro nomitmux list-sessions
Tornare alla correzione del bugtmux attach-session -t cc-bugfix
Passare a un’altra sessione dall’interno di tmuxCtrl+B, poi S
Scegliere una finestra della sessione correnteCtrl+B, poi W

Queste combinazioni presuppongono il prefisso predefinito. Se lo hai modificato, usa quello che hai configurato. Quando sei già dentro tmux, passa da una sessione all’altra senza avviare un altro client tmux annidato.

Ricollegarsi significa tornare al processo del terminale già esistente. Se quel processo è terminato, recuperare la conversazione è un’operazione diversa: claude --continue riprende l’ultima conversazione nella directory corrente, mentre claude --resume apre un selettore. Nessuno dei due comandi sostituisce il mantenimento in esecuzione del processo originale. Gestione delle sessioni nella documentazione Anthropic.

Per accedere da telefono o browser, consulta la guida a Claude Code Remote Control. L’esecuzione rimane comunque sull’host, che deve restare acceso. Remote Control nella documentazione Anthropic.

Quando aggiungere Claude Code Agent Teams

I team di agenti sono sperimentali e disabilitati per impostazione predefinita. Da una shell tmux, avvia una nuova sessione interattiva dell’agente coordinatore con CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 claude --teammate-mode tmux. La variabile d’ambiente abilita i team per quell’avvio; il flag seleziona la visualizzazione a riquadri separati. Configurazione dei team di agenti nella documentazione Anthropic.

L’impostazione predefinita attuale è in-process. auto usa riquadri separati all’interno di tmux e ricorre a una modalità alternativa quando necessario; tmux seleziona la modalità a riquadri separati con rilevamento del terminale. Per rendere permanente la preferenza, usa teammateMode in ~/.claude/settings.json. I riquadri separati assegnano ai membri del team terminali visibili distinti. Anthropic indica che il terminale integrato di VS Code, Windows Terminal e Ghostty non sono supportati per questa modalità. Modalità di visualizzazione e limiti nella documentazione Anthropic.

Per una prima prova, affiderei al coordinatore questo incarico circoscritto:

Crea un team di agenti per indagare sul timeout del checkout. Chiama un membro Requests e un altro Storage. Requests deve ricostruire il comportamento dei tentativi successivi; Storage deve esaminare i confini delle transazioni. Chiedi loro di confrontare le evidenze raccolte. Non modificare i file. Restituisci una proposta di correzione e un piano di test.

Le sessioni cc-feature-a e cc-bugfix avviate manualmente non diventano membri di un team solo perché sono entrambe in tmux. Creare un team è una scelta distinta: stabilisce chi assegna il lavoro e chi mette insieme i risultati. Preferisci i subagenti di Claude Code quando vuoi delegare un compito mirato all’interno di una sola sessione.

Due ambienti di lavoro manuali indipendenti affiancati a un team di agenti con collegamenti tra il coordinatore e i membri.
Con le sessioni manuali, il coordinamento resta a te. Un team di agenti aggiunge un coordinatore e la comunicazione tra i membri.

Un riquadro non è un checkout separato. Per modifiche indipendenti, assegna file diversi oppure usa worktree separati. I team consumano anche più token; tmux non riduce questo consumo. Ricollegarsi mantiene l’accesso a un terminale attivo, mentre /resume non ripristina i membri del team in modalità in-process. Indicazioni di Anthropic sui team.

Cinque situazioni in cui questa configurazione è utile

Darei priorità a questi utilizzi nell’ordine indicato. Sono possibili flussi di lavoro, non risultati misurati di produttività.

Situazione di sviluppoCome usare la configurazionePossibile vantaggio
Lavori da un portatile su un host di sviluppo remotoTieni l’attività di programmazione in una sessione remota con un nome riconoscibile; scollegati dalla sessione prima di andare viaRiduce la necessità di ricostruire l’ambiente di lavoro nel terminale dopo uno spostamento o una disconnessione
Arriva una segnalazione di bug mentre stai sviluppando una funzionalitàAssegna al bug un branch, un worktree e una sessione dedicatiPuoi indagare senza interferire con il checkout della funzionalità ancora incompleta
Mantieni due linee di rilascioDedica a ciascuna un checkout e una sessione con nomi chiariÈ più facile vedere su quale versione stai lavorando prima di approvare le modifiche
Confronti approcci diversi all’implementazioneAssegna a ogni alternativa un worktree separato, poi esamina i diff risultantiConserva entrambi gli esperimenti fino alla scelta e rende esplicita la decisione su cosa integrare
Ti servono più punti di vista su un problema dalla causa poco chiaraProva un’indagine circoscritta con un team di agenti, poi chiedi al coordinatore di confrontare le evidenzePuò accelerare il percorso verso una diagnosi utile quando vale la pena indagare in modo indipendente

Prima di aggiungere altra automazione, misura il costo delle interruzioni. Per esempio, cinque interruzioni che richiedono ciascuna quattro minuti per ricostruire il contesto costano venti minuti alla settimana. Sono valori ipotetici, non risultati di benchmark. Registra i tuoi tempi di ripresa, configurazione e revisione: il flusso di lavoro è utile se il totale migliora. Aumentare gli agenti attivi contemporaneamente non è automaticamente più conveniente.

Due piccoli strumenti da costruire intorno a questo flusso

L’opportunità più promettente è uno strumento che avvii worktree e sessioni per i team di sviluppo. Un team che gestisce la piattaforma di sviluppo potrebbe pagare per rendere coerenti nomi delle attività, percorsi dei checkout e comandi di collegamento tra tutti gli sviluppatori. La versione minima utile dovrebbe creare o individuare un worktree, aprire la sessione tmux associata e mostrare branch e percorso prima di avviare Claude. Dovrebbe chiedere conferma prima di eliminare un checkout.

La stima delle ricerche negli Stati Uniti di DataForSEO, rilevata il 12 ottobre 2026, indica 480 ricerche mensili per “tmux claude code”. È un segnale circoscritto di interesse per la configurazione, non un conteggio di potenziali acquirenti. Il limite è che potrebbe bastare un breve script interno; un prodotto a pagamento deve offrire configurazione o assistenza specifiche per il team, capaci di risparmiare lavoro ricorrente.

Un inventario delle sessioni remote è un secondo prodotto, più circoscritto. Un piccolo team di sviluppo potrebbe usare un unico punto in cui registrare alias degli host approvati, nomi delle sessioni e percorsi dei checkout, con un comando copiabile per collegarsi via SSH alla sessione. Parti dal rilevamento delle sessioni e dalla navigazione tra esse; aggiungi controlli sul loro ciclo di vita solo se gli utenti ne hanno bisogno.

La stessa verifica di DataForSEO stima 1,600 ricerche mensili negli Stati Uniti per “claude code remote” e 70 per “claude code remote ssh”. La query più ampia comprende anche chi cerca altre interfacce per l’accesso remoto, quindi da sola non convalida l’idea di un prodotto SSH. Il nodo è la gestione degli accessi: l’inventario deve rispettare i permessi che ogni sviluppatore ha già sugli host. Prima di costruire una dashboard, intervista team che lavorano prevalentemente da remoto.

Le domande che emergono nell’uso quotidiano

Claude continua a lavorare se chiudo il portatile?

Sì, se Claude e tmux sono su un host remoto che rimane attivo e connesso. Se invece girano sul portatile e questo va in sospensione, anche il lavoro si ferma. Inoltre, un terminale ancora attivo non garantisce che il lavoro proceda: Claude potrebbe essere in attesa di un tuo intervento.

Perché Shift+Enter continua a inviare il messaggio dentro tmux?

Verifica di aver modificato e ricaricato la configurazione sull’host che esegue effettivamente tmux. Dove serve /terminal-setup, eseguilo nel terminale esterno. Ctrl+J è l’alternativa documentata per andare a capo. Configurazione del terminale nella documentazione Anthropic.

Perché, quando provo a ricollegarmi, la sessione risulta inesistente?

Controlla host, utente e nome esatto della sessione con tmux list-sessions. Se la sessione è terminata o l’host è stato riavviato, serve una procedura di recupero, non un altro tentativo di collegamento. Non creare una sessione sostitutiva dal nome simile finché non sai se quella originale è ancora in esecuzione altrove.

Due riquadri tmux impediscono agli agenti di modificare gli stessi file?

No. In questa configurazione, l’isolamento deriva dai percorsi separati dei worktree. Verifica directory e branch di ogni shell prima di avviare le modifiche. Dovrai comunque esaminare e integrare i cambiamenti risultanti.

Da mettere in pratica lunedì: scegli un’attività remota, crea il relativo worktree e una sessione con un nome riconoscibile, poi verifica di poterti scollegare e ricollegare prima di lasciarla incustodita. Aggiungi una seconda attività indipendente solo quando questa procedura sarà diventata abituale.

Se al tuo team serve integrare questo flusso di lavoro nell’ambiente di sviluppo, realizziamo sistemi di AI per la produzione.

Pubblicato
Categoria
Build
vLLM vs Ollama: quale scegliere e quando migrare

vLLM vs Ollama: quale scegliere e quando migrare

vLLM vs Ollama: confronta installazione, GPU, richieste simultanee e costi. Scopri quando restare in locale e come pianificare il passaggio a un server.12 ott 2026Build
Lovable vs Cursor: come scegliere e quando passare al codice

Lovable vs Cursor: come scegliere e quando passare al codice

Lovable o Cursor? Confronta costi, hosting e gestione del codice, scegli lo strumento per il tuo MVP e scopri come passare da Lovable a Cursor con GitHub.11 ott 2026Build
LM Studio vs Ollama: quale scegliere per gli LLM in locale

LM Studio vs Ollama: quale scegliere per gli LLM in locale

Confronta LM Studio e Ollama per gli LLM in locale: API, app desktop, GPU, privacy, licenze per il lavoro e costi del software e dei piani cloud.11 ott 2026Build
Cursor Rules: come impostare regole utili al tuo team

Cursor Rules: come impostare regole utili al tuo team

Configura le Cursor Rules con file e criteri di attivazione corretti. Tre esempi TypeScript per stile, test e sicurezza, con verifiche su una modifica reale.11 ott 2026Build
Codex CLI: come iniziare e configurarlo per il team

Codex CLI: come iniziare e configurarlo per il team

Installa Codex CLI, completa il primo task e configura modelli, permessi, AGENTS.md, server MCP e worktree per un flusso di lavoro condiviso nel team.11 ott 2026Build
Come usare Claude Code: meno correzioni, più risultati

Come usare Claude Code: meno correzioni, più risultati

Come usare Claude Code con verifiche, piani e istruzioni mirate: nove abitudini per ridurre le correzioni, gestire i costi e lavorare meglio in team.11 ott 2026Build
Codex plugin: come creare e condividere i workflow del team

Codex plugin: come creare e condividere i workflow del team

Crea un plugin Codex con skill e MCP, installalo da un marketplace e condividilo con il team: file di esempio, compatibilità e gestione delle credenziali.11 ott 2026Build
CLAUDE.md: istruzioni e memoria per lavorare in team

CLAUDE.md: istruzioni e memoria per lavorare in team

Configura CLAUDE.md per il tuo team: comandi condivisi, regole per file e memoria automatica di Claude Code, con un modello pronto e una revisione mensile.11 ott 2026Build
Newsletter

Una lettera, ogni domenica.Sistemi che funzionano, non hot take.

Settimanale. Niente spam. Si cancella quando vuole.