cmux
A Ghostty-based macOS terminal with vertical tabs and notifications for AI coding agents.
- Source repo
- manaflow-ai/cmux
- Stars
- ★ 28k
- Last updated
- today
- License
- NOASSERTION
- Primary language
- Swift
- FA score
- 47/100 · Major gaps
At a glance
- How it runs
- Works with
- Platform-specificCodex · Claude Code
- Cost
- Free tier plus a paid hosted plan
- Setup effort
- Low · running in minutes
- You'll need
- Typical use
- Run multiple Claude Code or Codex sessions in parallel on macOS, using the sidebar and notifications to quickly identify which agent needs attention.
- Not a fit if
- Teams on Windows or Linux; cmux is macOS only
- Organizations that cannot comply with GPL-3.0 licensing
- Users who avoid the terminal and want a GUI-only orchestrator
- Source review
- 47/100 · Major gaps
What does this agent do, and when should you use it?
cmux is an open-source, native macOS terminal built on Ghostty's rendering engine (libghostty), designed for running multiple AI coding agents like Claude Code, Codex, and OpenCode. It introduces vertical tabs and a sidebar that displays git branch, PR status, working directory, listening ports, and latest notification per workspace, with a notification system triggered by OSC 9/99/777 sequences and CLI hooks. It also includes a scriptable in-app browser controllable via a socket API, supports SSH remote workspaces, and Claude Code team mode. The app is fully programmable through a CLI and Unix socket for creating workspaces, splitting panes, sending keystrokes, and automating the browser.
cmux acts as a terminal emulator, able to run any command-line tool. It reads ~/.config/ghostty/config for themes and fonts, and renders via libghostty. The sidebar shows metadata for each workspace, and its notification system captures OSC sequences or uses cmux notify to display a blue ring and notification badges for waiting agents. The built-in browser can be controlled via API to navigate, snapshot the DOM, click, type, and evaluate JavaScript. SSH workspaces are created with cmux ssh, supporting --command to run an initial command. Claude Code Teams is launched with cmux claude-teams. All features are programmatic through the CLI and socket API (e.g., cmux surface, cmux hooks setup).
- Run multiple Claude Code or Codex sessions in parallel on macOS, using the sidebar and notifications to quickly identify which agent needs attention.
- Developers who want an embedded browser next to the terminal, letting agents like Claude Code interact directly with the local dev server and verify changes.
- Users who need to SSH into remote machines, run agents in the remote environment while controlling the local terminal from cmux.
- Using
cmux claude-teamsto launch Claude Code team mode, with teammates as native panes. - Users who need a programmable terminal workspace, automating pane creation, input, and browser operations via CLI or socket API.
How do you install or deploy this agent?
Recommended: download the DMG from GitHub Releases (cmux-macos.dmg), open it and drag cmux to Applications. On first launch, macOS may ask to confirm opening from an identified developer; click Open. Alternatively, install via Homebrew: brew tap manaflow-ai/cmux then brew install --cask cmux. Update with brew upgrade --cask cmux. Nightly builds available for testing.
How do you use this agent?
Launch cmux; it will read your Ghostty config. Use keyboard shortcuts: ⌘N new workspace, ⌘D split right, ⌘⇧L open browser in split. For remote, run cmux ssh user@remote, optionally with --command 'omp "investigate auth"'. Set up agent hooks with cmux hooks setup (or setup codex, setup --agent opencode) to enable session resume and notifications. Full documentation is at cmux.com/docs.
What are this agent's strengths and limitations?
- Native Swift/AppKit app, fast startup and low memory compared to Electron apps.
- Tight integration with Ghostty config, reusing themes and fonts, while adding sidebar and notifications.
- Built-in programmable browser, agents can control it via API for efficient debugging.
- Supports SSH remote workspaces, allowing agents to run remotely.
- Session restore restores layout, scrollback, and browser history after restart.
- macOS only; no Windows or Linux support.
- Depends on Ghostty and libghostty; requires having Ghostty or at least its config file.
- Licensed under GPL-3.0-or-later, which may restrict commercial integration.
- No official cross-platform support, migration cost for non-macOS users.
- Notification features rely on agents supporting OSC or hook configuration; not all agents have it by default.
How does this agent compare with similar options?
Compared to tmux, cmux is a GUI app for macOS offering vertical tabs, built-in browser, and socket API without config files or prefix keys; tmux runs inside any terminal and is more universal. Compared to Electron-based agent orchestration tools, cmux is lighter and stays close to the terminal.
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| cmux This agent | 47 · Major gaps | Desktop appFreemium | ★ 28k | today | Swift | Codex · Claude Code |
| agterm | 75 · Good | Desktop appFree | ★ 677 | today | Swift | Codex · Claude Code |
| TUIOS Terminal Workspace | 59 · Major gaps | CLIFree | ★ 5.5k | today | Go | — |
| wmux Agent Workspace | 74 · Some gaps | Desktop app | ★ 431 | today | TypeScript | Codex · Claude Code |
How does FollowAgents rate this agent?
Why each dimension lost points
Evidence shows: repository includes GPL-3.0 license, clearly open source; has CLI and socket API, but no explicit least-privilege design; has user confirmation mechanisms (e.g., auto-resume sessions require user consent), but not detailed; data flow transparency limited, no detailed data collection and transmission; sensitive data handling mentioned (e.g., dropping sensitive env vars on session restore), but not comprehensive; dependency security mentioned (e.g., pinned action versions), but not fully audited; external effects mentioned (e.g., auto-update), but not detailed; rollback mentioned (e.g., session restore), but no full rollback mechanism; source attribution mentioned (e.g., copyright notice), but not detailed. Deductions: most criteria only partially met, lacking detailed evidence.
Evidence shows: project has unit tests and CI workflows, but no test results; dependency availability mentioned (e.g., prebuilt xcframework), but not verified; failure messages mentioned (e.g., CI retry logic), but not detailed. Deductions: tests not executed, dependency availability not verified, failure messages insufficient.
Evidence shows: clearly targets AI coding agent users, supports multiple scenarios (e.g., SSH, Claude Code Teams); capability boundaries stated (e.g., macOS only); trigger precision mentioned (e.g., notification system), but not detailed; environment fit stated (e.g., macOS versions). Deductions: trigger precision and some scenarios lack detailed evidence.
Evidence shows: clear information architecture (README has TOC); detailed install notes (DMG, Homebrew); naming stability not explicit; rich examples and FAQ; known limitations mentioned (e.g., macOS only); license clear (GPL-3.0); versioning/changelog not provided; maintenance responsibility mentioned (e.g., community support). Deductions: naming stability, versioning/changelog, maintenance responsibility evidence insufficient.
Evidence shows: high output usability (CLI, API, docs); high marginal value (solves specific pain points); reasonable cost-benefit (free and open source). Deductions: no evidence of actual usage effectiveness.
Evidence shows: claims supported by docs (e.g., README links to docs); cross-source verification limited (only internal docs); fact-inference separation unclear. Deductions: lack of external verification and clear separation.
- Publisher identity unverified, treat with caution.
- Dependency security not fully audited, recommend checking for vulnerabilities.
- Session restore involves sensitive data, ensure secure handling.
- Auto-update mechanism may have external effects, require user confirmation.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
Release notes excerpt
The cmux app FFI (remote desktop core + sidebar layout reducer) as CCmuxAppFFI.xcframework (one static library, universal macOS arm64/x86_64). Source b17c7f9395f1fed20891728654581ac30af6a4d4. SwiftPM binaryTarget checksum (SHA-256 of the zip): 891bb8c8a69dcf5ae5b88035992856bd781e8ce93a99a06433bb8b3b3f887614View on GitHub ↗ -
Release notes excerpt
What's Changed * ci: run backend migrations gate on every PR again (revert #17415) by @teamleaderleo in https://github.com/manaflow-ai/cmux/pull/17432 * fix: repair main's red full CI (window crash loop, Cloud port and team regressions and test drift) by @teamleaderleo in https://github.com/manaflow-ai/cmux/pull/17433 * ci: route read-only Linux lanes through Blacksmith by @teamleaderleo in https://github.com/manaflow-ai/cmux/pull/17438 * ci: say whose failure it is in the CI attribution comment by @teamleaderleo in https://github.com/manaflow-ai/cmux/pull/17443 …View on GitHub ↗
FAQ
How does cmux relate to Ghostty?
Which coding agents does cmux work with?
How do notifications work?
cmux notify or hooks.