using-cmux — Claude Code plugin: sub-agents inside cmux
Gives the agent patterns for driving cmux panes, so sub-agent output and mid-task intervention stop being a black box.
/plugin marketplace add anthropics/claude-plugins-community
/plugin install using-cmux@claude-communityWhat using-cmux does
The built-in Agent tool in Claude hides what happens during a run. Moving sub-agents into cmux, a terminal multiplexer, puts their I/O on screen where you can watch it and step in.
The package ships a skill covering pane splits, workspaces, sending commands and reading the screen. One section is devoted to the newline question in send: \n or send-key return. The sub-agent lifecycle is spelled out end to end, from launch through trust detection and prompt delivery to completion detection and result collection, and troubleshooting for empty or stale read-screen output is included. Shell wrappers cmux-send, cmux-read, cmux-send-key, cmux-grid and cfork come with it, along with the /cmux quick-reference command and hooks.
You need cmux installed and Claude running inside a cmux session. The wrappers are POSIX shell scripts that rely on jq, so macOS and Linux only — Windows is out. Keep in mind what you are handing over: anything able to call cmux-send can type arbitrary commands into your panes.
What it helps with
- launch a sub-agent in its own cmux pane and watch the output
- step into a sub-agent task while it is still running
- pick between
\nandsend-key returnwhen sending text - pull the sub-agent result once the job finishes
- fix blank or stale
read-screenoutput
Example prompts for the agent
- Start a sub-agent in a new cmux pane and show me its replies
- Send this into
surface:2withcmux-sendand read the screen back - Show me the
/cmuxquick reference
How to install using-cmux
Plugin marketplace
/plugin marketplace add anthropics/claude-plugins-community/plugin install using-cmux@claude-communityStep by step, with commands for each platform: Claude Code plugins: marketplaces, installing, and building your own
Questions about using-cmux
How do I install using-cmux in Claude Code?
From the marketplace: run /plugin marketplace add anthropics/claude-plugins-community, then /plugin install using-cmux@claude-community. Skills, commands and hooks all arrive together.
What does using-cmux do?
It hands the agent a working set of cmux operations: splitting panes, sending commands, reading screens, and running one sub-agent through its whole lifecycle. The cmux-read-style wrappers and the /cmux command round it out.
What do I need before it works?
cmux installed with Claude running inside that session, plus macOS or Linux. The bin/ wrappers are POSIX shell scripts and expect jq; on Windows they will not run.
Source text
SKILL.md · MIT
**[日本語](README.ja.md)** | English  # using-cmux A Claude Code skill package for AI-driven cmux terminal operations. ## Motivation Claude Code's built-in `Agent` tool is convenient, but what happens inside is opaque. It's difficult to inspect sub-agent output or intervene mid-task, making debugging and quality control challenging. **With cmux, everything is visible.** By launching sub-agents on cmux — a terminal multiplexer — you can monitor each agent's I/O in real time and intervene at any point. The existing [hashangit/cmux-skill](https://github.com/hashangit/cmux-skill) dedicates roughly 50% of its content to browser automation, burying the most critical use case: sub-agent operations. This package restructures that content, **putting sub-agent operation patterns front and center**. ## What's Included | Category | Description | |----------|-------------| | **Basic operations** | Pane splitting, workspace management, command sending, screen reading | | **Newline rules for `send`** | The most important rule — when to use `\n` vs. `send-key return` | | **Sub-agent launch pattern** | Full lifecycle: launch → trust detection → prompt → completion detection → result collection | | **`read-screen` troubleshooting** | Fixes for empty/stale output, `refresh-surfaces`, etc. | | **Notifications** | `cmux notify` (in-app) vs. `osascript` (macOS Notification Center) | | **Status & progress** | Sidebar status and progress bar control | ## Relationship with cmux-team  - **using-cmux**: General-purpose cmux CLI operations. Covers the full lifecycle of a single sub-agent - **cmux-team**: Multi-agent orchestration. Handles team composition, task distribution, and synchronization. Built on top of using-cmux ## Prerequisites - [Claude Code](https://docs.anthropic.com/en/docs/claude-code) installed - [cmux](https://cmux.dev) installed, with Claude Code running inside a cmux session - macOS or Linux. Windows is not supported (the `bin/` wrappers are POSIX shell scripts and rely on `jq`, `cmux` CLI behavior tested only on macOS/Linux). ## Installation ### Option 1: Plugin (recommended) ``` /plugin marketplace add hummer98/using-cmux /plugin install using-cmux ``` Skills, commands, and hooks are installed together. **To update:** ``` /plugin update using-cmux /reload-plugins ``` > Note: To pick up changes in the `bin/` wrapper scripts (`cmux-read` etc.), you must restart the cmux session. The plugin's `bin/` path is baked into PATH at session start. ### Option 2: Agent Skills (skills only) ```bash npx skills add hummer98/using-cmux ``` > Note: Commands (`/cmux`) and wrapper scripts (`cmux-read` etc.) are not included in Agent Skills distribution. Use Option 1 for full functionality. ## Usage ### Auto-trigger When Claude Code starts inside a cmux session, it detects the `CMUX_SOCKET_PATH` environment variable and automatically loads the skill. No manual setup required. When Claude Code receives cmux-related instructions, it follows the patterns in SKILL.md to perform pane splitting, command sending, sub-agent launching, and more. ### `/cmux` Command Display the quick reference: ``` /cmux ``` Useful for quickly checking available commands and basic usage. ## Security The `bin/` wrapper scripts (`cmux-send`, `cmux-send-key`, `cmux-read`) are thin wrappers around the `cmux` CLI. They: - Take a `--surface` reference, look up the matching workspace via `cmux tree --json`, and forward the call to `cmux send` / `cmux read` / `cmux send-key` - Do **not** evaluate, interpolate, or modify the user-supplied payload — strings are passed verbatim to `cmux` - Run with the user's own permissions; they do not elevate privileges or write outside `cmux` - Have no network access of their own Because these wrappers send keystrokes to a chosen cmux surface, an agent that can call `cmux-send` can in principle execute arbitrary commands inside the target surface (this is by design — that is what cmux is for). Treat installation of this plugin as granting the agent the same capability as a user typing into your terminal panes. ## License [MIT](LICENSE)
© hummer98 · MIT · hummer98/using-cmux