marlocarlo/psmux

Tmux on Windows Powershell - tmux for PowerShell, Windows Terminal, cmd.exe. Includes psmux, pmux, and tmux commands. This is native High-Performance Tmux designed for Windows in Rust πŸ¦€

PowerShell

3,654

1,737 commits

updated Oct 12, 2026

See the code

README

╔═══════════════════════════════════════════════════════════╗
β•‘   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ•—   β–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•—   β–ˆβ–ˆβ•—β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—            β•‘
β•‘   β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•            β•‘
β•‘   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β–ˆβ–ˆβ–ˆβ–ˆβ•”β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β•             β•‘
β•‘   β–ˆβ–ˆβ•”β•β•β•β• β•šβ•β•β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•—             β•‘
β•‘   β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘ β•šβ•β• β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—            β•‘
β•‘   β•šβ•β•     β•šβ•β•β•β•β•β•β•β•šβ•β•     β•šβ•β• β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•            β•‘
β•‘     Born in PowerShell. Made in Rust. πŸ¦€                 β•‘
β•‘          Terminal Multiplexer for Windows                 β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

The native Windows tmux. Born in PowerShell, made in Rust.
Full mouse support Β· tmux themes Β· tmux config Β· 90+ commands Β· blazing fast

Install Β· Usage Β· Get Started Β· Use Cases Β· Tutorials Β· Claude Code Β· Architecture Β· Features Β· Compatibility Β· Performance Β· Plugins Β· Keys Β· Scripting Β· Config Β· Mouse/SSH Β· FAQ Β· Related Projects


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 tmux and pmux aliases. Just type tmux and it works!

πŸ‘€ On Windows πŸ‘‡

psmux in action

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

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, 90+ tmux-compatible commands (run psmux list-commands for the live list), 140+ 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 list-commands          # List every command psmux accepts
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

The full index with one line summaries of every page lives in docs/README.md. AI assistants and crawlers can start from llms.txt.

Tutorials

TutorialWhat you will learn
Getting Started on WindowsInstall, first session, prefix key, splits, detach and reattach, first config, Windows Terminal profile
Cross Platform tmux ScriptsWrite one tmux automation script that runs unchanged on Windows (psmux), Linux and macOS (tmux)
Terminal AI Agents and TUIsRun Claude Code, Codex CLI, Gemini CLI, neovim, lazygit and other TUIs in scripted multi pane layouts
Dev Environment LayoutsMulti window and multi pane project sessions, layout presets, bootstrap scripts, save and restore

Guides and reference

TopicDescription
Windows Use CasesPractical Windows scenarios: startup services, AI agents, dashboards, remote admin
ArchitectureHow psmux multiplexes natively: client/server, one ConPTY per pane, input and output paths, warm pool
FeaturesFull feature list: mouse, copy mode, layouts, format engine
Compatibilitytmux command/config compatibility matrix
PerformanceBenchmarks and optimization details
Key BindingsDefault keys and customization
ScriptingCommands, hooks, targets, pipe-pane
Command ReferencePer-command flag tables
ConfigurationConfig files, options, environment variables
Multi-ShellRunning pwsh, cmd, Git Bash, WSL, and nushell side by side
Pane TitlesPane titles, border labels, and why pwsh shows a path
Chooser PreviewLive preview pane in choose-tree and choose-session
Warm SessionsThe pre-spawned server behind instant session creation
DiagnosticsDebug logs, crash logs, state files, what to attach to a bug report
Plugins & ThemesPlugin ecosystem: Catppuccin, Dracula, Nord, and more
Mouse Over SSHSSH mouse support and Windows version requirements
Control ModeThe -C / -CC wire protocol for IDE and plugin authors
iTerm2 Control ModeDriving psmux from the iTerm2 tmux gateway over SSH
Developer IntegrationDriving psmux from Python, Node.js, Go, Rust, and libtmux
Claude CodeAgent teams integration guide
FAQCommon questions and answers
pstop showing per-core CPU bars and the process list
pstop

htop for Windows: real-time system monitor with per-core CPU bars, tree view, 7 color schemes
cargo install pstop
psnet screenshot
psnet

