DEV Community

Cover image for wmux: a workspace multiplexer for AI coding agents
wong2 kim
wong2 kim

Posted on

wmux: a workspace multiplexer for AI coding agents

My setup for working with AI coding agents used to be four terminal windows, three of which I'd forgotten what I asked. Then my machine rebooted for an update and all four were gone — not just the windows, the conversations.

So I built wmux. MIT, native on Windows and macOS.

Four panes in one window — two Claude Code agents, a Codex pane, and a test run, with the fleet roster in the side dock

What it is

tmux multiplexes a terminal. wmux multiplexes a whole workspace — terminals, agents, git worktrees, a browser, and the channels agents coordinate over — all owned by a daemon that survives quits, crashes, and full OS reboots.

Three things that changed my workflow

One prompt → N agents → merge the best. Fan one prompt out into up to 8 tasks, each in its own git worktree on a fresh branch with its own agent pane. Then review every task's diff side by side and adopt hunks as a single all-or-nothing git apply — your tree is fully changed or fully untouched, never half-applied. Close the task or open a PR in one click.

Agents coordinate, not just coexist. Agent-to-agent messaging and task delegation addressed by pane, plus Slack-style channels agents read, post, and get @-mentioned into (server-verified sender, durable inbox, survives reboot). An execute approval gate stops a remote agent from running code in your workspace without your OK — which is the only reason I'm comfortable letting agents delegate to each other at all.

The orchestrator picks an idle pane, hands it the task, and relays the answer back

It survives reboot with the conversation intact. A daemon owns every PTY. Reopen after a crash and sessions are still running, processes and all — recovered agent panes offer a one-click Resume back into the exact conversation. Declare panes in wmux.json and the daemon supervises them like an init system.

Zero-config MCP

Launch wmux and Claude Code just works — 84 tools register themselves, scoped to the calling workspace: browser_*, terminal_read/terminal_send, pane_*, channel_*, a2a_*. Or script the CLI:

wmux send "run the tests" --submit
wmux read-screen --tail 40
wmux channel post backend "tests green, merging"
Enter fullscreen mode Exit fullscreen mode

There's also a built-in Chrome over CDP, so agents actually click, type, and screenshot — React inputs and CJK text included.

Try it

winget install openwong2kim.wmux
Enter fullscreen mode Exit fullscreen mode

macOS (Apple Silicon): download the .dmg — signed, notarized, stapled. Linux builds are experimental.

Repo: github.com/openwong2kim/wmux · wmux.app

Two things I'd genuinely like input on: is 8 tasks too many diffs to read, and do channels or direct delegation win for most people? If you run more than two agents at once and it feels like herding, I want to hear where it breaks for you.

Top comments (0)