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
⚡ Install in 30 seconds
Windows — use a package manager (avoids the SmartScreen warning):
winget install openwong2kim.wmux
or 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 apply that lands whole or is refused whole, then close it or open a PR in one click — leftovers land in a cleanup list, never as mystery folders.
🌿 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 gh, GitLab via glab, including self-hosted). A read-only workspace diff is one palette command away, and from any hunk you can ask the orchestrator with the code attached. No alt-tabbing to the browser to see if review feedback landed.
🪟 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
Ctrl+Shift+A — every agent across every workspace in an always-on side panel (other panes stay live), blocked ones floated to the top with a live activity line. Clear every stuck approval from one inbox; click any card to jump straight there.
🔔 Knows when an agent finishes
Desktop notification + taskbar flash on completion. Flags rm -rf, git push --force, DROP TABLE for your approval.
💾 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 wmux.json is supervised like an init system — auto-restarted across crashes and reboots (the app relaunches at login), resuming the exact Claude conversation it was on.
🤖 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 **