#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.
- Создаёт shim tmux во временном каталоге shim текущей поверхности. Путь содержит UUID поверхности и меняется для каждой панели и при каждой загрузке, поэтому указать фиксированный путь невозможно
- Задаёт TMUX и TMUX_PANE, чтобы имитировать tmux для сеанса запуска 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
Shim направляет вызовы в cmux только при установленной переменной CMUX_CLAUDE_TEAMS_CMUX_BIN; иначе он прозрачно передаёт их следующему настоящему исполняемому файлу tmux. Поэтому команда which tmux не показывает, включено ли перехватывание Claude Teams.
#Environment variables
| Variable | Purpose |
|---|---|
TMUX | Синтетический путь к сокету tmux для сеанса, в котором запущена команда cmux claude-teams |
TMUX_PANE | Синтетический идентификатор панели tmux для сеанса, в котором запущена команда cmux claude-teams; пуст в созданных панелях агентов |
CMUX_SURFACE_ID | UUID текущей поверхности; используйте его как идентификатор поверхности внутри созданной панели агента |
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 |
Синтетические значения TMUX, TMUX_PANE и связанные значения совместимости с tmux описывают сессию, в которой была запущена команда cmux claude-teams, а не созданные панели. В панели агента используйте CMUX_SURFACE_ID и выполните cmux tree --json; объект caller в выводе идентифицирует вызывающую панель.
#Directories
| Path | Purpose |
|---|---|
| Каталог для каждой поверхности внутри системного временного каталога (фиксированного пути нет) | Содержит активный shim tmux и добавляется в начало PATH для этой поверхности |
~/.cmuxterm/tmux-compat-store.json | Постоянное хранилище буферов и хуков tmux-compat, а также состояния размещения/компоновки разделений |
Ключи маршрутизации разделений:
lastSplitSurface— Сопоставляет UUID каждого рабочего пространства с UUID поверхности, созданной последним разделением. Он задаёт начальный якорь колонки агентов, который определяет, где окажется следующее разделение main-vertical.mainVerticalLayouts— Сопоставляет UUID каждого рабочего пространства сmainSurfaceId(главной или ведущей поверхностью) иlastColumnSurfaceId(самой нижней поверхностью в колонке агентов). Последующие разделения участников команды направляются в эту колонку и складываются вниз.
Проверьте эти ключи маршрутизации, если панель участника команды появляется вкладкой за существующей поверхностью, а не разделением рядом с ней.
#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