explaingit

manaflow-ai/cmux

16,877SwiftAudience · vibe coderComplexity · 2/5Setup · easy

TLDR

cmux is a native macOS terminal app built for developers running multiple AI coding agents at once, adding a sidebar with per-session git branch and PR status, smart notifications that show which agent needs your attention, and a built-in browser split panel.

Mindmap

mindmap
  root((cmux))
    What it does
      AI agent terminal
      Multi-session mgmt
      Notification routing
    Key features
      Sidebar with status
      Blue ring alerts
      Built-in browser
      SSH workspaces
    Tech stack
      Swift AppKit
      libghostty GPU render
    Use cases
      Parallel AI agents
      Claude Code teammate
      Remote dev sessions
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Run Claude Code, Codex, and Gemini simultaneously and instantly see which agent is waiting for your input via tab notifications

USE CASE 2

View each AI agent session's git branch, pull request status, working directory, and listening ports in one sidebar glance

USE CASE 3

Browse documentation or a web app alongside your terminal without switching windows using the built-in browser split

USE CASE 4

Connect to a remote machine via SSH and route browser traffic through it in a single unified workspace

Tech stack

SwiftAppKitlibghostty

Getting it running

Difficulty · easy Time to first run · 5min

macOS-only, installs via DMG or Homebrew cask, reads your existing Ghostty config for themes and fonts.

License type not specified in the explanation.

In plain English

cmux is a macOS terminal application built specifically for people who run AI coding agents, tools like Claude Code, Codex, Gemini, OpenCode, and Amp, and often run several of them at once. The author got tired of using a generic terminal with split panes, because system notifications from coding agents all said the same thing ("Claude is waiting for your input") and gave no clue which session needed attention. cmux is the response to that pain point. The application is built on top of libghostty, the rendering engine behind the Ghostty terminal, so it draws text quickly using the GPU and reads your existing Ghostty config for themes, fonts, and colors. Its main additions are a sidebar with vertical tabs that show each workspace's git branch, linked pull request status, working directory, listening ports, and latest notification, plus a notification system that gives panes a blue ring and lights up tabs when an agent needs you. There is an in-app browser that can be split alongside the terminal and driven through a scriptable API, an SSH mode that creates a workspace for a remote machine and routes browser traffic through it, and a one-command launcher for Claude Code's teammate mode that opens teammates as native splits. Everything is controllable from a CLI and a socket API. Use cmux if you work heavily with AI coding agents on macOS and want a native, fast terminal that surfaces which agent needs attention without forcing you into a particular workflow. It is written in Swift and AppKit (not Electron), installs via a DMG download or Homebrew cask, and auto-updates. The full README is longer than what was provided.

Copy-paste prompts

Prompt 1
Help me set up cmux on macOS so I can run Claude Code and Codex side by side and get separate notifications when each one needs my input
Prompt 2
How do I configure cmux's sidebar to automatically show the PR status and git branch for each of my AI agent sessions?
Prompt 3
Show me how to use cmux's CLI and socket API to programmatically open a new workspace and launch Claude Code in teammate mode
Prompt 4
How do I use cmux's SSH mode to create a remote workspace that routes browser traffic through the remote machine?
Open on GitHub → Explain another repo

← manaflow-ai on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.