What is cmux?
cmux is a native macOS terminal built with Swift and AppKit that brings vertical tabs, in-app browser, and a powerful notification system designed specifically for working with AI coding agents like Claude Code and OpenCode. Built on top of Ghostty for GPU-accelerated terminal rendering, cmux reads your existing~/.config/ghostty/config for themes, fonts, and colors, so you can keep using your favorite terminal configuration.
Key features
Notification rings
Panes get a blue ring and tabs light up when coding agents need your attention. No more missing important prompts.
Notification panel
See all pending notifications in one place, jump to the most recent unread with Cmd+Shift+U.
In-app browser
Split a browser alongside your terminal with a scriptable API ported from agent-browser for automation.
Vertical tabs
Sidebar shows git branch, linked PR status, working directory, listening ports, and latest notification text.
Scriptable CLI
CLI and socket API to create workspaces, split panes, send keystrokes, and automate the browser.
Native performance
Built with Swift and AppKit, not Electron. Fast startup, low memory usage, GPU-accelerated rendering.
Why cmux?
Running multiple AI coding sessions in parallel is challenging. Native macOS notifications lack context, and with many tabs open, you can’t tell which agent needs attention. cmux solves this with:- Visual notification system - Blue rings on panes and glowing tabs show exactly which agent is waiting
- Notification panel - All notifications in one place with full context (title, subtitle, body)
- Sidebar metadata - Git branch, PR status, working directory, ports, and notification text at a glance
- Scriptable automation - Wire
cmux notifyinto agent hooks for Claude Code, OpenCode, and custom tools
The Zen of cmux
cmux is not prescriptive about how developers hold their tools. It’s a terminal and browser with a CLI, and the rest is up to you. cmux is a primitive, not a solution. It gives you a terminal, a browser, notifications, workspaces, splits, tabs, and a CLI to control all of it. cmux doesn’t force you into an opinionated way to use coding agents. What you build with the primitives is yours. The best developers have always built their own tools. Nobody has figured out the best way to work with agents yet. Give a million developers composable primitives and they’ll collectively find the most efficient workflows faster than any product team could design top-down.Get started
Installation
Install cmux via DMG or Homebrew
Quickstart
Create your first workspace and set up notifications
CLI Reference
Explore CLI commands and socket API
Community
Join the Discord community