cmux
2026-03-21 → 2026-07-31
A native macOS terminal built on Ghostty (libghostty), designed for AI coding agent workflows. OpenAI’s codex-style vertical tabs allows users to manage projects.
Why I used it, and why I moved on#
I came to cmux from bare Ghostty splits (after a tmux detour). The key thing cmux added over bare Ghostty was a vertical tab sidebar with stable naming (one tab per project), an in-app web browser, plus a notification system that tells me when an agent needs attention. Ghostty’s native splits are fine but it renames tabs based on whatever process is running in the focused pane, which is annoying when each tab is a project. cmux solved this while keeping Ghostty’s speed and GPU-accelerated rendering.
I used cmux as my main agent terminal but switched to Ghostty + Herdr after hitting memory-leak issues. cmux is otherwise lightweight and similar in spirit to that combo; you could even run Herdr inside it, but with Herdr handling the agent sessions I want the lightest-weight terminal possible.
See also How I use AI agents.
Key features#
- Vertical tab sidebar — shows git branch, working directory, listening ports, and latest notification per workspace
- Notifications — panes show a visual indicator when agents need input;
Cmd+Shift+Ujumps to the most recent unread;cmux notifyCLI integrates with Claude Code hooks - Splits — horizontal and vertical, with tabs created within a split (not the other way around)
- Ghostty config compatible — reads
~/.config/ghostty/configfor themes, fonts, colors - Scriptable — CLI and socket API for creating workspaces, splitting panes, sending keystrokes
- Embedded browser — scriptable in-app browser that agents can interact with (snapshot accessibility trees, click, fill forms)
Install#
brew install --cask cmux