wmux
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@wmuxsearch Google for wmux"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
wmux
The workspace multiplexer for AI agents.
Run fleets of Claude Code, Codex & Gemini in parallel — each agent in its own pane, or fan one prompt out into N isolated git worktrees and harvest with atomic adoption: tick the hunks you want and they land as one all-or-nothing git apply — your tree takes the whole selection or stays untouched. Native on Windows & macOS, with approval gates, agent-to-agent channels, and an integrated browser your agents can drive. Walk away — after a crash or full OS reboot, they come back mid-conversation.
What's a workspace multiplexer? tmux splits a terminal. wmux multiplexes whole workspaces — terminals, agents, git worktrees, a browser, and the channels they coordinate over — all owned by a daemon that keeps them running across quits, crashes, and full reboots. One window. One fleet. Windows & macOS. Building in the open since March 2026.
📸 See it in action
Related MCP server: Unterm
⚡ Install in 30 seconds
Windows — use a package manager (avoids the SmartScreen warning):
winget install openwong2kim.wmuxor choco install wmux · download Setup.exe for offline install — the installer is signed with a SignPath test certificate for now, so SmartScreen still shows an unknown publisher; winget/choco skip the prompt (why?)
macOS (Apple Silicon)
Download the .dmg — Developer ID signed, notarized and stapled, so it opens without a Gatekeeper detour — and drag wmux to Applications. On first launch the wmux CLI installs itself onto your PATH.
Both platforms update themselves in place: wmux checks for a new release every 30 minutes and verifies the download against a published SHA-256 before installing (Windows x64 and macOS arm64).
Linux — experimental AppImage / .deb / .rpm builds are on the releases page.
Prefer a tour first? wmux.app walks through the same features with screenshots.
🤔 Why wmux?
🧵 One prompt → N agents → merge the best | Fan out a prompt into up to 8 tasks, each in an isolated git worktree with its own agent pane and a private mission channel. Review each task's diff side by side, tick the hunks you want — per file, across files — and adopt that selection in one atomic |
🌿 Git & GitHub live in the dock | A Git tab shows the worktrees of the repo behind your active pane — create, open as a workspace, or remove — plus its pull requests and comments (GitHub via |
🪟 Many agents, one window | Split panes + workspaces. Claude on the left, Codex on the right, Gemini running tests below — simultaneously. Every pane is a plain PTY, so any CLI agent works, not just the ones on the box. |
🤝 Agents coordinate, not just coexist | Agent-to-agent messaging + task delegation, plus channels — Slack-style rooms several agents read, post, and get @-mentioned into. An execute approval gate stops any agent running code in your workspace without your OK. This is the multi-agent moat. |
🧭 Fleet View cockpit |
|
🔔 Knows when an agent finishes | Desktop notification + taskbar flash on completion. Flags |
💾 Survives quit, crash & reboot | A tmux-style daemon owns every PTY. Reopen and your sessions are still running — processes and all. A pane declared in |
🤖 Zero-config MCP | Launch wmux and Claude Code just works — 86 tools (browser, terminal, panes, channels, A2A, fan-out) register themselves, scoped to the workspace that called them. |
🌐 A browser is in the workspace | Chrome over CDP is integrated, so browser work happens in the same window as the panes and channels — your agent clicks, types, and screenshots through the same MCP surface, with nothing to wire up. Works with React inputs and CJK text. |
✨ Highlights
🧵 Task fan-out & harvest — one prompt → N worktree-isolated tasks (idempotent, per-task compensation) · side-by-side diff with per-hunk adoption (check individual hunks in any text file — renames, binaries, mode-only and over-cap files stay display-only; the selection lands as one all-or-nothing
git apply) · close / one-click PR / cleanup list · mission channels record every decision🌿 Git surface — a Git tab in the dock: worktrees (create / open-as-workspace / remove, no force-delete) + pull requests & comments for the active repo (GitHub via
gh, GitLab viaglab, self-hosted included) · read-only workspace diff from the palette · ask the orchestrator about a hunk with the code attached🔁 One-click loops — put the orchestrator on an objective with optional per-iteration steps (a
/-picker autocompletes your.claudeskills), a done-when checklist, and a cadence; it keeps working across restarts, event-woken by your agents, and stopping fails closed to report-only🤝 A2A multi-agent — agents message + delegate tasks by pane, gated by a per-pane execute approval, with a pollable task inbox + symmetric reply
💬 Channels — Slack-style rooms agents read, post, and get @-mentioned into · server-verified sender · durable per-agent inbox ·
wmux channelCLI · operators can self-join private agent rooms (audited)🤖 Agent supervision — declare a pane in
wmux.json(trust-gated) and the daemon keeps it alive: restart policy, backoff, reboot survival🖥️ Native PTY (ConPTY on Windows, forkpty on macOS) + xterm.js WebGL rendering · 999K-line scrollback · Unicode 11 (correct CJK / emoji)
⌨️ Tmux-style prefix (
Ctrl+B+ key, 13 actions) · floating pane (Ctrl+`) · scroll bookmarks🔀 Multiview — several workspaces side by side · layout templates · drag-to-reorder sidebar
🧩 Plugin host — sandboxed iframe plugins with an explicit permission model
🛡️ Token-authed IPC, SSRF guard, PTY input sanitization, randomized CDP port, Electron Fuses
📱
wmux web— your live panes in a phone browser (PWA-installable), read-only and loopback-only by default; input and network exposure are explicit, warned-about opt-ins⬆️ In-app auto-update on Windows and macOS (arm64) — checked every 30 minutes, SHA-256 verified against a published manifest before it installs
🎨 10 UI themes (Amber by default · Catppuccin · Nightowl · Monochrome · Void · Hinomaru · Taegeuk · Stars & Stripes · Red Dynasty · Custom) and 10 terminal palettes, light ones included · 🌏 23 locales scaffolded — English & 한국어 complete, 日本語 / 中文 in progress — translations welcome
💡 Tip: point Claude Code at the MCP tools (
browser_open,terminal_read,pane_list,a2a_task_send,channel_post) or script thewmuxCLI (wmux send/read-screen/list-panes/wmux channel post) to orchestrate panes programmatically.
Key | Action | Key | Action |
| Split right |
| Split down |
| New / close tab |
| New workspace |
| Switch workspace |
| Add to multiview |
| Fleet View |
| Open browser |
| Prefix mode (13 actions) |
| Floating pane |
| Command palette |
| Notifications |
| Search (regex) |
| Scroll bookmark |
| Vi copy mode |
| Settings |
Right-click | Smart copy / paste / link menu |
| Browser DevTools |
On macOS, app shortcuts live on ⌘ instead of Ctrl (so Ctrl+C, Ctrl+D, and friends pass through to the shell as you'd expect).
Terminal — xterm.js + WebGL, native PTY (ConPTY on Windows, forkpty on macOS), Unicode 11 width tables, split panes, tabs, floating pane, smart right-click (selection→copy / empty→paste / link menu), scroll bookmarks, Vi copy mode, regex search, 999K scrollback with disk persistence, shell integration (OSC 133) for semantic command boundaries (Constrained Language Mode safe).
Keybindings — Tmux-style prefix mode (Ctrl+B, 13 default actions), fully customizable, reset-to-defaults.
Workspaces — drag-and-drop sidebar, Ctrl+1~9 quick switch, multiview, layout templates, full session persistence (layout / tabs / cwd / scrollback), Fleet View cockpit.
Browser + CDP — built-in panel (Ctrl+Shift+L), nav bar / DevTools / back-forward, element Inspector (hover-highlight, click-to-copy LLM context), full automation: click / fill / type / screenshot / JS eval / key press.
Notifications — output-throughput activity detection (not pattern matching, works with any agent), native OS toasts + taskbar flash (Windows) / Dock & menu-bar tray (macOS), process-exit alerts, notification panel (Ctrl+I), Web Audio cues.
Agent detection — any CLI agent runs in a pane (each pane is a plain PTY; nothing depends on detection). Claude Code, Codex CLI, Gemini CLI, Aider, OpenCode, and GitHub Copilot CLI additionally get first-class detection: start → activates monitoring, warns on critical actions.
Task journey (fan-out → diff → PR) — spawn up to 8 WorkTask missions from one prompt, each with a dedicated git worktree on a fresh wtask/* branch, its own task workspace, a private mission channel, and a file-backed initial prompt. Idempotency-keyed end to end; per-task failures compensate individually, and worktrees are preserved — never force-deleted. Harvest through a diff surface (file tree, unified diff, per-hunk checkboxes across files; the hunks you selected are combined into a single all-or-nothing git apply gated by a target snapshot, so the target takes that whole selection or stays untouched — and it is refused as a whole if the target moved, if it has uncommitted changes to those files, or if any selected hunk no longer applies. The selection is resolved against a fresh read of the task worktree at adopt time, so re-read the diff if the agent is still writing to it), comment straight into the mission channel, then close the task (the worktree is removed only after a clean check — dirty output is preserved and the close is held) or open a PR with one click (gh-gated, idempotent re-entry). A palette cleanup list scans the worktree root for leftovers, and missions show up in the sidebar and fleet panel.
Multi-agent (A2A) — agent-to-agent messaging + task delegation addressed by pane/surface, same-workspace and cross-workspace. Per-pane execute approval gate (a remote agent can't spawn a bypassPermissions worker in your workspace without your approval). Symmetric reply (a reply returns to the exact pane that asked), pollable task inbox on the EventBus, broadcast, and a unified approval inbox in Fleet View.
Channels — Slack-style rooms for a workspace's agents: create / join / invite / post / read / archive, each message carrying a server-verified sender — shown as the sender's pane identity chip plus a per-workspace color badge, so you can tell agents apart at a glance. A durable per-member inbox (unread + @-mention counts, survives reboot), a human-readable right-side dock, and a headless wmux channel CLI (unread / read / post / ack / join / list) so a nudged agent can catch up and reply.
Supervision & wmux.json — declare panes/agents in a trust-gated wmux.json (auto-layout + custom commands). The daemon supervises declared agent panes like an init system: restart policy with backoff across process exits, daemon restarts, and full reboots, with a runaway-crash guard — and it resumes the exact agent conversation on restart, not a fresh shell.
Plugins — sandboxed iframe plugin host with a bridge + explicit permission model and pane decorations.
Daemon — background session management (survives app restart), scrollback dump + auto-recovery, start-at-login registration on Windows and macOS (relaunches after reboot), dead-session TTL reaping.
MCP tools — browser_* (open / navigate / screenshot / snapshot / click / fill / type / evaluate / press_key), terminal_read / terminal_read_events (OSC 133) / terminal_send / terminal_send_key, workspace_list / surface_list / surface_new / pane_list / pane_split / pane_close / pane_focus, channel_* (create / post / read / ack / invite / join / list), a2a_* agent-to-agent + task delegation, company_a2a_*, wmux_events_poll / wmux_search_panes. Every browser tool takes a surfaceId so each session drives its own browser.
Electron Main Renderer (React 19 + Zustand) Daemon (standalone)
├── PTYManager ├── PaneContainer (split tree) ├── DaemonSessionManager
├── PTYBridge ├── Terminal (xterm + WebGL) ├── RingBuffer (scrollback)
├── AgentDetector ├── BrowserPanel (CDP + Inspector) ├── StateWriter (suspend/resume)
├── SessionManager ├── NotificationPanel ├── ProcessMonitor
├── PipeServer (RPC) ├── SettingsPanel ├── Watchdog (memory pressure)
├── McpRegistrar └── Multiview / Fleet View grid └── DaemonPipeServer (RPC)
├── DaemonClient
├── AutoUpdater MCP Server (stdio)
└── ToastManager ├── PlaywrightEngine (CDP, fast-fail)
├── CDP RPC fallback
└── Claude Code ⇄ wmux pipe bridgeIs wmux a tmux port? No — tmux was the inspiration, not the base. wmux is a native workspace multiplexer on Electron (ConPTY on Windows, forkpty on macOS): tmux-style split panes, prefix keys, and session persistence, but it also multiplexes agents, git worktrees, a browser, and channels. No WSL / Cygwin / MSYS2.
Which Macs are supported? Apple Silicon (arm64) — download the .dmg from releases. It is Developer ID signed, notarized and stapled, so Gatekeeper lets it through on first launch. Intel builds aren't produced right now; open an issue if you need one.
Can I reach my panes from my phone? Yes — wmux web serves your live panes to a browser (PWA-installable). It is read-only and loopback-only by default; --allow-input and network exposure are explicit opt-ins. For HTTPS, use the one-command wmux web --tailscale path, or terminate it directly with wmux web --expose --tls-cert <fullchain.pem> --tls-key <privkey.pem> (add --allow-host <certificate-dns-name> so requests for that name are accepted and it is advertised in URLs). Re-supply both TLS paths when re-running the CLI to change options; a CLI start without them and without --tailscale explicitly selects HTTP. Bare --expose remains HTTP and prints an explicit cleartext warning. Even read-only shows a pane's full scrollback to whoever can reach the port, so do not publish it to the open internet. You can also attach a remote machine's wmux web into your own desktop app's sidebar and mirror its panes locally — see Attach a remote machine's workspaces.
Works with Claude Code / Codex / Gemini? Yes. wmux auto-detects them and registers an MCP server so they can drive the browser and read terminal output.
Multiple agents at once? Yes. Each pane is an independent PTY, and agents coordinate over A2A MCP tools — message each other, delegate tasks by pane, reply to the exact pane that asked, and gate any cross-agent code execution behind your approval.
Feels heavy, or a workspace switch is slow? See docs/performance.md — what runs while a pane is hidden, the daemon's config.json knobs, and how to self-diagnose with wmux doctor.
"Windows protected your PC" warning? The release pipeline already signs Setup.exe through SignPath, but with a test certificate while the SignPath Foundation OSS certificate is pending — Windows does not trust it, so SmartScreen still reports an unknown publisher. It's safe: click More info → Run anyway, or install via winget / Chocolatey to skip the prompt.
Installer blocked with no "Run anyway"? Smart App Control (SAC) on Windows 11 can block unsigned binaries outright. Check with Get-MpComputerStatus | Select-Object SmartAppControlState. SAC uses cloud reputation, so blocks are often transient — retry later, use winget/choco, or build from source (#200).
PowerShell one-liner (downloads the prebuilt Setup.exe, verifies SHA-256, no build tools):
irm https://raw.githubusercontent.com/openwong2kim/wmux/main/install.ps1 | iex🛠️ Build from source
git clone https://github.com/openwong2kim/wmux.git
cd wmux
npm install
npm start # dev mode
npm run make # build installerRequires Node 18+ and Python 3.x, plus a native toolchain: VS Build Tools (C++ workload) on Windows — WMUX_FROM_SOURCE=1 irm …/install.ps1 | iex auto-installs them — or the Xcode Command Line Tools on macOS (xcode-select --install).
🙌 Contributors
wmux is built in the open. Huge thanks to everyone who's shipped code, squashed bugs, and translated locales:
Community shout-outs to @snowyukitty, @matdac6, @margvez, @zer0ken, @AnandSundar, @cloim, @cheyras, @junbeom09, @rayss868, @dev-minggyu, and @alphabeen for their contributions. 💛
New here? Grab a good first issue, help translate a locale (한국어 complete · 日本語 / 中文 in progress), or read CONTRIBUTING.md. PRs welcome.
Built on xterm.js, node-pty, Electron, and Playwright.
wmux detects AI coding agents for status display only. It does not call AI APIs, capture agent output, or automate agent interactions. You are responsible for complying with your AI provider's Terms of Service.
License
Keywords: workspace multiplexer · AI coding agent workspace · agent fleet · multi-agent terminal · git worktree fan-out · Claude Code · Codex CLI · Gemini CLI · MCP server · Chrome DevTools Protocol · browser automation · split terminal · cmux alternative · Windows terminal multiplexer · macOS terminal multiplexer · ConPTY · xterm.js · Electron terminal · tmux for Windows
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityBmaintenanceTerminal multiplexer MCP server for orchestrating parallel AI agents. Manages workspaces, panes, surfaces with send_input/read_screen/spawn_agent/stop_agent tools. Supports Claude Code, Codex, Gemini, Cursor CLI agents with lifecycle management, browser automation, and agent status push via Claude --channels.2024Apache 2.0
- Flicense-qualityAmaintenanceThe terminal AI agents can drive: a cross-platform desktop terminal (macOS/Linux/Windows, MIT) that runs a local MCP server. Spawn tabs/panes, run commands with structured output, read screens and full scrollback, take scrolling screenshots, record sessions with secret redaction, switch identity profiles. Auto-registers with Claude Code / Codex / Gemini CLI on install.11
- Alicense-qualityAmaintenanceA Windows computer use agent — FastMCP server that gives AI assistants hands on the real desktop: windows, UI elements, mouse, keyboard, screenshots, OCR, shortcuts, dialogs, and outcome verification.29MIT
- Alicense-qualityCmaintenanceA local, dependency-free MCP server that gives AI agents controlled access to the active Windows desktop, enabling automated interaction with applications through screenshots, clicks, typing, and window management.79MIT
Related MCP Connectors
Live browser debugging for AI assistants — DOM, console, network via MCP.
Real-time chat hub for AI agents — Claude Code, Cursor, Cline, Codex over MCP or REST.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/openwong2kim/wmux'
If you have feedback or need assistance with the MCP directory API, please join our Discord server