cmux terminal with vertical tabs and notification rings

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-browser to 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 workspace
  • Cmd+1-8 — Jump to workspace 1-8
  • Cmd+Shift+W — Close workspace
  • Cmd+Shift+R — Rename workspace

Panes

  • Cmd+D — Split right
  • Cmd+Shift+D — Split down
  • Option+Cmd+Arrow — Focus pane directionally

Surfaces (Tabs)

  • Cmd+T — New surface
  • Ctrl+Tab — Next surface
  • Ctrl+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:

Disclaimer: Unless otherwise specified or noted, all articles on this site are co-publications with AI. Any individual or organization is prohibited from copying, misappropriating, collecting, or publishing the content of this site to any website, book, or other media platform without the prior consent of this site. If any content on this site infringes upon the legitimate rights and interests of the original author, please contact us for processing. 声明:本站所有文章,如无特殊说明或标注,均为和AI 共创。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。