NoCodeWorkflows
cmux icon

cmux

A free, open-source native macOS terminal built on Ghostty — vertical tabs, notification rings when agents need you, split panes, a scriptable browser, and a CLI. A primitive, not an orchestrator.

Operator's take

You're on a Mac with three Claude Code sessions and two Codex sessions running. macOS notifications all say some version of "Claude is waiting for your input" with no context, and your tab titles stopped being readable two tabs ago. That exact itch is where cmux came from: its author was running parallel agent sessions in Ghostty, couldn't tell which tab needed attention, tried the GUI orchestrators and bounced off their performance, and built a native terminal instead.

What shipped is a macOS terminal built in Swift and AppKit — no Electron — using libghostty (Ghostty's rendering engine, as a library) so it even reads your existing Ghostty theme and font config. The agent-awareness is the point: tabs live in a vertical sidebar that shows git branch, working directory, and ports; panes grow a ring when an agent needs you; and everything is scriptable through a CLI and Unix socket. The bet underneath is stated plainly on the project's own page: GUI orchestrators lock you into their workflow, and a terminal with good primitives doesn't. "cmux is a primitive, not a solution."

The orchestration story is real, and it runs bottom-up. cmux ships orchestration as primitives rather than as workflow: the CLI and its Unix socket can create workspaces, address every terminal surface, send input, and read state back, and a skills system packages those moves for agents to use. Third parties have proven the loop end to end — a public prompt set demonstrates a single orchestrator agent standing up, driving, and tearing down a whole fleet of agent teams inside cmux, with leads and workers in labeled, color-coded panes. The catch is that the opinionated layer doesn't ship with the app: no worktree management, no diff-review queue, no task model. If your problem is "I can't see my five agents," cmux fixes it today, free. If your problem is "I can't orchestrate and merge what five agents produced," cmux will happily host the orchestration, but you bring the orchestrator — an agent you direct, or a workflow you build. It's also Mac-only, and the iOS companion is a TestFlight beta whose early access is tied to the paid Founders Edition.

What it's good at

  • Native and fast — Swift + AppKit on libghostty with GPU rendering; reads your existing Ghostty config for themes, fonts, and colors.
  • Notification rings — panes light up and tabs get badges when an agent needs attention, driven by standard terminal escape sequences (OSC 9/99/777) plus agent hooks, so any hook-capable agent works without integration.
  • Vertical tabs with context — the sidebar shows git branch, working directory, ports, and notification text per tab, which is what makes five parallel agents legible.
  • Scriptable end to end — a CLI and Unix socket expose workspaces, splits, input, screen reads, screenshots, and the in-app browser.
  • In-app browser pane — a real browser split beside the terminal, programmable (navigate, snapshot the DOM, click, type, read console and network), with cookie/history import from 20+ browsers so panes start logged in.
  • Subagents become panes — when an agent spawns teammates (Claude Code teams, oh-my-opencode), cmux surfaces each one as a visible, controllable pane instead of a hidden process.
  • Orchestration as primitives — the CLI and socket can stand up, address, and tear down every surface, and agent skills package those moves; a third-party prompt set (validated against cmux 0.64.17) demonstrates one orchestrator agent running multi-tier lead/worker fleets entirely through them.
  • SSH workspacescmux ssh user@remote opens a workspace on a remote machine, attaches to remote tmux, and routes browser panes through the remote network.
  • Free and open source — GPL-licensed; a paid Founders Edition funds development and buys early access to cmux AI, the iOS app, and cloud VMs.

What it's not

  • Not an opinionated orchestrator — worktree management, diff review, and task tracking don't ship in the app; orchestration happens by driving the primitives yourself, typically through an orchestrator agent you supply.
  • Mac-only — a native Swift/AppKit app; no Windows or Linux version.
  • Not a Ghostty fork — it uses libghostty as a library, the way apps use WebKit; Ghostty stays its own standalone terminal.
  • iOS is beta and gated — the companion app ships on TestFlight, with early access bundled into the Founders Edition rather than open.

Categories

Get the Next Playbook

One email when a new playbook goes up. No schedule, no filler, no drip sequence.

No spam. Unsubscribe anytime. See our Privacy Policy.