
If you are running multiple AI coding agents like Claude Code, Codex, or OpenCode in parallel, you probably know the pain: tabs become unreadable, you lose track of which agent needs your attention, and switching between them becomes a nightmare.
Enter cmux — a free, open-source macOS terminal built specifically for multitasking with AI coding agents.
What is cmux?
cmux is a native macOS terminal application built with Swift and AppKit. It uses libghostty (the rendering engine behind Ghostty) for terminal rendering, which means it is fast, GPU-accelerated, and reads your existing Ghostty config for themes, fonts, and colors.
Unlike tmux, which runs inside a terminal, cmux is a full-fledged GUI app with built-in vertical tabs, split panes, an embedded browser, and a powerful notification system. No config files or prefix keys needed.
Website: cmux.com | GitHub: manaflow-ai/cmux
Key Features
1. Notification Rings
This is the killer feature. When a coding agent needs your attention, its pane gets a blue ring around it, and the corresponding tab lights up in the sidebar. No more missing Claude is waiting for your input notifications.
Notifications work via standard terminal escape sequences (OSC 9/99/777), or you can use the cmux notify CLI command. It integrates with Claude Code hooks out of the box.
2. Vertical Tabs with Rich Metadata
The sidebar shows much more than just tab titles. Each tab displays:
- Git branch name
- Linked PR status and number
- Working directory path
- Listening ports (e.g., localhost:3000)
- Latest notification text
This means you can tell at a glance which project each tab belongs to, which branch you are on, and whether an agent is waiting for you.
3. Built-in Browser
cmux includes an embedded browser with a scriptable API ported from Vercel agent-browser. You can:
- Split a browser pane next to your terminal
- Have Claude Code interact with your dev server directly
- Import cookies and sessions from Chrome, Firefox, Arc, etc.
- Use
cmux open-browserto launch browser panes
4. SSH Workspaces
cmux ssh user@remote creates a dedicated workspace for remote machines. Browser panes route through the remote network, so localhost just works. You can even drag an image into a remote session to upload via SCP.
5. Claude Code Teams
cmux claude-teams runs Claude Code teammate mode with one command. Teammates spawn as native splits with sidebar metadata and notifications. No tmux required.
6. Fully Scriptable
Everything is controllable via CLI and socket API:
- Create workspaces and tabs
- Split panes horizontally or vertically
- Send keystrokes to panes
- Automate browser interactions
7. Custom Commands
Define project-specific actions in cmux.json that launch from the command palette. Think of it as per-project shortcuts.
cmux vs tmux vs Other Terminals
| Feature | cmux | tmux | iTerm2 |
|---|---|---|---|
| Notification rings | Yes | No | No |
| Vertical tabs with metadata | Yes | No | Limited |
| Built-in browser | Yes | No | No |
| Native macOS app | Yes | N/A | Yes |
| GPU-accelerated | Yes | No | Yes |
| Agent notification integration | Built-in | Manual | Manual |
| SSH workspace support | Built-in | Manual | Manual |
| Prefix key needed | No | Yes (Ctrl+B) | No |
| Price | Free | Free | Free |
Installation
The easiest way to install cmux is via Homebrew:
brew tap manaflow-ai/cmux
brew install --cask cmux
Or download the DMG directly from the GitHub releases page.
cmux auto-updates via Sparkle, so you only need to install once.
Essential Keyboard Shortcuts
Workspaces
Cmd+N— New workspaceCmd+1-8— Jump to workspace 1-8Cmd+Shift+W— Close workspaceCmd+Shift+R— Rename workspace
Panes
Cmd+D— Split rightCmd+Shift+D— Split downOption+Cmd+Arrow— Focus pane directionally
Surfaces (Tabs)
Cmd+T— New surfaceCtrl+Tab— Next surfaceCtrl+Shift+Tab— Previous surface
Notifications
Cmd+Shift+U— Jump to most recent unread notification
Who is cmux For?
cmux is primarily designed for developers who:
- Run multiple AI coding agents in parallel
- Need to track which agent needs attention
- Want a browser alongside their terminal
- Work with multiple projects and git branches simultaneously
- SSH into remote servers frequently
That said, even if you are not using AI coding agents, cmux vertical tabs and metadata-rich sidebar make it an excellent general-purpose terminal for power users.
My Thoughts
The barrier to building tools is getting lower, but it has not disappeared entirely. To build a great tool, you still need solid software engineering thinking — it is just that AI has dramatically accelerated progress and project management.
Beyond that, AI is also reshaping how we use tools. Many tools that used to work well are no longer a good fit for the AI era and need to be rebuilt from scratch. That is the opportunity.
cmux is a perfect example of this trend. Terminal multiplexers like tmux have been around for over a decade, but they were not designed for a world where you run multiple AI coding agents simultaneously. The developer of cmux recognized this gap and built a purpose-built solution — using libghostty as the rendering engine rather than reinventing the wheel, focusing innovation on the notification system and agent-aware UX that tmux simply cannot provide.
This is the kind of thinking that leads to great tools: not building everything from scratch, but identifying what existing tools get wrong in a new context and fixing exactly that.
Conclusion
cmux solves a real problem: managing multiple terminal sessions and coding agents without losing context. It combines the speed of a native app, the flexibility of a terminal, and the awareness of a notification system into one clean package.
If you are a developer working with AI coding agents on macOS, cmux is worth a try. It is free, open-source, and respects your existing Ghostty configuration.
Links:
- Official site: cmux.com
- GitHub: github.com/manaflow-ai/cmux
- Discord: Join the community
- YouTube: Demo video
