Skip to main content
cmux hero

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 notify into agent hooks for Claude Code, OpenCode, and custom tools
The in-app browser lets agents snapshot the accessibility tree, get element refs, click, fill forms, and evaluate JS. Split a browser pane next to your terminal and have your coding agent interact with your dev server directly.

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