#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.
- Cria um shim do tmux no diretório temporário de shims da superfície atual. O caminho inclui o UUID da superfície e muda a cada painel e a cada inicialização, portanto não é possível indicar um caminho fixo
- Define TMUX e TMUX_PANE para simular o tmux na sessão de inicialização do 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
O shim roteia para o cmux somente quando CMUX_CLAUDE_TEAMS_CMUX_BIN está definido; caso contrário, passa de forma transparente para o próximo executável real do tmux. Portanto, which tmux não informa se a interceptação do Claude Teams está ativa.
#Environment variables
| Variable | Purpose |
|---|---|
TMUX | Caminho sintético do socket do tmux para a sessão que executou cmux claude-teams |
TMUX_PANE | Identificador sintético de painel do tmux para a sessão que executou cmux claude-teams; fica vazio nos painéis de agente criados |
CMUX_SURFACE_ID | O UUID da superfície atual; use-o como identificador da superfície dentro de um painel de agente criado |
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 |
Os valores sintéticos TMUX, TMUX_PANE e os valores relacionados de compatibilidade com tmux descrevem a sessão que executou cmux claude-teams, não os painéis criados. Em um painel de agente, use CMUX_SURFACE_ID e execute cmux tree --json; o objeto caller da saída identifica o painel chamador.
#Directories
| Path | Purpose |
|---|---|
| Diretório por superfície dentro do diretório temporário do sistema (sem caminho fixo) | Contém o shim ativo do tmux e é adicionado ao início de PATH para essa superfície |
~/.cmuxterm/tmux-compat-store.json | Armazenamento persistente para buffers e hooks do tmux-compat e para o estado de posicionamento/layout das divisões |
As chaves de roteamento de divisões são:
lastSplitSurface— Mapeia cada UUID de workspace para o UUID da superfície criada pela divisão mais recente. Ele inicializa a âncora da coluna de agentes que decide onde a próxima divisão main-vertical será colocada.mainVerticalLayouts— Mapeia cada UUID de workspace paramainSurfaceId(a superfície principal ou líder) elastColumnSurfaceId(a superfície mais baixa da coluna de agentes). As próximas divisões dos integrantes da equipe têm como alvo essa coluna e se empilham para baixo.
Inspecione estas chaves de roteamento quando o painel de um integrante da equipe aparecer como uma aba atrás de uma superfície existente, em vez de como uma divisão ao lado dela.
#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