Real-time TUI network monitor: live speed graphs, connections, traffic log, packet sniffer
cargo install psnet
Tmux Plugin Panel screenshot
Tmux Plugin Panel

TUI plugin & theme manager for tmux and psmux: browse, install, update from your terminal
cargo install tmuxpanel
OMP Manager screenshot
OMP Manager

Oh My Posh setup wizard: browse 100+ themes, install fonts, configure shells automatically
cargo install omp-manager
DeskVNC screenshot
DeskVNC

VNC, RDP and SSH client for Windows, macOS and Linux, with an MCP server so AI agents can drive remote desktops
github.com/psmux/DeskVNC/releases
GodwinMix web UI
GodwinMix

Live video mixer in Rust: headless core, web UI, desktop app, MCP for agents
docker compose up
TerminalMap rendering Berlin
TerminalMap

OpenStreetMap vector tiles rendered in your terminal, as an app and a Rust library
cargo install terminalmap
vigil dashboard
vigil

Security dashboard for Linux servers: attack radar, every listening port with its risk, a 0 to 100 security score
build from source
browserglass: an agent drives one browser tab while a person watches the wall
browserglass

Stream real Chrome browsers into any web page, drive them from code or AI agents, and hand control to a person at any moment
pnpm install && pnpm -r build
tmuxtop live process view
tmuxtop

A top for tmux: every process in every session, with session navigation, export and backup
pip install psutil

Every project, with live demos: psmux.github.io

License

MIT

Contributing

Contributions welcome: bug reports, PRs, docs, and test scripts via GitHub Issues.

Filing a bug? See docs/diagnostics.md for the logs and state files to attach.

If psmux helps your Windows workflow, consider giving it a ⭐ on GitHub!

psmux in Numbers

psmux live statistics: stars, forks, contributors, companies, universities and countries


Made with ❀️ for PowerShell using Rust πŸ¦€

cli
powershell
psmux
rust
terminal
terminal-multiplexer
tmux
tmux-alternative
tmux-on-windows
tmux-powershell
tmux-win
tmux-windows
windows
windows-terminal
windows-tmux
win-tmux

marlocarlo/psmux

Tmux on Windows Powershell - tmux for PowerShell, Windows Terminal, cmd.exe. Includes psmux, pmux, and tmux commands. This is native High-Performance Tmux designed for Windows in Rust πŸ¦€

PowerShell

3,654

1,737 commits

updated Oct 12, 2026

See the code

README

╔═══════════════════════════════════════════════════════════╗
β•‘   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ•—   β–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•—   β–ˆβ–ˆβ•—β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—            β•‘
β•‘   β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•            β•‘
β•‘   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β–ˆβ–ˆβ–ˆβ–ˆβ•”β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β•             β•‘
β•‘   β–ˆβ–ˆβ•”β•β•β•β• β•šβ•β•β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•—             β•‘
β•‘   β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘ β•šβ•β• β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—            β•‘
β•‘   β•šβ•β•     β•šβ•β•β•β•β•β•β•β•šβ•β•     β•šβ•β• β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•            β•‘
β•‘     Born in PowerShell. Made in Rust. πŸ¦€                 β•‘
β•‘          Terminal Multiplexer for Windows                 β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

The native Windows tmux. Born in PowerShell, made in Rust.
Full mouse support Β· tmux themes Β· tmux config Β· 90+ commands Β· blazing fast

Install Β· Usage Β· Get Started Β· Use Cases Β· Tutorials Β· Claude Code Β· Architecture Β· Features Β· Compatibility Β· Performance Β· Plugins Β· Keys Β· Scripting Β· Config Β· Mouse/SSH Β· FAQ Β· Related Projects


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 tmux and pmux aliases. Just type tmux and it works!

πŸ‘€ On Windows πŸ‘‡

psmux in action

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

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, 90+ tmux-compatible commands (run psmux list-commands for the live list), 140+ 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 list-commands          # List every command psmux accepts
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

The full index with one line summaries of every page lives in docs/README.md. AI assistants and crawlers can start from llms.txt.

Tutorials

