cmux is a Ghostty-based macOS terminal with vertical tabs and notifications designed specifically for AI coding agents like Claude Code and Codex.
When running multiple AI coding agents in parallel, keeping track of which one needs your attention can become a nightmare. That's the problem cmux aims to solve.
Built as a native macOS application using Swift and AppKit (not Electron), cmux extends the popular Ghostty terminal emulator with features specifically designed for AI-assisted development workflows.
Why cmux Exists
The creator of cmux found themselves running numerous Claude Code and Codex sessions simultaneously, using Ghostty with split panes and relying on macOS notifications. However, they encountered two major issues:
- Claude Code's notifications only say "Claude is waiting for your input" with no context
- With enough tabs open, notification titles become unreadable
Existing coding orchestrators were either Electron/Tauri apps with performance issues or locked users into specific GUI workflows. The solution? A native terminal that preserves the flexibility of command-line tools while adding intelligent notification management.
Key Features
Visual Notification System
When an AI agent needs input, cmux provides clear visual cues:
- Panes display a blue ring around them
- Corresponding tabs light up in the sidebar
- Cmd+Shift+U jumps directly to the most recent unread notification
The notification panel aggregates all pending notifications, allowing developers to quickly identify which agent requires attention without context switching.
Vertical + Horizontal Tabs with Rich Context
Unlike traditional terminal tabs, cmux's sidebar shows:
- Git branch information
- Current working directory
- Listening ports
- Latest notification text for each workspace
This contextual information makes it easy to identify which session is which, even when running dozens of agents simultaneously.
Scriptable In-App Browser
One of cmux's standout features is its integrated browser with a scriptable API ported from agent-browser. This allows AI agents to:
- Snapshot the accessibility tree
- Get element references
- Click and fill forms
- Evaluate JavaScript
Developers can split a browser pane alongside their terminal, enabling Claude Code to interact directly with development servers.
Native Performance
Built with Swift and AppKit rather than Electron, cmux offers:
- Fast startup times
- Low memory usage
- GPU-accelerated rendering via libghostty
- Compatibility with existing Ghostty configurations for themes, fonts, and colors
Installation
Recommended: Download the DMG and drag cmux to your Applications folder. The app auto-updates via Sparkle.
Homebrew: brew tap manaflow-ai/cmux && brew install --cask cmux
On first launch, macOS may ask you to confirm opening an app from an identified developer—click Open to proceed.
Scriptable API
Everything in cmux is scriptable through both CLI and socket API:
- Create workspaces and tabs
- Split panes programmatically
- Send keystrokes
- Open URLs in the browser
- Wire into agent hooks for Claude Code, OpenCode, and other AI coding tools
Keyboard Shortcuts
cmux includes comprehensive keyboard shortcuts for efficient navigation:
Workspaces: Cmd+N (new), Cmd+1-8 (jump), Cmd+Shift+W (close) Surfaces: Cmd+T (new), Cmd+Shift+] (next), Cmd+W (close) Split Panes: Cmd+D (split right), Cmd+Shift+D (split down) Browser: Cmd+Shift+L (open browser), Cmd+L (focus address bar) Notifications: Cmd+I (show panel), Cmd+Shift+U (jump to latest unread)
Technical Details
cmux reads your existing ~/.config/ghostty/config for themes, fonts, and colors, ensuring a consistent experience. The notification system picks up terminal sequences (OSC 9/99/777) and provides a cmux notify CLI command that can be integrated into AI agent workflows.
License
cmux is licensed under the GNU Affero General Public License v3.0 or later (AGPL-3.0-or-later). See the LICENSE file for details.
For developers running multiple AI coding agents, cmux offers a native, performant solution that bridges the gap between terminal flexibility and the need for intelligent notification management in AI-assisted development workflows.

Comments
Please log in or register to join the discussion