by openwong2kim
Windows tmux alternative for AI agents — split terminals for Claude Code, Codex, Gemini CLI with MCP browser automation. No WSL required.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
# Add to your Claude Code skills
git clone https://github.com/openwong2kim/wmuxNo comments yet. Be the first to share your thoughts!
wmux is LSP-for-terminals — a neutral substrate that lets external tools build workflow intelligence on top of any terminal session. Native Windows terminal multiplexer with split panes, MCP bridge, and browser automation — purpose-built for running Claude Code, Codex CLI, and Gemini CLI side by side. No WSL required.
Keywords: Windows tmux, tmux for Windows, terminal multiplexer Windows, AI agent terminal, Claude Code Windows, Codex CLI, Gemini CLI, MCP server, Chrome DevTools Protocol, split terminal, multi-agent terminal, browser automation, ConPTY, xterm.js, Electron terminal.
Windows has no native tmux. Without WSL, there was no clean way to run multiple AI coding agents side by side.
wmux fixes this. A native Windows terminal multiplexer + browser automation + MCP server, purpose-built for AI coding agents like Claude Code, Codex CLI, and Gemini CLI. Your AI agent reads the terminal, controls the browser, and works autonomously — all in one window.
Claude Code writes the backend on the left
Codex builds the frontend on the right
Gemini CLI runs tests at the bottom
— all on one screen, simultaneously.
Winget (recommended — no security warning):
winget install openwong2kim.wmux
Chocolatey:
choco install wmux
Installer: Download wmux Setup.exe
Seeing a "Windows protected your PC" warning? The installer is not yet Authenticode-signed (free code signing via SignPath is being set up — see Code signing below), so Windows SmartScreen flags it as from an unknown publisher. It's safe to proceed — click More info → Run anyway. Installing via winget or Chocolatey above avoids this prompt entirely, since those package managers run in a trusted context.
One-liner (PowerShell): downloads the prebuilt Setup.exe from the latest release and verifies its SHA-256 before launching it (no Node/Python/build tools needed).
irm https://raw.githubusercontent.com/openwong2kim/wmux/main/install.ps1 | iex
Want to build from source instead (needs Node 18+, Python 3, and VS C++ Build Tools — auto-installed)?
$env:WMUX_FROM_SOURCE=1; irm https://raw.githubusercontent.com/openwong2kim/wmux/main/install.ps1 | iex
Code signing — Free Authenticode code signing for Windows builds is provided by SignPath.io, certificate by the SignPath Foundation.
Tell Claude Code "search Google for this" and it actually does it. wmux's built-in browser connects via Chrome DevTools Protocol (CDP). Click, type, screenshot, execute JS — all done by the AI directly. Works perfectly with React controlled inputs and CJK text (Korean, Japanese, Chinese).
You: "Search for wmux on Google"
Claude: browser_open → browser_snapshot → browser_fill(ref=13, "wmux") → browser_press_key("Enter")
→ Actually searches Google. Done.
Ctrl+D to split, Ctrl+N for new workspace. Place multiple terminals and browsers in each workspace. Ctrl+click for multiview — see multiple workspaces at once.
ConPTY-based native Windows pseudo-terminal. xterm.js + WebGL hardware-accelerated rendering. 999K lines of scrollback. Terminal content persists even after app restart.
Tmux-style prefix mode — Ctrl+B then a single action key (split, focus, new workspace…) for muscle-memory terminal navigation. 13 actions, fully rebindable.
Floating pane — Ctrl+` for a Quake-style dropdown terminal that lives outside your main layout. Stays alive across toggles.
Scroll bookmarks — Ctrl+M marks the current scroll position, Ctrl+Up/Down jumps between marks. Indicators render on the gutter.
Smart right-click — Windows Terminal style. Selection → instant copy. Empty area → instant paste. Link → small Open / Copy Link menu. Zero modal interrupts.
wmux tells you when your AI agent finishes.
git push --force, rm -rf, DROP TABLE → dangerous action detectionNot pattern matching — output throughput-based detection. Works with any agent.
Launch wmux and the MCP server registers automatically. Claude Code just works:
| What Claude can do | MCP Tool |
|---|---|
| Open browser | browser_open |
| Navigate to URL | browser_navigate |
| Take screenshot | browser_screenshot |
| Read page structure | browser_snapshot |
| Click element | browser_click |
| Fill form | browser_fill / browser_type |
| Execute JS | browser_evaluate |
| Press key | browser_press_key |
| Read terminal | terminal_read |
| Read commands semantically (OSC 133) | terminal_read_events |
| Send command | terminal_send |
| Manage workspaces | workspace_list / surface_list / pane_list |
| Agent-to-agent messaging | a2a_send / a2a_broadcast / a2a_whoami |
| Delegate tasks across agents | a2a_task_send / a2a_task_query / a2a_task_cancel |
| Company mode coordination | company_a2a_send / company_a2a_inbox / company_a2a_status |
Multi-agent: Every browser tool accepts surfaceId — each Claude Code session controls its own browser independently. A2A (agent-to-agent) tools route messages between sibling agents in the same wmux instance.
Programmatic orchestration: If you want to drive multiple wmux panes from your own script (TypeScript / Node), the MCP surface is wrapped by @wmux/orchestrator — a small client-side SDK that gives you sendAndWait, sendCommandAndWait (OSC 133 exit codes), atomic pane claim, fan-out, and agent.lifecycle event subscription. Composes the primitives above, ships independently from wmux.
Terminal sessions survive app restarts. Close wmux and reopen — your sessions are still there, scrollback intact.
file://, javascript: schemesNODE_OPTIONS env disabled; app loads only from asar. (RunAsNode stays enabled — the background daemon is spawned as a detached Node process from wmux.exe via ELECTRON_RUN_AS_NODE=1.)Ctrl+D horizontal, Ctrl+Shift+D verticalCtrl+`Ctrl+M mark, Ctrl+Up/Down jump, gutter indicatorsCtrl+Shift+XCtrl+Fterminal_read_events. Auto-injected for pwsh / bash. Constrained Language Mode safe (v2.7.1).Ctrl+B then action key, 13 default actions (splits, focus, workspaces, palette, floating pane, …)Ctrl+1~9 quick switchCtrl+click to view multiple workspaces side by sideCtrl+Shift+LCtrl+IClaude Code, Cursor, Aider, Codex CLI, Gemini CLI, OpenCode, GitHub Copilot CLI