Native Windows terminal for AI coding agents — no WSL
wmux is a native Windows terminal multiplexer for running Claude Code, Codex CLI, and Gemini CLI side-by-side. Split panes, MCP auto-registration, built-in browser with full CDP automation, and session persistence that survives reboot. MIT.
winget install openwong2kim.wmux
GitHub: https://github.com/openwong2kim/wmux
The problem
Run multiple AI coding agents in parallel on Windows and your options are bleak:
- WSL + tmux: breaks native clipboard, taskbar, and file paths.
- Multiple Terminal windows: no shared layout, no persistence.
- VSCode terminal: not a real multiplexer.
cmux exists for macOS. Nothing existed for Windows. So I built wmux.
What it does
Split panes, ConPTY-native
Ctrl+D splits right, Ctrl+Shift+D splits down. Pure ConPTY underneath — the same pseudo-terminal API behind Windows Terminal. xterm.js + WebGL rendering. 999K-line scrollback persisted to disk.
Tmux-style prefix mode (Ctrl+B then an action key) is built in — 13 default actions, all rebindable.
Your agent can drive a real browser
wmux ships a built-in browser panel connected via Chrome DevTools Protocol. When Claude Code runs in a pane, an MCP server auto-registers itself in ~/.claude.json. You can say:
"Search Google for wmux and screenshot the top result"
…and Claude actually does it:
browser_open
→ browser_navigate("https://google.com")
→ browser_fill(ref=13, "wmux")
→ browser_press_key("Enter")
→ browser_screenshot()
Works with React controlled inputs (CDP keystrokes, not just value=) and CJK text. No puppeteer.launch() boilerplate — the browser is already there.
Session persistence that survives reboot
A separate daemon owns the PTYs. Close the app — the daemon keeps them alive. Reopen — sessions reconnect, scrollback intact. Reboot — wmux auto-starts and restores state from disk via atomic .bak-rotated saves.
Output-throughput agent monitoring
You don't know when a long-running agent is done. wmux watches output throughput, not specific strings. When the agent goes quiet after being noisy, you get a taskbar flash + Windows toast. Works with any agent.
It also flags dangerous commands before they run: git push --force, rm -rf, DROP TABLE.
Security
- Token-authenticated Named Pipes for all IPC
- SSRF guard on browser navigate — blocks
127.0.0.1,file://,javascript: - PTY input sanitization
- Randomized CDP port per session
- Memory watchdog reaps dead sessions at 750MB
- Electron Fuses: RunAsNode off, cookie encryption on
Install
winget install openwong2kim.wmux
# or
choco install wmux
Open Claude Code in any pane — MCP registers automatically. No config to write.
GitHub: https://github.com/openwong2kim/wmux (v2.9.1, MIT)
Feedback and stars welcome.




