cmux-dev-artifacts: manaflow-ai/cmux: The Control Room for Parallel Agents

How a native macOS shell leverages Ghostty's rendering engine to turn the traditional terminal into an orchestration dashboard for autonomous code.

8 min read • View on GitHub • More from manaflow-ai

A towering wall of retro television screens displaying dense code, with a single human conductor at the bottom. This illustrates the cognitive overload of managing multiple AI agents.
The modern developer is no longer just writing code; they are conducting a symphony of autonomous agents.
Key Takeaways

Terminals were originally designed for humans to read text output from machines. Today, autonomous AI agents are the ones reading and writing the text, and humans act as their supervisors. Running multiple autonomous agents in standard terminal multiplexers creates visual noise and cognitive overload. Developers miss prompts, agents sit idle waiting for input, and context is lost in a sea of identical text panes.

Designing for Supervisor Attention

To solve this, cmux introduces a UI paradigm shift. It abandons traditional horizontal tabs in favor of a vertical sidebar that exposes critical metadata at a glance, such as active git branches and listening ports. More importantly, it features a "Notification Ring" system.

When an agent requires human intervention—like a prompt confirmation or a failed test resolution—the terminal pane is highlighted with a crisp blue ring. The developer knows exactly which agent needs attention without manually scanning through endless stdout logs.

A close-up of a mechanical submarine sonar screen where a single distinct blip is highlighted by a crisp, glowing geometric ring.
Notification rings act as a visual filter, surfacing the single actionable alert from a sea of background terminal text.

We'd love to hear from the community — what's your favorite cmux feature?

lawrencecchen, Contributor/Author · Issue #469 · manaflow-ai/cmux

Escaping the Electron Trap

Building a custom UI for developers often leads down the path of Electron. But wrapping a terminal in a chromium instance is fatal for an app meant to run alongside resource-hungry local LLMs and coding agents. The Manaflow team opted for native performance.

Written in Swift and AppKit, cmux is a native macOS shell. Under the hood, it leverages libghostty for GPU-accelerated PTY rendering. This combination provides the rich interface required for agent orchestration without the heavyweight tax of a web-based framework.

The In-App Feedback Loop

One of the most unusual decisions in cmux is the inclusion of an integrated, scriptable browser right next to the terminal panes. This allows agents to visually verify web output in real-time, side-by-side with the code they are writing, without the latency of spinning up external headless browsers.

Beyond Localhost with Zellij

Agent workflows don't just run locally. When executing tasks on remote servers via SSH, network drops can kill long-running agent processes. cmux handles this gracefully by automatically provisioning a lightweight Zellij binary on the remote host.

This ensures that if the client disconnects, the remote agent node continues spinning safely inside the Zellij wrapper. Upon reconnection, the UI instantly snaps back to the exact saved state.

FeaturecmuxModern GPU Terminals (WezTerm)Standard Terminals (iTerm2)
Core FocusAI Agent Parallel WorkflowsPerformance & ScriptabilityGeneral Purpose
PlatformNative macOS (Swift/AppKit)Cross-platform (Rust/C++)macOS (Objective-C)
Agent NotificationsVisual Rings & Metadata sidebarsScriptable, not nativeNone natively
Remote SSHNative Workspace + Zellij Auto-provisioningRaw SSH / MoshRaw SSH