The best way to install plugins and themes for both PSMux and Tmux.
A full-featured TUI plugin manager — the modern alternative to TPM.
Browse, install, remove, update, and theme your tmux — all from a beautiful terminal interface.
🪟 Need native tmux for PowerShell? Install PSMux on Windows: winget install psmux
cargo install tmuxpanel · choco install tmuxpanel · scoop install tmuxpanel · winget install marlocarlo.tmuxpanel
cargo install tmuxpanelLinux users: You need a few system packages before building from source:
Debian / Ubuntu:
sudo apt install pkg-config libssl-dev build-essentialFedora / RHEL:
sudo dnf install pkg-config openssl-devel gcc makeArch Linux:
sudo pacman -S pkg-config openssl base-devel
choco install tmuxpanelscoop bucket add tmuxpanel https://github.com/marlocarlo/scoop-tmuxpanel
scoop install tmuxpanelwinget install marlocarlo.tmuxpanelDownload the latest release for your platform from GitHub Releases:
| Platform | Archive |
|---|---|
| Windows x64 | tmuxpanel-vX.Y.Z-windows-x64.zip |
| Windows x86 | tmuxpanel-vX.Y.Z-windows-x86.zip |
| Windows ARM64 | tmuxpanel-vX.Y.Z-windows-arm64.zip |
| Linux x64 | tmuxpanel-vX.Y.Z-linux-x64.tar.gz |
| Linux ARM64 | tmuxpanel-vX.Y.Z-linux-arm64.tar.gz |
| macOS x64 (Intel) | tmuxpanel-vX.Y.Z-macos-x64.tar.gz |
| macOS ARM64 (Apple Silicon) | tmuxpanel-vX.Y.Z-macos-arm64.tar.gz |
git clone https://github.com/marlocarlo/Tmux-Plugin-Panel.git
cd Tmux-Plugin-Panel
cargo build --release
./target/release/tmuxpanelAfter installation, three commands are available:
tmuxpanel— Main TUI plugin managertmuxplugins— Opens directly to the Browse tabtmuxthemes— Opens directly to the Themes browser
TPM works, but it's a shell script with no UI, no search, no browsing. Tmux Plugin Panel gives you a complete graphical plugin manager — think "app store for tmux" — right inside your terminal. Works with both tmux on Linux/macOS and PSMux on Windows.
- Browse a curated registry of 40+ plugins, sorted by category and stars
- Search GitHub for any tmux plugin in real-time
- One-key install/remove/update — no editing config files manually
- Theme gallery — preview and switch tmux themes instantly
- Settings editor — toggle tmux options (mouse, status bar, keybindings) without memorizing
set -gsyntax - Auto-detection — finds tmux and PSMux installations, versions, and config files automatically
- Config management — creates, parses, and updates
tmux.conf/psmux.conffor you - Offline fallback — ships with an embedded plugin registry; works without internet
| Tab | What it does |
|---|---|
| ⌂ Dashboard | Quick-action cards for common tasks. Browse plugins, themes, configure settings, reset to defaults, manage registries. |
| Browse | Category sidebar + plugin list + detail panel. Search, filter by compat, install with Enter. |
| Installed | See all installed plugins. Update one (u), update all (U), remove (x), clean orphans (C). |
| Themes | Dedicated gallery for tmux themes. Install, activate, switch — one keypress. |
| Config | Full settings editor. Toggle booleans, cycle choices, edit values inline. Grouped by category. Reset individual settings or factory reset. |
- Tmux Plugin Panel auto-detects your tmux installation and config file
- If no
tmux.confexists, presscto create one - Browse plugins → press
Enterto install - Press
Rto reload tmux with your new plugins
| Key | Action |
|---|---|
q |
Quit |
Tab / Shift+Tab |
Switch tabs |
1–5 |
Jump to tab (1=Dashboard, 2=Browse, 3=Installed, 4=Themes, 5=Config) |
↑ ↓ / j k |
Navigate list (wraps around) |
← → / h l |
Switch category (Browse) / settings group (Config) |
Enter |
Install plugin / toggle setting / dashboard action |
x / d |
Remove plugin (with confirmation) |
u |
Update selected plugin |
U |
Update all plugins |
C |
Clean orphaned plugins |
/ |
Search plugins |
f |
Toggle compat filter (tmux / psmux) |
r |
Rescan config |
R |
Reload tmux config (tmux source-file) |
c |
Create config / cycle configs |
Backspace |
Reset single setting to default (Config tab) |
D |
Reset all settings to defaults (Config tab) |
Ctrl+D |
Factory reset entire config (Config tab) |
p |
Preview plugin/theme |
J / K |
Scroll README detail |
? |
Show help |
src/
├── main.rs # Entry point, terminal setup, event loop
├── app.rs # Application state machine (5 tabs, selections, data)
├── ui.rs # TUI rendering with ratatui (dashboard + 4 tabs + overlays)
├── registry.rs # Plugin registry — embedded + external sources, search/filter
├── plugins.rs # Git-based install/remove/update engine
├── themes.rs # Theme management (install, activate, switch)
├── config.rs # tmux.conf / psmux.conf parser, editor & factory reset
├── detect.rs # Auto-detection of tmux/PSMux binaries & configs
└── github.rs # GitHub API client for search & repo info
Tmux Plugin Panel ships with a curated registry of popular tmux plugins covering:
- ⭐ Essential — TPM, tmux-sensible, tmux-256color
- 🎨 Themes — Catppuccin, Dracula, Nord, Tokyo Night, Rose Pine, and more
- 💾 Session — tmux-resurrect, tmux-continuum
- 🧭 Navigation — vim-tmux-navigator, tmux-fzf
- 📊 Status Bar — tmux-cpu, tmux-battery, tmux-net-speed
- 📋 Clipboard — tmux-yank
- 🔧 Utility — tmux-fingers, tmux-open, tmux-logging
The registry is fetched from GitHub on startup and cached locally. An embedded copy is compiled into the binary as a fallback.
You can extend the built-in registry by adding external sources (local JSON files or remote URLs). See REGISTRY_FORMAT.md for the full schema and setup instructions.
Registry sources are configured in ~/.config/tmuxpanel/registry_sources.json.
- Rust — safe, fast, no runtime
- ratatui — modern terminal UI framework
- crossterm — cross-platform terminal manipulation
- tokio — async runtime for GitHub API calls
- reqwest — HTTP client
Tmux Plugin Panel uses the standard TPM plugin syntax in your tmux config:
# ~/.tmux.conf
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'catppuccin/tmux'
set -g @plugin 'tmux-plugins/tmux-resurrect'Plugins are installed to ~/.tmux/plugins/ by default.
| Variable | Purpose |
|---|---|
GITHUB_TOKEN or GH_TOKEN |
Authenticate GitHub API requests (higher rate limits) |
MIT — see Cargo.toml.
Contributions welcome! Feel free to open issues or submit pull requests.
- Fork the repo
- Create a feature branch
- Make your changes
- Submit a PR
Built with 🦀 Rust and ❤️ for the terminal
