The ultimate tmux alternative for Windows Terminal, PowerShell, and cmd.exe. Native Windows support with zero dependencies.
Split panes horizontally and vertically. Resize with mouse or keyboard shortcuts. Zoom into panes for focus.
Detach from sessions and reattach later without losing your work. Perfect for long-running tasks.
Drop-in compatible with .tmux.conf. Customize keybindings, status bar, colors, and behavior via ~/.psmux.conf.
Full support for 24-bit color, hex codes, and 256 colors. Style borders, status bars, and active tabs to your liking.
Uses standard tmux keybindings (Prefix + c, %, ", etc.). Zero learning curve for existing tmux users.
Vim-like copy/scroll mode. Search history, select text with keyboard or mouse, and copy to Windows clipboard.
Create complex terminal layouts with horizontal and vertical pane splitting. Manage multiple windows with easy tab navigation.
Prefix + % Split pane left/right
Prefix + " Split pane top/bottom
Prefix + c Create new window
Attach, detach, and manage multiple sessions. Keep your work organized and never lose your terminal state.
psmux new-session -s work Create named session
psmux attach -t work Attach to session
psmux ls List sessions
Downloads the latest release and adds it to your PATH.
irm https://raw.githubusercontent.com/marlocarlo/psmux/master/scripts/install.ps1 | iex
scoop install https://raw.githubusercontent.com/marlocarlo/psmux/master/scoop/psmux.json
choco install psmux
cargo install psmux
To uninstall: irm https://raw.githubusercontent.com/marlocarlo/psmux/master/scripts/uninstall.ps1 | iex
psmux reads its configuration on startup from the first file found (in order):
~/.psmux.conf~/.psmuxrc~/.tmux.conf~/.config/psmux/psmux.confThe configuration syntax is tmux-compatible, meaning most of your existing .tmux.conf lines will work as-is.
Create a file at ~/.psmux.conf:
# Change prefix key to Ctrl+a
set -g prefix C-a
# Enable mouse support
set -g mouse on
# Window numbering starts at 1
set -g base-index 1
# Customize status bar
set -g status-left "[#S] "
set -g status-right "%H:%M %d-%b-%y"
set -g status-style "bg=green,fg=black"
# Cursor style
set -g cursor-style bar
set -g cursor-blink on
# Increase scrollback history
set -g history-limit 5000
# Key bindings
bind-key -T prefix h split-window -h
bind-key -T prefix v split-window -v
psmux launches PowerShell 7 (pwsh) by default, but you can change this:
# Use cmd.exe
set -g default-shell cmd
# Use PowerShell 5
set -g default-shell powershell
# Use Git Bash
set -g default-shell "C:/Program Files/Git/bin/bash.exe"
# Use WSL
set -g default-shell wsl
If Neovim looks slow or shows artifacts, disable prediction dimming:
set -g prediction-dimming off
psmux
psmux new-session -s work
psmux ls
psmux attach -t work
Default prefix: Ctrl+b
No. psmux is built exclusively for Windows. For Linux/macOS, use tmux.
Yes! psmux works great with Windows Terminal, PowerShell, cmd.exe, ConEmu, and other Windows terminal emulators.
psmux offers session persistence (detach/reattach), synchronized input to multiple panes, and tmux-compatible keybindings.
Yes! psmux includes tmux and pmux aliases. Commands like tmux new-session, tmux attach, and tmux ls all work.
Join thousands of developers who've made the switch to psmux