#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 un shim de tmux en el directorio temporal de shims de la superficie actual. La ruta incluye el UUID de la superficie y cambia por panel y por arranque, por lo que no se puede indicar una ruta fija
- Establece TMUX y TMUX_PANE para simular tmux en la sesión de inicio de 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
El shim enruta a cmux solo cuando está definido CMUX_CLAUDE_TEAMS_CMUX_BIN; si no, continúa de forma transparente con el siguiente ejecutable real de tmux. Por eso, which tmux no indica si la interceptación de Claude Teams está activa.
#Environment variables
| Variable | Purpose |
|---|---|
TMUX | Ruta sintética del socket de tmux para la sesión que ejecutó cmux claude-teams |
TMUX_PANE | Identificador sintético de panel de tmux para la sesión que ejecutó cmux claude-teams; está vacío en los paneles de agente generados |
CMUX_SURFACE_ID | El UUID de la superficie actual; úsalo como identificador de la superficie dentro de un panel de agente generado |
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 |
Los valores sintéticos TMUX, TMUX_PANE y los valores relacionados de compatibilidad con tmux describen la sesión que ejecutó cmux claude-teams, no los paneles generados. Desde un panel de agente, usa CMUX_SURFACE_ID y ejecuta cmux tree --json; el objeto caller de la salida identifica el panel que hizo la llamada.
#Directories
| Path | Purpose |
|---|---|
| Directorio por superficie dentro del directorio temporal del sistema (sin ruta fija) | Contiene el shim de tmux activo y se antepone a PATH para esa superficie |
~/.cmuxterm/tmux-compat-store.json | Almacenamiento persistente para búferes y hooks de tmux-compat, y para el estado de ubicación/disposición de las divisiones |
Las claves de enrutamiento de divisiones son:
lastSplitSurface— Asigna cada UUID de espacio de trabajo al UUID de superficie creado por la última división. Proporciona el valor inicial del ancla de la columna de agentes que decide dónde cae la siguiente división main-vertical.mainVerticalLayouts— Asigna cada UUID de espacio de trabajo amainSurfaceId(la superficie principal o líder) ylastColumnSurfaceId(la superficie inferior de la columna de agentes). Las siguientes divisiones de compañeros apuntan a esa columna y se apilan hacia abajo.
Inspecciona estas claves de enrutamiento si un panel de compañero aparece como una pestaña detrás de una superficie existente en lugar de como una división a su lado.
#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