Terminal Multiplexer for Windows

The ultimate tmux alternative for Windows Terminal, PowerShell, and cmd.exe. Native Windows support with zero dependencies.

PowerShell
PS C:\Users\Developer> psmux
🚀 psmux - Terminal multiplexer started!
PS C:\Users\Developer> tmux new-session -s work
✅ Session 'work' created successfully

Features

🪟 Pane Management

Split panes horizontally and vertically. Resize with mouse or keyboard shortcuts. Zoom into panes for focus.

💾 Session Persistence

Detach from sessions and reattach later without losing your work. Perfect for long-running tasks.

⚙️ Configuration

Drop-in compatible with .tmux.conf. Customize keybindings, status bar, colors, and behavior via ~/.psmux.conf.

🎨 Theming & Styling

Full support for 24-bit color, hex codes, and 256 colors. Style borders, status bars, and active tabs to your liking.

⌨️ Native Keybindings

Uses standard tmux keybindings (Prefix + c, %, ", etc.). Zero learning curve for existing tmux users.

📜 Copy Mode

Vim-like copy/scroll mode. Search history, select text with keyboard or mouse, and copy to Windows clipboard.

Split Panes & Multiple Windows

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
Pane 1
Pane 2
Pane 3
Pane 4

Session Management

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
work
personal
dev

Installation

Quick Install (Recommended)

Downloads the latest release and adds it to your PATH.

irm https://raw.githubusercontent.com/marlocarlo/psmux/master/scripts/install.ps1 | iex

Scoop

scoop install https://raw.githubusercontent.com/marlocarlo/psmux/master/scoop/psmux.json

Chocolatey

choco install psmux

Cargo

cargo install psmux

To uninstall: irm https://raw.githubusercontent.com/marlocarlo/psmux/master/scripts/uninstall.ps1 | iex

Configuration

psmux reads its configuration on startup from the first file found (in order):

  1. ~/.psmux.conf
  2. ~/.psmuxrc
  3. ~/.tmux.conf
  4. ~/.config/psmux/psmux.conf

The configuration syntax is tmux-compatible, meaning most of your existing .tmux.conf lines will work as-is.

Basic Config Example

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

Choosing a Default Shell

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

Neovim Rendering Workaround

If Neovim looks slow or shows artifacts, disable prediction dimming:

set -g prediction-dimming off

Getting Started

Basic Commands

Start psmux

psmux

New Named Session

psmux new-session -s work

List Sessions

psmux ls

Attach to Session

psmux attach -t work

Essential Keybindings

Default prefix: Ctrl+b

Prefix + c Create new window
Prefix + % Split pane left/right
Prefix + " Split pane top/bottom
Prefix + x Kill current pane
Prefix + n Next window
Prefix + p Previous window
Prefix + d Detach from session
Prefix + Arrow Navigate between panes

FAQ

Is psmux cross-platform?

No. psmux is built exclusively for Windows. For Linux/macOS, use tmux.

Does psmux work with Windows Terminal?

Yes! psmux works great with Windows Terminal, PowerShell, cmd.exe, ConEmu, and other Windows terminal emulators.

Why use psmux instead of Windows Terminal tabs?

psmux offers session persistence (detach/reattach), synchronized input to multiple panes, and tmux-compatible keybindings.

Can I use tmux commands with psmux?

Yes! psmux includes tmux and pmux aliases. Commands like tmux new-session, tmux attach, and tmux ls all work.

Ready to Supercharge Your Windows Terminal?

Join thousands of developers who've made the switch to psmux