#Claude Code Teams
cmux claude-teams launches Claude Code with agent teams enabled. When Claude spawns teammate agents, they appear as native cmux splits instead of tmux panes, with full sidebar metadata and notifications.
#Usage
cmux claude-teams
cmux claude-teams --continue
cmux claude-teams --model sonnetAll arguments after claude-teams are forwarded to Claude Code. The command defaults teammate mode to auto and sets the environment so Claude uses cmux splits.
#How it works
cmux claude-teams creates a tmux shim script and configures the environment so Claude Code thinks it's running inside tmux. When Claude issues tmux commands to manage teammate panes, the shim translates them into cmux socket API calls.
- Crea uno shim tmux nella directory temporanea degli shim della superficie corrente. Il percorso include l’UUID della superficie e cambia per ogni pannello e a ogni avvio, quindi non è possibile indicare un percorso fisso
- Imposta TMUX e TMUX_PANE per simulare tmux nella sessione di avvio di Claude Teams
- Prepends the shim directory to PATH so Claude finds the shim before real tmux
- Enables CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 and sets teammate mode to auto
Lo shim instrada verso cmux solo quando CMUX_CLAUDE_TEAMS_CMUX_BIN è impostato; altrimenti passa in modo trasparente al successivo eseguibile tmux reale. Di conseguenza, which tmux non indica se l’intercettazione di Claude Teams è attiva.
#Environment variables
| Variable | Purpose |
|---|---|
TMUX | Percorso sintetico del socket tmux per la sessione che ha eseguito cmux claude-teams |
TMUX_PANE | Identificatore sintetico del pannello tmux per la sessione che ha eseguito cmux claude-teams; vuoto nei pannelli agente generati |
CMUX_SURFACE_ID | L’UUID della superficie corrente; usalo come identificatore della superficie all’interno di un pannello agente creato |
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS | Enables Claude Code agent teams feature |
CMUX_SOCKET_PATH | Path to the cmux control socket for the shim to connect to |
I valori sintetici TMUX, TMUX_PANE e i valori correlati di compatibilità tmux descrivono la sessione che ha eseguito cmux claude-teams, non i pannelli creati. Da un pannello agente, usa CMUX_SURFACE_ID ed esegui cmux tree --json; l’oggetto caller nell’output identifica il pannello chiamante.
#Directories
| Path | Purpose |
|---|---|
| Directory per superficie nella directory temporanea di sistema (nessun percorso fisso) | Contiene lo shim tmux attivo e viene anteposto a PATH per quella superficie |
~/.cmuxterm/tmux-compat-store.json | Archiviazione persistente per buffer e hook di tmux-compat e per lo stato di posizionamento/layout delle suddivisioni |
Le chiavi di instradamento delle suddivisioni sono:
lastSplitSurface— Mappa ogni UUID del workspace all’UUID della superficie creata dall’ultima suddivisione. Fornisce il valore iniziale all’ancora della colonna degli agenti, che decide dove atterra la prossima suddivisione main-vertical.mainVerticalLayouts— Mappa ogni UUID del workspace amainSurfaceId(la superficie principale o leader) elastColumnSurfaceId(la superficie più in basso nella colonna degli agenti). Le successive suddivisioni dei membri del team puntano a quella colonna e si impilano verso il basso.
Controlla queste chiavi di instradamento quando il pannello di un membro del team appare come una scheda dietro una superficie esistente invece che come una suddivisione accanto ad essa.
#Supported tmux commands
The shim translates these tmux commands into cmux operations:
new-session,new-window→ creates a new cmux workspacesplit-window→ splits the current cmux panesend-keys→ sends text to a cmux surfacecapture-pane→ reads terminal text from a cmux surfaceselect-pane,select-window→ focuses a cmux pane or workspacekill-pane,kill-window→ closes a cmux surface or workspacelist-panes,list-windows→ lists cmux panes or workspaces