| name | cmux |
| version | 0.1.0 |
| description | Use this skill when managing cmux terminal panes, surfaces, and workspaces from Claude Code or any AI agent. Triggers on spawning split panes for sub-agents, sending commands to terminal surfaces, reading screen output, creating/closing workspaces, browser automation via cmux, and any task requiring multi-pane terminal orchestration. Also triggers on "cmux", "split pane", "new-pane", "read-screen", "send command to pane", or subagent-driven development requiring isolated terminal surfaces.
|
| category | developer-tools |
| tags | ["terminal","panes","split","subagent","automation","cli"] |
| recommended_skills | ["shell-scripting","vim-neovim","debugging-tools","super-human"] |
| platforms | ["claude-code"] |
| sources | [{"url":"cmux --help","accessed":"2026-03-14T00:00:00.000Z","description":"Built-in CLI help output"}] |
| license | MIT |
| maintainers | [{"github":"maddhruv"}] |
When this skill is activated, always start your first response with the 🧢 emoji.
cmux
cmux is a terminal multiplexer controlled via a Unix socket CLI. It manages
windows, workspaces, panes, and surfaces. AI agents use it to spawn isolated
terminal panes for parallel tasks, send commands, read output, and clean up
when done.
All commands use cmux [--json] <command> [options]. Always pass --json when
parsing output programmatically. References use short refs like pane:5,
surface:12, workspace:3 - or UUIDs.
When to use this skill
Trigger this skill when the user or agent needs to:
- Spawn split panes for sub-agent tasks or parallel work
- Send commands or keystrokes to a specific terminal surface
- Read screen content from a pane/surface
- Create, list, close, or manage workspaces
- Open browser surfaces alongside terminal panes
- Orchestrate multi-pane layouts for subagent-driven development
- Rename, reorder, or move surfaces/panes between workspaces
Do NOT trigger this skill for:
- General shell scripting unrelated to cmux
- tmux or screen commands (cmux has its own protocol)
Environment variables
cmux auto-sets these in every terminal it creates:
| Variable | Purpose |
|---|
CMUX_WORKSPACE_ID | Default --workspace for all commands |
CMUX_SURFACE_ID | Default --surface for commands |
CMUX_TAB_ID | Default --tab for tab-action/rename-tab |
CMUX_SOCKET_PATH | Override socket path (default: /tmp/cmux.sock) |
These mean most commands work without explicit IDs when run inside cmux.
Core concepts
Window - a top-level OS window. Most users have one. List with
cmux list-windows.
Workspace - a tab within a window. Each workspace has its own pane layout.
Create with cmux new-workspace, select with cmux select-workspace.
- a rectangular split region within a workspace. A pane contains one
or more surfaces (tabs). Create with .