Skip to content
Agentmart
Submit a tool

cmux

Drive the local cmux app — workspaces, panes, surfaces, terminal input, agent sessions, and browser surfaces.

Skill by will-ness-ai

IndexedMIT★ 170
Write a review

Chalk Labs

Need help deploying cmux?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/will-ness-ai-cmux

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Drive the local cmux app — workspaces, panes, surfaces, terminal input, agent sessions, and browser surfaces.

Use cases: agent-building

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/cmux

What's inside

Skill name
cmux
Description
Drive the local cmux app — workspaces, panes, surfaces, terminal input, agent sessions, and browser surfaces.
License
MIT
Instructions
264 lines in SKILL.md · view on GitHub

Before installing

  • Instructions read files in your home folder (~/.ssh, ~/.aws…)

Files (3)

  • SKILL.md
  • openai.yaml · agents/
  • automation-patterns.md · references/

SKILL.md (first lines)

# cmux

`cmux` is a command-line client for the cmux.app on this machine. Each command
opens the app's Unix socket and changes the live window. There is no dry-run
mode. Written against cmux 0.64.22; run `cmux version` to compare.

## The four nouns

| Noun | What it is |
|---|---|
| window | A macOS window. Holds workspaces. |
| workspace | A tab-like group in a window. Holds panes. |
| pane | A split area in a workspace. Holds surfaces. |
| surface | One tab in a pane. A terminal, a browser, a simulator, or an agent session. |

The surface is where text goes in and out. Almost every command needs one, and
takes it from a flag or from the environment.

## You are the caller

You run inside a cmux surface. Your environment has `CMUX_WORKSPACE_ID` and
`CMUX_SURFACE_ID`, and every targeting flag defaults to them. So `cmux send "ls"`
with no `--surface` types into your own terminal.

Start with:

```bash
cmux identify --json
```

`caller.surface_ref` in the output is you. `focused.surface_ref` is what the user
looks at. Send text to your own surface only when the user asks for that.

## Handles

A window, workspace, pane, or surface flag accepts three forms:

- **ref** — `workspace:30`, `surface:217`. Printed by every list command.
- **uuid** — `A1B2C3D4-E5F6-4789-ABCD-0123456789AB`. Stable and global.
- **index** — `0`, `1`, `2`. The position in the list.

A ref and an index both look like a number, and they point at different things:
the first workspace can print as `workspace:1` at index `0`. Use refs, and copy
them from a listing you just ran. Add `--id-format uuids` or `--id-format both`
when you need UUIDs.

## Orient first

```bash
cmux tree            # this window: workspaces, panes, surfaces, titles, ttys
cmux tree --all      # every window
cmux identify --json # who you are
```

`cmux tree` shows the whole app in one screen. Read it before you target
anything.

## Two ways in

**CLI verbs** — `cmux new-workspace`, `cmux send`, `cmux browser click`. Use
these to **create** things. A CLI verb is the only path that honours creation
options.

**`cmux rpc <method> '<json>'`** — the raw socket. Use it to **read and change
things that already exist**. It returns JSON on stdout, so it parses cleanly.

```bash
cmux rpc workspace.list
cmux rpc surface.list '{"workspace_id":"<uuid>"}'
cmux rpc surface.read_text '{"surface_id":"<uuid>"}'
cmux rpc workspace.rename '{"workspace_id":"<uuid>","title":"Done"}'
```

Creation is the split that matters. `surface.create` over rpc takes no `url`, and
workspace creation over rpc drops the title, cwd, description, and group. So:

```bash
cmux new-workspace --name "Tests" --cwd . --description "owner/repo#1" --focus false
cmux new-surface --type browser --url "file:///tmp/board.html" --workspace <uuid> --focus false
```

Errors arrive on **stderr with a non-zero exit**, not as a JSON error object:

```
Error: invalid_params: Surface is not a terminal
method_not_found: Unknown method
```

## Look it up

The binary is the source of truth, and it ships its own docs.

```bash
cmux --help              # every command
cmux <command> --help    # exact flags and examples for one command
cmux docs                # doc topics
cmux docs api            # CLI contract and socket API URLs
cmux capabilities        # every v2 socket method, as JSON
```

`cmux --help` lists more than 200 commands. Do not guess a flag. Read
`cmux <command> --help` first. To find an rpc method:

```bash
cmux capabilities | jq -r '.methods[]' | grep workspace
```

Most commands take `--json` for machine-readable output.

## Stay out of the user's way

The user is sitting in this app while you work. Pass `--focus false` on creation
so their selection stays put. Focus something only when the user asks to see it.

## Recipes

### Run a command in a new workspace

```bash

From will-ness-ai/skills, MIT.

Signals

Stars
170
Forks
4
Open issues
0
Last commit (this folder)
Aug 11, 2026 (2 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from will-ness-ai

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get cmux running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying cmux?

CallGet help
Cite this page

cmux skill. Agent Mart. https://agentmart.dev/skills/will-ness-ai-cmux (last updated 2026-10-24)