tmuxp
Session manager for tmux, which allows users to save and load tmux sessions through simple configuration files.
What it is and what it does
tmuxp is a command-line session manager for tmux that lets you define terminal workspaces in YAML or JSON files and load them reproducibly. Instead of manually creating windows, panes, and running commands each time, you write a configuration file once describing your layout, shell commands, and working directories, then restore the entire session with a single command. It wraps the libtmux library and supports multiple configuration formats, including tmuxinator and teamocil styles.
The tool is useful for developers who work with consistent terminal setups—development environments, monitoring dashboards, or multi-service local testing rigs. It also includes utilities to freeze (snapshot) running sessions, convert between YAML and JSON formats, and a Python shell for interactive tmux manipulation. You can load sessions in the background, run pre-load hooks for setup scripts, and organize configs in standard directories like ~/.config/tmuxp/.
Use it for:
- Restore a multi-window development environment (editor, build, logs, tests) with one command after restarting.
- Define and share a standard tmux layout for a project so all team members start with the same pane setup.
- Automate local infrastructure testing by loading sessions with panes running different services in parallel.
- Snapshot a running tmux session's layout and pane commands, then replay it later or in a different context.
- Bootstrap a project workspace by combining session loading with pre-load hooks that install dependencies.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
tmuxp saves and loads tmux sessions from YAML or JSON configuration files, letting you define multi-window, multi-pane terminal layouts declaratively and restore them on demand.
Yes. tmuxp is actively maintained, has no known vulnerabilities, low install friction, and solves a real problem for anyone using tmux regularly. The MIT license is permissive. Install it if you find yourself recreating the same tmux layouts repeatedly or want to version-control your terminal workspace configuration.
Install
tmuxp on PyPI
pip
pip install tmuxpuv
uv add tmuxppoetry
poetry add tmuxpInstalling tmuxp
Before you install
Low install friction; pure Python wheel with only two runtime dependencies (libtmux and pyyaml). Actively maintained with a recent release and no known vulnerabilities.
License in practice
MIT license is permissive; you can use, modify, and distribute tmuxp with minimal restrictions, making it suitable for both personal and commercial projects.
Quickstart
pip install tmuxp
# Create mysession.yaml with your tmux layout, then:
tmuxp load ./mysession.yaml
# Or load from user config directory:
tmuxp load mysession
Requires tmux 3.2+ to be installed on your system; tmuxp is a Python wrapper around tmux, not a replacement for it.
Verify before relying
- Whether the plugin system is documented well enough for typical extension use cases.
- Performance characteristics when loading sessions with many panes or complex shell commands.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (<4.0,>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — libtmux, pyyaml |
| Maintenance | actively maintained — 41 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 136,558/month — #11,393 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: tmuxp-1.74.0-py3-none-any.whl
Keywords: ncurses, session manager, terminal, tmux
Tags
More Utilities packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
charset-normalizerDetects and normalizes text encoding from…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
PygmentsPygments is a syntax highlighter that colorizes…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
libtmuxlibtmux provides a typed Python API to control…
permissive · top 5,000 on PyPI
pairmuxpairmux lets AI agents control interactive…
permissive · top 15,000 on PyPI
iterm2Provides a Python scripting interface to…
copyleft · top 15,000 on PyPI
imgcatDisplays images in iTerm2, WezTerm, and tmux by…
permissive · top 15,000 on PyPI
textual-imageRenders images directly in terminal emulators…
copyleft · top 15,000 on PyPI
textual-devtextual-dev provides a command-line tool for…
permissive · top 15,000 on PyPI
textual-serveRuns any Textual terminal application in a web…
permissive · top 5,000 on PyPI
asciinemaRecords and replays terminal sessions, saving…
copyleft · top 5,000 on PyPI
jupyter-server-terminalsAdds terminal support to Jupyter Server,…
permissive · top 1,000 on PyPI
yamlfixyamlfix is a command-line YAML formatter that…
copyleft · top 5,000 on PyPI