# 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 sonnet
```

All 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.

-   Erstellt einen tmux-Shim im temporären Shim-Verzeichnis der aktuellen Oberfläche. Der Pfad enthält die Oberflächen-UUID und ändert sich pro Panel und bei jedem Systemstart, sodass kein fester Pfad angegeben werden kann
-   Setzt TMUX und TMUX\_PANE, um tmux für die Claude-Teams-Startsitzung zu simulieren
-   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

Der Shim leitet nur dann an cmux weiter, wenn `CMUX_CLAUDE_TEAMS_CMUX_BIN` gesetzt ist; andernfalls fällt er transparent auf die nächste echte tmux-Datei zurück. Deshalb zeigt `which tmux` nicht, ob die Claude-Teams-Übernahme aktiv ist.

## Environment variables

| Variable | Purpose |
| --- | --- |
| `TMUX` | Synthetischer tmux-Socket-Pfad für die Sitzung, in der cmux claude-teams ausgeführt wurde |
| `TMUX_PANE` | Synthetische tmux-Panelkennung für die Sitzung, in der cmux claude-teams ausgeführt wurde; in erzeugten Agent-Panels leer |
| `CMUX_SURFACE_ID` | Die UUID der aktuellen Oberfläche; verwenden Sie sie in einem erzeugten Agent-Panel als Oberflächenkennung |
| `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 |

Die synthetischen Werte `TMUX`, `TMUX_PANE` und die zugehörigen tmux-Kompatibilitätswerte beschreiben die Sitzung, in der `cmux claude-teams` ausgeführt wurde, nicht die erzeugten Panels. Verwenden Sie in einem Agent-Panel `CMUX_SURFACE_ID` und führen Sie `cmux tree --json` aus; das `caller`\-Objekt in der Ausgabe identifiziert das aufrufende Panel.

## Directories

| Path | Purpose |
| --- | --- |
| Verzeichnis pro Oberfläche im temporären Systemverzeichnis (kein fester Pfad) | Enthält den aktiven tmux-Shim und wird für diese Oberfläche dem PATH vorangestellt |
| `~/.cmuxterm/tmux-compat-store.json` | Dauerhafter Speicher für tmux-compat-Puffer, Hooks sowie den Zustand der Split-Platzierung und des Layouts |

Die Schlüssel für das Split-Routing sind:

-   `lastSplitSurface` — Ordnet jede Workspace-UUID der Surface-UUID zu, die durch den letzten Split erstellt wurde. Sie liefert den Startwert für den Agenten-Spaltenanker, der bestimmt, wo der nächste main-vertical-Split landet.
-   `mainVerticalLayouts` — Ordnet jede Workspace-UUID `mainSurfaceId` (der Haupt- oder Leader-Oberfläche) und `lastColumnSurfaceId` (der untersten Oberfläche in der Agentenspalte) zu. Nachfolgende Teammate-Splits zielen auf diese Spalte und werden nach unten gestapelt.

Prüfen Sie diese Routing-Schlüssel, wenn ein Teammate-Panel als Tab hinter einer vorhandenen Oberfläche statt als Split daneben erscheint.

## Supported tmux commands

The shim translates these tmux commands into cmux operations:

-   `new-session`, `new-window` → creates a new cmux workspace
-   `split-window` → splits the current cmux pane
-   `send-keys` → sends text to a cmux surface
-   `capture-pane` → reads terminal text from a cmux surface
-   `select-pane`, `select-window` → focuses a cmux pane or workspace
-   `kill-pane`, `kill-window` → closes a cmux surface or workspace
-   `list-panes`, `list-windows` → lists cmux panes or workspaces

Canonical: https://cmux.com/de/docs/agent-integrations/claude-code-teams

Documentation index: https://cmux.com/llms.txt
