The official plugin ecosystem for psmux — the native Windows tmux built in Rust.
Ports of the most popular tmux plugins, reimplemented in PowerShell for Windows.
git clone https://github.com/psmux-plugins/ppm "$env:USERPROFILE\.psmux\plugins\ppm"Add to your ~/.psmux.conf:
# ===========================================
# Plugins
# ===========================================
set -g @plugin 'psmux-plugins/ppm'
set -g @plugin 'psmux-plugins/psmux-sensible'
set -g @plugin 'psmux-plugins/psmux-yank'
set -g @plugin 'psmux-plugins/psmux-resurrect'
set -g @plugin 'psmux-plugins/psmux-pain-control'
# Initialize PPM (keep at the very bottom)
run '~/.psmux/plugins/ppm/ppm.ps1'Start psmux and press Prefix + I (capital I) to install.
| Plugin | Description | Tmux Equivalent |
|---|---|---|
| ppm | Plugin manager | tpm |
| psmux-sensible | Sensible defaults | tmux-sensible |
| psmux-yank | Windows clipboard integration | tmux-yank |
| psmux-resurrect | Save/restore sessions | tmux-resurrect |
| psmux-continuum | Auto-save/restore | tmux-continuum |
| psmux-pain-control | Better pane navigation | tmux-pain-control |
| psmux-prefix-highlight | Prefix key indicator | tmux-prefix-highlight |
| psmux-battery | Battery status bar | tmux-battery |
| psmux-cpu | CPU/memory status bar | tmux-cpu |
| psmux-logging | Pane output logging | tmux-logging |
| psmux-sidebar | Directory tree sidebar | tmux-sidebar |
| Theme | Description | Tmux Equivalent |
|---|---|---|
| psmux-theme-dracula | Dracula dark theme | tmux-dracula |
| psmux-theme-catppuccin | Catppuccin pastel theme (4 flavors) | catppuccin/tmux |
| psmux-theme-nord | Nord arctic theme | nord-tmux |
| psmux-theme-tokyonight | Tokyo Night theme (3 styles) | tokyonight.nvim |
| psmux-theme-gruvbox | Gruvbox retro theme (dark/light) | tmux-gruvbox |
| Key | Action |
|---|---|
Prefix + I |
Install plugins |
Prefix + U |
Update plugins |
Prefix + M |
Remove unused plugins |
| Key | Action |
|---|---|
Prefix + R |
Reload config |
Prefix + | |
Split horizontal |
Prefix + - |
Split vertical |
Shift + Left/Right |
Prev/next window (no prefix) |
| Key | Action |
|---|---|
y (copy mode) |
Copy to clipboard |
Prefix + y |
Copy pane content |
Prefix + Alt-y |
Copy working directory |
| Key | Action |
|---|---|
Prefix + Ctrl-s |
Save environment |
Prefix + Ctrl-r |
Restore environment |
| Key | Action |
|---|---|
Prefix + h/j/k/l |
Navigate panes (vim) |
Prefix + Alt-h/j/k/l |
Resize panes |
Prefix + | or \ |
Split horizontal |
Prefix + - or _ |
Split vertical |
| Key | Action |
|---|---|
Prefix + Alt-o |
Toggle logging |
Prefix + Alt-p |
Screen capture |
Prefix + Alt-i |
Full history capture |
Prefix + Alt-c |
Clear pane history |
| Key | Action |
|---|---|
Prefix + Tab |
Toggle sidebar |
Prefix + Shift-Tab |
Toggle (focus sidebar) |
| Key | Action |
|---|---|
Prefix + B |
Show battery info |
Prefix + Ctrl-c |
Show CPU/memory info |
See the Plugin Developer Guide for:
- How to create psmux plugins from scratch
- How to port existing tmux plugins to psmux
- Complete bash-to-PowerShell translation reference
- Plugin API reference and best practices
- Testing and publishing guide
~/.psmux/plugins/
ppm/ # Plugin manager
ppm.ps1 # Main entry point
scripts/
install_plugins.ps1
update_plugins.ps1
clean_plugins.ps1
psmux-sensible/ # Each plugin gets its own directory
psmux-sensible.ps1
psmux-yank/
psmux-yank.ps1
scripts/
copy_to_clipboard.ps1
...
~/.psmux.confdeclares plugins withset -g @plugin 'owner/repo'- The final
run '..ppm.ps1'line loads PPM - PPM sources all installed plugins on startup
- Each plugin configures psmux via CLI commands (
set-option,bind-key,set-hook) Prefix + Iclones new plugins from GitHub
psmux is a native Windows application. Its plugins use PowerShell because:
- Native integration:
Set-Clipboard,Get-CimInstance, Windows APIs - No dependencies: PowerShell 7 comes with psmux, no bash/cygwin needed
- Same power: PowerShell can do everything bash scripts do
- Windows-first: File paths, process management, scheduled tasks all just work
MIT