Newv2.1.6 — multi-agent MCP routing

AI Agent Terminal for
Windows.

Split terminals, browser automation, MCP integration — without WSL. Built for the new shape of coding.

Workspaces
wmux-app
docs-site
infra
Panes
claude · backend
codex · ui
gemini · tests
MCP
browser_cdp
filesystem
shell
claude-code
thinking
~/api ❯ claude-code "add /sessions endpoint"
↳ Reading src/routes/index.ts …
✻ Designing handler with persistence
+ created src/routes/sessions.ts
+ updated src/routes/index.ts
+ test sessions.test.ts (4/4 pass)
~/api ❯
codex
writing
~/web ❯ codex --task "polish settings page"
↳ Touching components/Settings.tsx
~ Refactoring tabs (3 children)
Added skeleton states
Accessibility: aria-controls wired
~/web ❯
gemini
running
~/repo ❯ gemini "run e2e and summarize"
↳ playwright test — 24 specs, 4 workers
auth.spec.ts (6) 2.4s
dashboard.spec.ts (9) 3.1s
mcp.spec.ts (9) 1.8s · done
~/repo ❯

macOS has cmux. Windows has no tmux. So we built one — for the AI era.

wmux is a Windows-native, multi-pane terminal designed around AI coding agents. Not WSL. Not a port. Built from scratch.

wmux — pwsh

Six things wmux does that nothing else on Windows does.

01 / Browser

AI controls the real browser, not a screenshot of one.

Claude, Codex and Gemini drive a live Chromium tab through CDP. They click, type, scroll, read DOM. wmux just routes the bytes — your agent does the work.

Chrome DevTools ProtocolSelector pickerInspector panel
github.com / openwong2kim / wmux● driven by claude
Browser CDP recording
15s loop — Claude clicks through GitHub releases, reads patch notes, opens PR.
webm/av1 · 1280×720 · 800kbps
claude browser.click("a[href*=releases]")
claude browser.read(".release-body") · 1.2kb
02 / Panes

Multiple terminals — and multiple agents — in one window.

Split panes the way tmux taught us. Each pane is a real PTY (conpty), each can host its own agent, each remembers its scrollback. No tabs-of-tabs, no Alt+Tab roulette.

Native conptyPer-pane agentPer-pane history
claude~/api
tests passing · 24/24
codex~/web
rendering settings…
gemini~/e2e
spec 18 / 24
pwsh~/wmux
idle · awaiting input
03 / Notifications

"Is it done yet?" — answered automatically.

wmux watches the agent process. The moment it finishes — or asks for confirmation — you get a native Windows toast. No more checking tabs every 90 seconds.

Native toastPer-agent rulesSound optional
~/api ❯ claude-code "refactor and run tests"
⠼ working… (12s)
⠴ writing src/store/leveldb-driver.ts
⠦ running tests…
✓ done — 24 tests passed

claude finished — backend refactor

24 tests passed · 1m 42s

04 / MCP

Claude Code MCP, auto-registered. Zero JSON-editing.

Open wmux once. It writes its 13 tools into ~/.claude.json with proper scoping. Codex and Gemini get their own configs. No copy-paste hell.

Auto-config13 built-in toolsLocal-only host
~/.claude.json (auto-managed by wmux)
{
"mcpServers": {
+ "wmux/browser_cdp": { cmd: "wmux-mcp", args: ["browser"] },
+ "wmux/filesystem": { cmd: "wmux-mcp", args: ["fs"] },
+ "wmux/shell": { cmd: "wmux-mcp", args: ["shell"] }
}
}
browser_openbrowser_clickbrowser_readfs_readfs_writeshell_runtask_notify+ 6 more
05 / Persistence

Close it. Reboot. Come back to exactly the same state.

wmux snapshots every pane, cwd, env, scrollback and active agent. After a reboot — or a Windows Update you didn't ask for — you reopen and pick up mid-sentence.

Crash-safePer-workspaceSnapshot diff
STEP 01

Close wmux

Close wmux
3 panes · 2 agents alive
state.snapshot()
STEP 02

Reboot Windows

Reboot Windows
shutdown /r /t 0
wmux daemon stops cleanly
STEP 03

Reopen — same state

Reopen — same state
panes, cwds, history restored
agents reattach if alive
06 / Security

Security that actually matters for agent terminals.

Agents are powerful. wmux assumes they can be wrong, malicious, or hijacked. Four guards run by default.

Token-bound MCP

Every MCP call carries a per-session token. Forgeable? No — we sign it.

SSRF block-list

browser_open refuses metadata IPs, localhost-of-the-host, and private subnets.

Electron Fuses

Node integration, ASAR validation, run-as-node — all locked at build time.

Memory watchdog

Per-agent RSS cap. Runaway sessions get a soft signal, then a hard kill.

Sixty seconds. Three agents. One window.

Watch wmux spawn three agents, fan a browser task out to Claude, and notify when it's done.

