npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@wong2kim/wmux

v2.0.8

Published

Windows terminal multiplexer with MCP server for AI agents - run multiple CLI sessions in parallel, control via Claude Code and other AI tools

Readme

wmux — AI Agent Terminal for Windows

Run Claude Code + Codex + Gemini CLI side by side. Split terminals, browser automation, MCP integration — the only proper way to use AI agents on Windows.

Windows 10/11 npm Electron 41 License: MIT GitHub stars


Still using one terminal for your AI coding agents on Windows?

macOS has cmux — a tmux-based terminal multiplexer for AI agents.

Windows has no tmux. Without WSL, there was no way.

wmux fixes this. Native Windows terminal multiplexer + browser automation + MCP server. Your AI agent reads the terminal, controls the browser, and works autonomously.

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.

Install in 30 seconds

Installer:

Download wmux Setup.exe

One-liner (PowerShell):

irm https://raw.githubusercontent.com/openwong2kim/wmux/main/install.ps1 | iex

npm (CLI + MCP server):

npm install -g @wong2kim/wmux

Why wmux?

1. Your AI agent controls the browser — for real

Tell Claude Code "search Google for this" and it actually does it.

wmux's built-in browser connects via Chrome DevTools Protocol. Click, type, screenshot, execute JS — all done by the AI directly. Works perfectly with React controlled inputs and CJK text.

You: "Search for wmux on Google"
Claude: browser_open → browser_snapshot → browser_fill(ref=13, "wmux") → browser_press_key("Enter")
→ Actually searches Google. Done.

2. Multiple terminals in one window

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 terminal. xterm.js + WebGL hardware-accelerated rendering. 999K lines of scrollback. Terminal content persists even after restart.

3. No more asking "is it done yet?"

wmux tells you when your AI agent finishes.

  • Task complete → desktop notification + taskbar flash
  • Abnormal exit → immediate warning
  • git push --force, rm -rf, DROP TABLE → dangerous action detection

Not pattern matching — output throughput-based detection. Works with any agent.

4. Automatic Claude Code integration

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 | | Send command | terminal_send | | Manage workspaces | workspace_list / surface_list / pane_list |

Multi-agent: Every browser tool accepts surfaceId — each Claude Code session controls its own browser independently.

5. Security that actually matters

  • Token authentication on all IPC pipes
  • SSRF protection — blocks private IPs, file://, javascript: schemes
  • PTY input sanitization — prevents command injection
  • Randomized CDP port — no fixed debug port
  • Memory pressure watchdog — reaps dead sessions at 750MB, blocks new ones at 1GB
  • Electron Fuses — RunAsNode disabled, cookie encryption enabled

All Features

Terminal

  • xterm.js + WebGL GPU-accelerated rendering
  • ConPTY native Windows pseudo-terminal
  • Split panes — Ctrl+D horizontal, Ctrl+Shift+D vertical
  • Tabs — multiple surfaces per pane
  • Vi copy mode — Ctrl+Shift+X
  • Search — Ctrl+F
  • 999K line scrollback with disk persistence

Workspaces

  • Sidebar with drag-and-drop reordering
  • Ctrl+1~9 quick switch
  • Multiview — Ctrl+click to view multiple workspaces side by side
  • Full session persistence — layout, tabs, cwd, scrollback all restored
  • One-click reset in Settings

Browser + CDP Automation

  • Built-in browser panel — Ctrl+Shift+L
  • Navigation bar, DevTools, back/forward
  • Element Inspector — hover to highlight, click to copy LLM-friendly context
  • Full CDP automation: click, fill, type, screenshot, JS eval, key press

Notifications

  • Output throughput-based activity detection
  • Taskbar flash + Windows toast notifications
  • Process exit alerts
  • Notification panel — Ctrl+I
  • Web Audio sound effects

Agent Detection

Claude Code, Cursor, Aider, Codex CLI, Gemini CLI, OpenCode, GitHub Copilot CLI

  • Detects agent start → activates monitoring
  • Critical action warnings

Daemon Process

  • Background session management (survives app restart)
  • Scrollback buffer dump and auto-recovery
  • Dead session TTL reaping (24h default)

Themes

Catppuccin Mocha, Monochrome, Sandstone

i18n

English, Korean, Japanese, Chinese


Keyboard Shortcuts

| Key | Action | |-----|--------| | Ctrl+D | Split right | | Ctrl+Shift+D | Split down | | Ctrl+T | New tab | | Ctrl+W | Close tab | | Ctrl+N | New workspace | | Ctrl+1~9 | Switch workspace | | Ctrl+click | Add to multiview | | Ctrl+Shift+G | Exit multiview | | Ctrl+Shift+L | Open browser | | Ctrl+B | Toggle sidebar | | Ctrl+K | Command palette | | Ctrl+I | Notifications | | Ctrl+, | Settings | | Ctrl+F | Search terminal | | Ctrl+Shift+X | Vi copy mode | | F12 | Browser DevTools |


CLI

wmux workspace list
wmux workspace create "backend"
wmux pane split-right
wmux pane send-text "npm test"
wmux notify --title "Done" --body "Tests passed"
wmux browser snapshot
wmux browser click "#submit-btn"

Development

git clone https://github.com/openwong2kim/wmux.git
cd wmux
npm install
npm start           # Dev mode
npm run make        # Build installer

Requirements (dev only)

  • Node.js 18+
  • Python 3.x (for node-gyp)
  • Visual Studio Build Tools with C++ workload

The install.ps1 script auto-installs Python and VS Build Tools if missing.


Architecture

Electron Main Process
├── PTYManager (node-pty / ConPTY)
├── PTYBridge (data forwarding + ActivityMonitor)
├── AgentDetector (gate-based agent status)
├── SessionManager (atomic save with .bak recovery)
├── ScrollbackPersistence (terminal buffer dump/load)
├── PipeServer (Named Pipe JSON-RPC + token auth)
├── McpRegistrar (auto-registers MCP in ~/.claude.json)
├── WebviewCdpManager (CDP proxy to <webview>)
├── DaemonClient (daemon mode connector)
└── ToastManager (OS notifications + taskbar flash)

Renderer Process (React 19 + Zustand)
├── PaneContainer (recursive split layout)
├── Terminal (xterm.js + WebGL + scrollback restore)
├── BrowserPanel (webview + Inspector + CDP)
├── NotificationPanel
├── SettingsPanel (workspace reset)
└── Multiview grid

Daemon Process (standalone)
├── DaemonSessionManager (ConPTY lifecycle)
├── RingBuffer (circular scrollback buffer)
├── StateWriter (session suspend/resume)
├── ProcessMonitor (external process watchdog)
├── Watchdog (memory pressure escalation)
└── DaemonPipeServer (Named Pipe RPC + token auth)

MCP Server (stdio)
├── PlaywrightEngine (CDP connection, fast-fail)
├── CDP RPC fallback (screenshot, evaluate, type, click)
└── Claude Code <-> wmux Named Pipe RPC bridge

Acknowledgments


Note on AI Agents

wmux detects AI coding agents for status display purposes only. It does not call any AI APIs, capture agent outputs, or automate agent interactions. Users are responsible for complying with their AI provider's Terms of Service.

License

MIT