TutorialWhat you will learn
Getting Started on WindowsInstall, first session, prefix key, splits, detach and reattach, first config, Windows Terminal profile
Cross Platform tmux ScriptsWrite one tmux automation script that runs unchanged on Windows (psmux), Linux and macOS (tmux)
Terminal AI Agents and TUIsRun Claude Code, Codex CLI, Gemini CLI, neovim, lazygit and other TUIs in scripted multi pane layouts
Dev Environment LayoutsMulti window and multi pane project sessions, layout presets, bootstrap scripts, save and restore

Guides and reference

TopicDescription
Windows Use CasesPractical Windows scenarios: startup services, AI agents, dashboards, remote admin
ArchitectureHow psmux multiplexes natively: client/server, one ConPTY per pane, input and output paths, warm pool
FeaturesFull feature list: mouse, copy mode, layouts, format engine
Compatibilitytmux command/config compatibility matrix
PerformanceBenchmarks and optimization details
Key BindingsDefault keys and customization
ScriptingCommands, hooks, targets, pipe-pane
Command ReferencePer-command flag tables
ConfigurationConfig files, options, environment variables
Multi-ShellRunning pwsh, cmd, Git Bash, WSL, and nushell side by side
Pane TitlesPane titles, border labels, and why pwsh shows a path
Chooser PreviewLive preview pane in choose-tree and choose-session
Warm SessionsThe pre-spawned server behind instant session creation
DiagnosticsDebug logs, crash logs, state files, what to attach to a bug report
Plugins & ThemesPlugin ecosystem: Catppuccin, Dracula, Nord, and more
Mouse Over SSHSSH mouse support and Windows version requirements
Control ModeThe -C / -CC wire protocol for IDE and plugin authors
iTerm2 Control ModeDriving psmux from the iTerm2 tmux gateway over SSH
Developer IntegrationDriving psmux from Python, Node.js, Go, Rust, and libtmux
Claude CodeAgent teams integration guide
FAQCommon questions and answers
pstop showing per-core CPU bars and the process list
pstop

htop for Windows: real-time system monitor with per-core CPU bars, tree view, 7 color schemes
cargo install pstop
psnet screenshot
psnet

Real-time TUI network monitor: live speed graphs, connections, traffic log, packet sniffer
cargo install psnet
Tmux Plugin Panel screenshot
Tmux Plugin Panel

TUI plugin & theme manager for tmux and psmux: browse, install, update from your terminal
cargo install tmuxpanel
OMP Manager screenshot
OMP Manager

Oh My Posh setup wizard: browse 100+ themes, install fonts, configure shells automatically
cargo install omp-manager
DeskVNC screenshot
DeskVNC

VNC, RDP and SSH client for Windows, macOS and Linux, with an MCP server so AI agents can drive remote desktops
github.com/psmux/DeskVNC/releases
GodwinMix web UI
GodwinMix

Live video mixer in Rust: headless core, web UI, desktop app, MCP for agents
docker compose up
TerminalMap rendering Berlin
TerminalMap

OpenStreetMap vector tiles rendered in your terminal, as an app and a Rust library
cargo install terminalmap
vigil dashboard
vigil

Security dashboard for Linux servers: attack radar, every listening port with its risk, a 0 to 100 security score
build from source
browserglass: an agent drives one browser tab while a person watches the wall
browserglass

Stream real Chrome browsers into any web page, drive them from code or AI agents, and hand control to a person at any moment
pnpm install && pnpm -r build
tmuxtop live process view
tmuxtop

A top for tmux: every process in every session, with session navigation, export and backup
pip install psutil

Every project, with live demos: psmux.github.io

License

MIT

Contributing

Contributions welcome: bug reports, PRs, docs, and test scripts via GitHub Issues.

Filing a bug? See docs/diagnostics.md for the logs and state files to attach.

If psmux helps your Windows workflow, consider giving it a ⭐ on GitHub!

psmux in Numbers

psmux live statistics: stars, forks, contributors, companies, universities and countries


Made with ❀️ for PowerShell using Rust πŸ¦€

cli
powershell
psmux
rust
terminal
terminal-multiplexer
tmux
tmux-alternative
tmux-on-windows
tmux-powershell
tmux-win
tmux-windows
windows
windows-terminal
windows-tmux
win-tmux

Project health

crates.io

Latest release

3.3.8 Β· Aug 18, 2026

Releases this year

29