╦ ╦╔╦╗╦ ╦═╗ ╦ ║║║║║║║ ║╔╩╦╝ ╚╩╝╩ ╩╚═╝╩ ╚═

A native Windows terminal multiplexer

tmux for Windows — built in Rust

$ cargo install wmux Copied!

Everything you need from a terminal multiplexer

Built natively for Windows with zero dependencies on WSL or Cygwin.

🔌

Persistent Sessions

Shell processes survive terminal closes. Close your window and come back later — everything is still running.

🔄

Detach / Reattach

Disconnect from a session and reconnect at any time. Your running processes are never interrupted.

Split Panes

Horizontal and vertical splits via Windows Terminal. Work on multiple tasks simultaneously in one window.

tmux Keybindings

Familiar Ctrl+B prefix. If you know tmux, you already know wmux.

Background Daemon

A lightweight background process manages all sessions and auto-starts when needed. Zero manual setup.

Native Windows

Uses ConPTY and Named Pipes — pure Windows APIs. No WSL, no Cygwin, no MSYS2. Just Windows.

See it in action

A typical wmux workflow — create, detach, and reattach to sessions.

wmux — Windows Terminal
PS C:\> wmux new
Session created: session-1
Attached to session-1
 
# Press Ctrl+B, d to detach
Detached from session-1
 
PS C:\> wmux ls
ID Created Panes
session-1 2025-06-15 14:32:01 1
 
PS C:\> wmux attach
Attached to session-1
PS C:\>

Get started in seconds

Install wmux with Cargo or build from source.

Recommended From crates.io

cargo install wmux

From source

git clone https://github.com/bahri-hirfanoglu/wmux.git
cd wmux
cargo build --release

# Binary: target\release\wmux.exe
Requirements: Windows 10 (1809+) or Windows 11 • Windows Terminal (for split panes) • Rust 1.70+ (to build from source)

tmux-style shortcuts

All bindings use the Ctrl+B prefix. Press the prefix, release, then press the action key.

ShortcutAction
Ctrl+BdDetach from the current session
Ctrl+B"Split pane horizontally (top/bottom)
Ctrl+B%Split pane vertically (left/right)
Ctrl+BxKill the current pane
Ctrl+BArrowNavigate between panes
Ctrl+BAlt+ArrowResize the current pane

How it works

wmux uses native Windows APIs for terminal emulation and inter-process communication.

wmux CLIclient
Named Pipe◄────►JSON / IPC
wmux daemonbackground
ConPTY◄────►pseudo-tty
>Shellcmd / pwsh

Client

The wmux CLI sends commands to the daemon via Named Pipes using length-prefixed JSON messages.

Daemon

Long-running background process that manages sessions and panes, communicating with shell processes through ConPTY.

ConPTY

Windows pseudo-terminal API (Windows 10 1809+) providing native terminal emulation without WSL or Cygwin.

Named Pipes

Windows IPC mechanism for fast, reliable communication between the CLI client and the background daemon.