╔═══════════════════════════════════════════════════════════╗
║ ██████╗ ███████╗███╗ ███╗██╗ ██╗██╗ ██╗ ║
║ ██╔══██╗██╔════╝████╗ ████║██║ ██║╚██╗██╔╝ ║
║ ██████╔╝███████╗██╔████╔██║██║ ██║ ╚███╔╝ ║
║ ██╔═══╝ ╚════██║██║╚██╔╝██║██║ ██║ ██╔██╗ ║
║ ██║ ███████║██║ ╚═╝ ██║╚██████╔╝██╔╝ ██╗ ║
║ ╚═╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ║
║ Born in PowerShell. Made in Rust. 🦀 ║
║ Terminal Multiplexer for Windows ║
╚═══════════════════════════════════════════════════════════╝
psmux
The real tmux for Windows. Not a port, not a wrapper, not a workaround.
psmux is a native Windows terminal multiplexer built from the ground up in Rust. It uses Windows ConPTY directly, speaks the tmux command language, reads your .tmux.conf, and supports tmux themes. All without WSL, Cygwin, or MSYS2.
💡 Tip: psmux ships with
tmuxandpmuxaliases. Just typetmuxand it works!
👀 On Windows 👇

Installation
Using WinGet
winget install psmux
Using Cargo
cargo install psmux
This installs psmux, pmux, and tmux binaries to your Cargo bin directory.
Using Scoop
scoop bucket add psmux https://github.com/psmux/scoop-psmux
scoop install psmux
Using Chocolatey
choco install psmux
From GitHub Releases
Download the latest .zip from GitHub Releases and add to your PATH.
From Source
git clone https://github.com/psmux/psmux.git
cd psmux
cargo build --release
Built binaries:
target\release\psmux.exe
target\release\pmux.exe
target\release\tmux.exe
Docker (build environment)
A ready-made Windows container with Rust + MSVC + SSH for building psmux:
cd docker
docker build -t psmux-dev .
docker run -d --name psmux-dev -p 127.0.0.1:2222:22 -e ADMIN_PASSWORD=YourPass123! psmux-dev
ssh ContainerAdministrator@localhost -p 2222
See docker/README.md for full details.
Requirements
- Windows 10 or Windows 11
- PowerShell 7+ (recommended) or cmd.exe
- Download PowerShell:
winget install --id Microsoft.PowerShell - Or visit: https://aka.ms/powershell
- Download PowerShell:
Why psmux?
If you've used tmux on Linux/macOS and wished you had something like it on Windows, this is it. Split panes, multiple windows, session persistence, full mouse support, tmux themes, 76 commands, 126+ format variables, 53 vim copy-mode keys. Your existing .tmux.conf works. Full details: docs/features.md · docs/compatibility.md
Usage
Use psmux, pmux, or tmux — they're identical:
psmux # Start a new session
psmux new-session -s work # Named session
psmux ls # List sessions
psmux attach -t work # Attach to a session
psmux --help # Show help
Claude Code Agent Teams
psmux has first-class support for Claude Code agent teams. When Claude Code runs inside a psmux session, teammate agents automatically spawn in separate tmux panes instead of running in-process.
psmux new-session -s work # Start a psmux session
claude # Run Claude Code — agent teams just work
No extra configuration needed. Full guide: docs/claude-code.md
Documentation
| Topic | Description |
|---|---|
| Features | Full feature list — mouse, copy mode, layouts, format engine |
| Compatibility | tmux command/config compatibility matrix |
| Performance | Benchmarks and optimization details |
| Key Bindings | Default keys and customization |
| Scripting | 76 commands, hooks, targets, pipe-pane |
| Configuration | Config files, options, environment variables |
| Plugins & Themes | Plugin ecosystem — Catppuccin, Dracula, Nord, and more |
| Mouse Over SSH | SSH mouse support and Windows version requirements |
| Claude Code | Agent teams integration guide |
| FAQ | Common questions and answers |
Related Projects
License
MIT
Contributing
Contributions welcome — bug reports, PRs, docs, and test scripts via GitHub Issues.
If psmux helps your Windows workflow, consider giving it a ⭐ on GitHub!