wmux — live demo
60s product walkthrough
1080p · AV1 + H.264 dual encode · poster frame ≤ 75 KB · playsinline autoplay muted loop
video/av1 · 1920×1080 · 6mb target · poster ≤ 75 KB
0:00Empty workspace
0:10Ctrl+D twice — 3 panes
0:20Spawn claude / codex / gemini
0:35Claude drives the browser
0:50Toast → all 3 done

Four people who reach for wmux first.

Heavy Claude Code users

Run Claude in one pane while reviewing diffs and tests in the others — same workspace, same cwd, zero context switching.

Claude refactors the backend in pane A → pane B watches test output → pane C reads your PR comments. One window.

claude-codeMCP

Multi-agent workflow operators

Run Claude, Codex, and Gemini in parallel. A/B their answers, pick the best, or split a big task across three.

Three panes, three agents, one prompt forked three ways. Whichever finishes first — and best — wins.

claude / codex / geminiA/B

Windows devs allergic to WSL

Tired of WSL2 memory bloat, NTFS-vs-EXT4 path pain, and the daily "restart WSL" tax? wmux is native conpty, no Linux VM.

Cold start: 280 ms. Memory baseline: 118 MB. No "wsl --shutdown" before lunch.

conptynative

Agent + browser automation

Let an agent read your changelog, click through your CI dashboard, or scrape your own PRs — through a real Chromium, not a screenshot.

Claude reads the GitHub release notes, writes a summary into a markdown file, and pings you with a Windows toast when it's done.

browser_cdptask_notify

Numbers, not adjectives.

Cold start

280ms

vs WSL+tmux 3.2s (11× faster)

Memory baseline

118MB

1 pane idle · vs WSL+tmux 824MB

Installer size

42MB

signed exe · x64 + ARM64

Disk footprint

198MB

post-install footprint

Session restore

120ms

3 panes · 50KB scrollback each

MCP call latency

<2ms p50

<5ms p99 · local MCP host

Measured on Windows 11 23H2 · Intel i7-13700K · 32 GB RAM · NVMe SSD.

Thirteen tools. Zero configuration.

Every wmux install ships with these MCP tools, scoped to the active workspace and exposed to any agent that speaks MCP.

browser_open

Spawn Chromium with CDP attached.

browser_click

Click any selector on the live page.

browser_read

Read text or DOM via CSS selector.

browser_type

Type into focused input — verbatim.

fs_read

Read project files inside the sandbox.

fs_write

Persist edits with diff review.

fs_search

Ripgrep over the workspace.

shell_run

Execute pwsh commands in a sandboxed shell.

shell_stream

Stream long-running output back to the agent.

task_notify

Native Windows toast when the agent finishes.

session_attach

Resume a previous pane with full scrollback.

workspace_open

Switch the active wmux workspace.

memory_recall

Read scoped agent memory store.

browser_open

Spawn Chromium with CDP attached.

browser_click

Click any selector on the live page.

browser_read

Read text or DOM via CSS selector.

browser_type

Type into focused input — verbatim.

fs_read

Read project files inside the sandbox.

fs_write

Persist edits with diff review.

fs_search

Ripgrep over the workspace.

shell_run

Execute pwsh commands in a sandboxed shell.

shell_stream

Stream long-running output back to the agent.

task_notify

Native Windows toast when the agent finishes.

session_attach

Resume a previous pane with full scrollback.

workspace_open

Switch the active wmux workspace.

memory_recall

Read scoped agent memory store.

Two ways to install — pick whichever you'd pick anyway.

Option 1 — Download

Installer for Windows 11 / 10

x64 · ARM64 · signed · auto-update
Option 2 — PowerShell

One-liner — installs in 5 seconds

PS>irm https://wmux.dev/install.ps1 | iex
winget · scoop · choco — also supported

requires Windows 10 (1903+) · no admin · no WSL

Keyboard-first, by design.

Pane

  • Split horizontalCtrl+D
  • Split verticalCtrlShift+D
  • Close paneCtrl+W
  • Cycle panesCtrlTab
  • Zoom focusCtrl+Z

Workspace

  • Open workspaceCtrlK
  • New workspaceCtrlShiftN
  • Next workspaceCtrl
  • Prev workspaceCtrl
  • RenameF2

Browser

  • Attach browserCtrlB
  • ReloadCtrlR
  • InspectorF12
  • Pick elementCtrlShiftC
  • Stop agent inputEsc

Misc

  • Command paletteCtrlShiftP
  • Toggle themeCtrlT
  • SettingsCtrl,
  • Search historyCtrlF
  • QuitCtrlQ

What's actually running.

