by openwong2kim
Windows tmux alternative for AI agents — split terminals for Claude Code, Codex, Gemini CLI with MCP browser automation. No WSL required.
# Add to your Claude Code skills
git clone https://github.com/openwong2kim/wmuxLast scanned: 5/30/2026
{
"issues": [
{
"type": "npm-audit",
"message": "@electron-forge/cli: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "@electron-forge/core: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "@electron-forge/core-utils: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "@electron-forge/maker-base: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "@electron-forge/maker-deb: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "@electron-forge/maker-rpm: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "@electron-forge/maker-squirrel: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "@electron-forge/maker-zip: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "@electron-forge/plugin-auto-unpack-natives: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "@electron-forge/plugin-base: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "@electron-forge/plugin-fuses: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "@electron-forge/plugin-vite: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "@electron-forge/publisher-base: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "@electron-forge/shared-types: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "@electron-forge/template-base: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "@electron-forge/template-vite: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "@electron-forge/template-vite-typescript: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "@electron-forge/template-webpack: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "@electron-forge/template-webpack-typescript: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "@electron/node-gyp: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "@electron/rebuild: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "@hono/node-server: @hono/node-server: Middleware bypass via repeated slashes in serveStatic",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "@inquirer/editor: Vulnerability found",
"severity": "low"
},
{
"type": "npm-audit",
"message": "@inquirer/prompts: Vulnerability found",
"severity": "low"
},
{
"type": "npm-audit",
"message": "@tootallnate/once: @tootallnate/once vulnerable to Incorrect Control Flow Scoping",
"severity": "low"
},
{
"type": "npm-audit",
"message": "@xmldom/xmldom: xmldom: XML injection via unsafe CDATA serialization allows attacker-controlled markup insertion",
"severity": "high"
},
{
"type": "npm-audit",
"message": "brace-expansion: brace-expansion: Zero-step sequence causes process hang and memory exhaustion",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "cacache: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "electron: Electron: Use-after-free in offscreen shared texture release() callback",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "esbuild: esbuild enables any website to send any requests to the development server and read the response",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "express-rate-limit: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "external-editor: Vulnerability found",
"severity": "low"
},
{
"type": "npm-audit",
"message": "fast-uri: fast-uri vulnerable to path traversal via percent-encoded dot segments",
"severity": "high"
},
{
"type": "npm-audit",
"message": "hono: Hono missing validation of cookie name on write path in setCookie()",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "ip-address: ip-address has XSS in Address6 HTML-emitting methods",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "lodash: lodash vulnerable to Code Injection via `_.template` imports key names",
"severity": "high"
},
{
"type": "npm-audit",
"message": "make-fetch-happen: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "path-to-regexp: path-to-regexp vulnerable to Denial of Service via sequential optional groups",
"severity": "high"
},
{
"type": "npm-audit",
"message": "picomatch: Picomatch: Method Injection in POSIX Character Classes causes incorrect Glob Matching",
"severity": "high"
},
{
"type": "npm-audit",
"message": "postcss: PostCSS has XSS via Unescaped </style> in its CSS Stringify Output",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "qs: qs has a remotely triggerable DoS: qs.stringify crashes with TypeError on null/undefined entries in comma-format arrays when encodeValuesOnly is set",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "tar: node-tar Vulnerable to Arbitrary File Creation/Overwrite via Hardlink Path Traversal",
"severity": "high"
},
{
"type": "npm-audit",
"message": "tmp: tmp allows arbitrary temporary file / directory write via symbolic link `dir` parameter",
"severity": "high"
},
{
"type": "npm-audit",
"message": "vite: Vite Vulnerable to Path Traversal in Optimized Deps `.map` Handling",
"severity": "high"
}
],
"status": "WARNING",
"scannedAt": "2026-05-30T17:02:14.069Z",
"npmAuditRan": true,
"pipAuditRan": true
}wmux is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by openwong2kim. Windows tmux alternative for AI agents — split terminals for Claude Code, Codex, Gemini CLI with MCP browser automation. No WSL required. It has 245 GitHub stars.
wmux returned warnings in SkillsLLM's automated security scan. It has no critical vulnerabilities, but review the flagged issues in the Security Report section before adding it to your workflow.
Clone the repository with "git clone https://github.com/openwong2kim/wmux" and add it to your Claude Code skills directory (see the Installation section above).
wmux is primarily written in TypeScript. It is open-source under openwong2kim on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh wmux against similar tools.
No comments yet. Be the first to share your thoughts!
Requires a passing catalog security scan. Resolve the flagged issues and resubmit to enable featuring.
Fan out one prompt into N isolated agents — each in its own git worktree — review their work hunk by hunk, and walk away: after a quit, crash, or full OS reboot, your agents come back mid-conversation. A native Windows terminal for Claude Code, Codex CLI, and Gemini CLI, with verified sender identity, human approval gates, and a real browser agents can drive.
Windows has no native tmux. Without WSL there was no clean way to run several AI coding agents at once. wmux is a native Windows multiplexer + browser automation + MCP server, purpose-built so your agents read the terminal, drive a real browser, and run in parallel — all in one window.
winget install openwong2kim.wmux
or choco install wmux · or download Setup.exe · winget/choco avoid the SmartScreen prompt (why?)
| 🧵 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, adopt hunks all-or-nothing, 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. |
| 🤝 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. |
| 🌐 Agents drive a real browser | Built-in Chrome over CDP. Say "search Google for this" and your agent actually clicks, types, and screenshots. Works with React inputs and CJK text. |
| 🧭 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 — browser + terminal tools register automatically. |
git apply) · close / one-click PR / cleanup list · mission channels record every decisiongh, GitLab via glab, self-hosted included) · read-only workspace diff from the palette · ask the orchestrator about a hunk with the code attached/-picker autocompletes your .claude skills), a done-when checklist, and a cadence; it keeps working across restarts, event-woken by your agents, and stopping fails closed to report-onlywmux channel CLI · operators can self-join private agent rooms (audited)wmux.json (trust-gated) and the daemon keeps it alive: restart policy, backoff, reboot survivalCtrl+B + key, 13 actions) · floating pane (Ctrl+`) · scroll bookmarks💡 Tip: point Claude Code at the MCP tools (
browser_open,terminal_read,pane_list,a2a_task_send,channel_post) or script thewmuxCLI (wmux send/read-screen/list-panes/wmux channel post) to orchestrate panes programmatically.
| Key | Action | Key | Action |
|---|---|---|---|
Ctrl+D |
Split right | Ctrl+Shift+D |
Split down |
Ctrl+T / Ctrl+W |
New / close tab | Ctrl+N |
New workspace |
Ctrl+1~9 |
Switch workspace | Ctrl+click |
Add to multiview |
Ctrl+Shift+A |
Fleet View | Ctrl+Shift+L |
Open browser |
Ctrl+B → key |
Prefix mode (13 actions) | Ctrl+` |
Floating pane |
Ctrl+K |
Command palette | Ctrl+I |
Notifications |
Ctrl+F |
Search (regex) | Ctrl+M |
Scroll bookmark |
Ctrl+Shift+X |
Vi copy mode | Ctrl+, |
Settings |
| Right-click | Smart copy / paste / link menu | F12 |
Browser DevTools |
Terminal — xterm.js + WebGL, ConPTY native PTY, Unicode 11 width tables, split panes, tabs, floating pane, smart right-click (selection→copy / empty→paste / link menu), scroll bookmarks, Vi copy mode, regex search, 999K scrollback with disk persistence, shell integration (OSC 133) for semantic command boundaries (Constrained Language Mode safe).
Keybindings — Tmux-style prefix mode (Ctrl+B, 13