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
Agenti AI con smolagents: quando conviene farli agire in Python

Agenti AI con smolagents: quando conviene farli agire in Python

Come creare agenti AI con smolagents: azioni Python, strumenti e sandbox, un esempio con Docker e i criteri per scegliere tra LangGraph e OpenAI Agents SDK.31 ott 2026Build
Warp Terminal: recensione e criteri per scegliere

Warp Terminal: recensione e criteri per scegliere

Conviene passare a Warp Terminal? Una recensione di agenti, flussi di lavoro, prezzi e privacy per capire se cambiare terminale o mantenere quello attuale.31 ott 2026Build
Kilo Code: recensione, costi e quando conviene sceglierlo

Kilo Code: recensione, costi e quando conviene sceglierlo

Kilo Code tra editor, terminale e cloud: modelli, costi e limiti da conoscere. Una recensione per capire quando sceglierlo al posto di Cline o Claude Code.31 ott 2026Build
Agenti AI su AWS: cosa delegare a Bedrock AgentCore

Agenti AI su AWS: cosa delegare a Bedrock AgentCore

Scopri cosa offre Bedrock AgentCore per gli agenti AI su AWS: componenti, scelte architetturali, responsabilità del team e un primo progetto pilota.30 ott 2026Build
Inferenza LLM più veloce con la decodifica speculativa

Inferenza LLM più veloce con la decodifica speculativa

Come accelerare l’inferenza LLM con la decodifica speculativa: quando conviene e come configurare vLLM, SGLang e TensorRT-LLM mantenendo la verifica esatta.30 ott 2026Build
Server GPU in cloud: 7 provider a confronto per l’AI

Server GPU in cloud: 7 provider a confronto per l’AI

Confronta 7 provider di server GPU in cloud per fine-tuning e inferenza: prezzi, memoria, costi di inattività e criteri per scegliere il servizio adatto.30 ott 2026Build
GitHub Copilot tutorial: come usare Fusion e scegliere il livello giusto

GitHub Copilot tutorial: come usare Fusion e scegliere il livello giusto

Come usare GitHub Copilot Fusion: attivazione, modelli, livelli di ragionamento e crediti AI. Una prova su un repository per capire se conviene al tuo team.29 ott 2026Build
Bright Data: recensione, prezzi e guida alla scelta

Bright Data: recensione, prezzi e guida alla scelta

Recensione di Bright Data: proxy, scraping, dataset e browser per agenti AI. Costi, limiti e confronto con Firecrawl e Browse AI per scegliere quello adatto.28 ott 2026Build
Newsletter

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

Settimanale. Niente spam. Si cancella quando vuole.