cmux - An open-source terminal tool designed specifically for AI Coding Agents
cmux is an open-source terminal tool designed specifically for AI Coding Agents. It aggregates and displays Git branches, PR status, ports, and Agent notifications through vertical tabs, and uses an intelligent notification ring to accurately locate tasks awaiting confirmation.
What is cmux?
cmux is an open-source terminal tool designed specifically for AI Coding Agents. It aggregates and displays Git branches, PR status, ports, and Agent notifications through vertical tabs, and uses an intelligent notification ring to accurately locate tasks awaiting confirmation. The tool has a built-in programmable browser that allows Agents to directly operate local services, supports split-screen and Claude Code Teams multi-Agent parallel mode, and provides CLI and Socket API for automated orchestration.
main functions of cmux
- Vertical tabs and high-density information barsThe sidebar displays all terminal sessions using vertical tabs. Each tab directly shows the Git branch, associated PR status and number, working directory, listening port, and latest notification text.
- Intelligent notification ring systemWhen an Agent task gets stuck and is waiting for user confirmation, the corresponding panel will automatically light up with a blue halo, the sidebar label will be highlighted, and a macOS desktop notification will be pushed; keyboard shortcuts are supported to quickly jump to the latest unread notification.
- Native split-screen and Claude Code TeamsSupports horizontal and vertical split-screen modes, and can launch Claude Code Teams mode with one click, running multiple agents side by side with native split panes, and displaying the metadata and notification status of each agent independently and synchronously in the sidebar.
- Built-in programmable browserThe browser pane can be opened directly next to the terminal, supporting the capture of page accessibility tree snapshots, obtaining element references, and executing click/form filling/JS, enabling the Agent to directly operate the local development server without switching windows.
- CLI and Socket APIIt provides a command-line interface and a Unix Socket API, supporting scripted creation of workspaces, split screens, tabs, input sending, and browser control, enabling complete automated workflow orchestration.
- SSH remote workspaceCreates an independent workspace for a remote machine, with the browser pane directly accessible from localhost via remote network routing; images dragged and dropped into the remote session are automatically uploaded via scp, eliminating the need for manual command typing.
The technical principles of cmux
- Architecture and rendering layercmux embeds libghostty as the underlying terminal rendering library, inheriting its GPU-accelerated rendering capabilities; the upper-layer GUI is developed natively using Swift + AppKit, avoiding the performance and memory overhead of Electron/Tauri, and the terminal key binding directly reuses the local Ghostty configuration file.
- Agent notification capture mechanismThe notification system automatically monitors the Agent process status through standard terminal escape sequences, and can be manually triggered via cmux CLI and Claude Code hooks. When the Agent requires user intervention, the framework draws a blue notification ring on the target panel, synchronously updates the unread mark in the sidebar, pops up a notification panel, and pushes a native macOS desktop notification.
- Programmable control interfaceAll workspaces, split screens, tabs, browsers, and input operations are exposed through the Unix Socket API, allowing external processes or scripts to directly connect to the socket to control terminal layout and content flow; a CLI wrapper is also provided to enable the Agent itself or CI pipelines to automatically orchestrate multi-session tasks.
How to use cmux
- Install applicationOnly supports macOS; execute in the terminal.
brew install --cask cmuxOr download from GitHub Release..dmgInstallation package. - Startup and ConfigurationAutomatically reads the local Ghostty configuration file upon first startup.
~/.config/ghostty/configApply themes, fonts, and key bindings; cmux-specific shortcuts can be customized in settings. - Create Agent SessionClick on the sidebar
+Create a new label and run it directly.claudeorcodexWait for the Agent command; runcmux teamsIt can start multi-agent side-by-side mode with one click. - Monitoring and Response NotificationWhen the Agent needs confirmation, observe the blue highlighted label in the sidebar and click to jump to the desired location; press the shortcut key to cycle through all unread notifications.
- Browsers and AutomationIn the split-screen menu, select the browser pane and enter the local development address; then...
cmuxCLI commands or Socket scripts control label creation, input sending, and layout switching.
The core advantages of cmux
-
native performanceBuilt with Swift/AppKit, with no Electron memory overhead, fast startup, and smooth rendering.
-
Agent native designFrom notifications to split-screen, every function is designed around the scenario of "multi-agent parallelism", rather than the passive adaptation of traditional terminals.
-
Extremely high information densityVertical tabs simultaneously display branches, PRs, ports, and notifications, allowing you to easily locate the desired session.
-
Programmable AutomationCLI + Socket API frees workflow orchestration from the constraints of a GUI and can be integrated with scripts, CI, or the Agent itself.
-
Zero-configuration start-upNo tmux prefix key or complex configuration files are required; it works out of the box.
cmux project address
- Project official websitehttps://cmux.com/zh-CN
- GitHub repositoryhttps://github.com/manaflow-ai/cmux
Comparison of similar products from cmux
| Dimension | cmux | Warp | Microsoft Intelligent Terminal |
|---|---|---|---|
| Product Positioning | AI Agent Multi-tasking Native Terminal | Agentic Development Environment | Windows AI Agent native terminal |
| Architecture | Swift/AppKit native applications | Rust/Electron | Windows Terminal Branch (C++) |
| Supported Platforms | macOS only | macOS/Linux/Windows | Windows only |
| Agent integration | Passive carriers (Claude Code/Codex, etc.) | Active Agent Mode + Oz Orchestration Layer | Active ACP protocol + 25+ Agent CLIs |
| Vertical labels | With Git/PR/port/notification metadata | Bottom Block Label | Traditional top label |
| Agent notification | Halo + Highlight + Desktop Notification | Block-based AI output + Agent dashboard | Integrated Windows Notification Center |
| Built-in browser | Programmable API | ||
| MCP support | (Supported by the agent itself) | Native MCP | via Agent CLI |
| Multi-Agent Parallel | Claude Code Teams Split Screen | Multi-Agent Sessions + Cloud Orchestration | Single Agent Switching |
Application scenarios of cmux
-
Multi-Agent Parallel DevelopmentSimultaneously run 4-6 Claude Code/Codex sessions to process different modules, and track the progress of each task in real time through vertical tabs.
-
Full-stack local debuggingThe terminal runs the backend service, and the browser in the same window accesses localhost in split screen. The Agent directly grabs the page DOM to execute frontend tests.
-
Remote server maintenanceSSH connection to a remote workspace allows direct access to remote intranet services via a browser, enabling drag-and-drop upload of screenshots or log files.
-
Automated workflow orchestration: Creates standard split-screen layouts periodically via Socket API scripts and automatically distributes tasks to each Agent panel.