cmux
A Ghostty-based macOS terminal with vertical tabs and notifications for AI coding agents.
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.
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.
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 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.
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.
FAQ
How does cmux relate to Ghostty?
Which coding agents does cmux work with?
How do notifications work?
cmux notify or hooks.