Architecture (Electron + Rust core + Node MCP host)README.md → architecture
┌──────────────────────────────────────────────────────────────┐
│  wmux shell  ·  Electron renderer  ·  React + xterm.js     │
│  ── window chrome · pane manager · workspace router          │
├──────────────────────────────────────────────────────────────┤
│  core (Rust, native)                                       │
│  ── PTY pool (winpty / conpty)   ── session snapshotter      │
│  ── encrypted token store         ── Electron Fuses (locked) │
├──────────────────────────────────────────────────────────────┤
│  mcp host (Node)                                          │
│  ── 13 built-in tools  ── auto-register into ~/.claude.json   │
│  ── SSRF block-list   ── memory watchdog (per agent)         │
├──────────────────────────────────────────────────────────────┤
│  agents  ·  claude-code  ·  codex  ·  gemini-cli  ·  any cli │
└──────────────────────────────────────────────────────────────┘

# Each agent runs in its own PTY. wmux owns the lifecycle, not the agent.
# MCP host is local-only (127.0.0.1:auto); never exposed to the network.

wmux vs. the alternatives.

wmuxWSL + tmuxWindows TerminalConEmu / CmderVS Code Terminal
Split panespartial
Session persistencepartialpartialpartial
AI agent awareness
MCP tools, auto-registered
Browser automation (CDP)
Windows-native (no WSL)
Open source · MITpartialpartial
Multi-agent in one window
Native Windows toast
Cold startup < 500mspartialpartial
Memory baseline < 200MB
supportedpartial with caveats not supported

Terms used on this page.

MCP — Model Context Protocol
An open JSON-RPC specification from Anthropic (Nov 2024) for connecting AI agents to tools and resources. wmux ships 13 MCP tools as a local-only host.
CDP — Chrome DevTools Protocol
Chromium's debug protocol exposed over WebSocket. Puppeteer/Playwright are built on it. wmux uses CDP to let agents drive real browser tabs.
PTY / conpty
Pseudo-terminal. Windows added conpty in build 1809 (2018). wmux calls conpty directly to provide a real terminal without WSL.
AI Coding Agent
An LLM-driven tool that autonomously writes, edits, and runs code. Examples: claude-code, codex, gemini-cli.
Workspace (wmux term)
A named collection of panes, working directories, and agent state. wmux snapshots a workspace so reboots and Windows Updates don't lose progress.
Pane
One PTY inside a wmux window. Each pane has its own shell, cwd, scrollback, and optional bound agent.
Session
A running attachment of an agent to a pane. Sessions can be detached and re-attached later with full scrollback intact.

Questions, answered straight.

Does wmux require WSL?
No. wmux runs natively on Windows via conpty and a small Rust core. WSL is not required and not used.
What is MCP, and why does wmux auto-register tools?
Model Context Protocol is an open spec from Anthropic for connecting AI agents to tools and resources via JSON-RPC. wmux ships 13 built-in MCP tools (browser, fs, shell, session, memory) and auto-writes them into ~/.claude.json so Claude Code, Codex, and Gemini can use them with zero configuration.
How is wmux different from Windows Terminal?
Windows Terminal is a tabbed shell host. wmux is a multi-pane, agent-aware terminal: multiple PTYs in one window, per-pane agent processes, browser automation via CDP, native toast notifications, and session persistence across reboots.
Can Claude Code, Codex, and Gemini run at the same time?
Yes. Each pane owns its own conpty PTY and agent process. You can split your window into 2-6 panes and run a different agent in each, all sharing the same workspace context.
What is browser automation via CDP?
Chrome DevTools Protocol lets an agent drive a real Chromium tab — click, type, scroll, read DOM. wmux's browser_open tool spawns a CDP-attached Chromium that any MCP-speaking agent can control.
Is wmux open source?
Yes, MIT licensed. Source on GitHub.
Does wmux send telemetry?
No telemetry, no analytics, no account. The MCP host binds to 127.0.0.1 only and is never exposed to the network.
What are the minimum system requirements?
Windows 10 build 1903 or later (or any Windows 11), 4 GB RAM, 200 MB free disk. Both x64 and ARM64 are supported.
How does wmux compare to tmux?
wmux borrows tmux's Ctrl-prefix muscle memory for pane splits and workspace cycling. The big difference: wmux is agent-first. It tracks agent processes, fires toast notifications on completion, and routes MCP traffic — tmux is a generic terminal multiplexer.
Can I use wmux with agents other than Claude?
Yes. Anything that speaks MCP (Codex, Gemini CLI, custom agents) — or any CLI tool that doesn't need MCP — runs fine. wmux just provides panes, sessions, and the MCP host.

They've already switched.

Asuka Imai

@asu.dev

finally a tmux for windows that doesn't pretend wsl is a personality trait. running claude + codex side by side in wmux is unreal.
Threads · 4d

Theo Kim

@theok

wmux's browser_cdp + claude-code combo replaced three of my chrome extensions. it just clicks the buttons.
X · 1w

Hannah Park

@hp

reboot survives in wmux. came back from a windows update and every pane was exactly where i left it. mind blown.
Threads · 2w

Stop juggling terminals.

Download wmux

free · MIT · windows 10+ · no telemetry · no account