Skip to content

fernandomenuk/wmux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

wmux — terminal multiplexer for Windows

Release Stars License Built with Rust


Split panes. Tabbed workspaces. A socket API for AI agents.
One native .exe. Zero dependencies. Built with Rust and Tauri.


Website · Documentation · Download · Releases


What is wmux?

A native terminal multiplexer for Windows. Split your terminal into panes, organize work into tabbed workspaces, and let AI agents control everything over a JSON-RPC socket — all from a single desktop app built in Rust.

Note

wmux is the Windows counterpart to cmux. Same protocol, native experience.

Get Started

Download the installer:

Download wmux.msi

Or build from source:

cargo install tauri-cli
git clone https://github.com/fernandomenuk/wmux.git
cd wmux/crates/wmux-app
cargo tauri build

Features

Graphical Split Panes — vertical and horizontal, infinitely nestable, with high-DPI support

Tabbed Workspaces — create, rename, and switch between workspaces from the sidebar

AI-First Socket API — JSON-RPC over Windows named pipes at \\.\pipe\wmux. Let Claude Code, Cursor, or Copilot control your terminals programmatically

Any Shell — PowerShell, CMD, WSL, nushell — anything that runs on Windows

Command Palette — quick actions with Ctrl+Shift+K, navigate with arrow keys or Tab

Blazing Fast — Rust + ConPTY, near-zero overhead, no Electron

Claude Code Integration

wmux ships with a built-in MCP server. One-click setup from within the app:

  1. Open wmux
  2. Press Ctrl+Shift+K → select "Connect to Claude Code"
  3. Restart Claude Code

That's it. Claude Code can now create workspaces, split panes, run commands, and read terminal output — all through wmux.

Full guide →

Socket API

AI agents connect over a named pipe and control your terminal sessions with JSON-RPC.

$pipe = New-Object System.IO.Pipes.NamedPipeClientStream(".", "wmux", [System.IO.Pipes.PipeDirection]::InOut)
$pipe.Connect(5000)
Method Description
workspace.create Create a new tabbed workspace
workspace.list List all workspaces
surface.split Split the current pane
surface.send_text Send commands to a terminal
surface.read_output Read terminal screen content
surface.send_key Send keys (Enter, Ctrl+C, etc.)

Full API reference →

Architecture

wmux/
├── wmux-core     # PTY management, layouts, state machine
├── wmux-app      # Tauri desktop app with WebView UI
├── mcp/          # MCP server (TypeScript, named pipe bridge)
└── wmux-cli      # Legacy CLI (archived)

Keybindings

Key Action
Ctrl+Shift+K Command palette
Ctrl+A then | Split vertical
Ctrl+A then - Split horizontal
Ctrl+A then x Close pane
Ctrl+A then z Toggle zoom
Ctrl+A then c New workspace
Ctrl+A then n/p Next/prev workspace
Ctrl+A then arrows Navigate panes

Roadmap

  • Graphical split panes
  • Tabbed workspaces
  • JSON-RPC socket API
  • Command palette
  • Workspace sidebar
  • MCP server (Claude Code integration)
  • surface.read_output (terminal screen reading)
  • Drag-and-drop pane resizing
  • Theme customization
  • Session persistence
  • Plugin system

Contributing

cargo tauri dev     # Dev mode with hot reload
cargo test          # Run the test suite

License

MIT


wmux



Built for Windows developers who are tired of waiting.

Star this repo if wmux helps you — it helps others find it.


Star History

About

tmux for Windows — split panes, tabbed workspaces, and a JSON-RPC socket API for AI agents

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors