whatisgithub

What is tmuxp?

tmux-python/tmuxp — explained in plain English

Analysis updated 2026-06-26

4,497PythonAudience · developerComplexity · 1/5LicenseSetup · easy

In one sentence

A session manager for tmux that lets you save your terminal window layouts and startup commands to a YAML file and restore the whole setup instantly with one command.

Mindmap

mindmap
  root((tmuxp))
    What It Does
      Save tmux layouts
      Restore in one command
    Config Format
      YAML or JSON
      Sessions and windows
      Pane commands
    Key Commands
      tmuxp load
      tmuxp freeze
      tmuxp shell
    Setup
      pip install
      Homebrew
      Debian package
    Requirements
      Python 3.10 plus
      tmux 3.2 plus
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Save your project's terminal layout to a YAML file and restore it with one command every time you start work

USE CASE 2

Define separate workspaces for different projects, each with specific panes and auto-starting commands

USE CASE 3

Snapshot a live tmux session you already have arranged and turn it into a reusable config file

USE CASE 4

Run pre-load shell hooks to install dependencies automatically before a project session starts

What is it built with?

PythontmuxYAML

How does it compare?

tmux-python/tmuxpastorfi/tensorflow-world1nchaos/adata
Stars4,4974,4984,499
LanguagePythonPythonPython
Setup difficultyeasymoderateeasy
Complexity1/52/52/5
Audiencedeveloperresearcherdata

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Requires Python 3.10+ and tmux 3.2+ already installed on the system.

Use freely for any purpose, including commercial projects, as long as you keep the copyright notice.

So what is it?

tmuxp is a session manager for tmux. Tmux is a terminal multiplexer, a program that lets you split your terminal into multiple panes and windows and keep them all running even if you disconnect. Setting up a specific layout of panes and starting the right commands in each one every time you sit down to work on a project is repetitive. tmuxp solves this by letting you describe that layout in a YAML or JSON config file and then restore the whole thing with a single command. A config file specifies a session name, the windows you want, what layout each window uses, and what commands should run in each pane. Running tmuxp load ./mysession.yaml recreates that exact setup. If you already have a tmux session arranged the way you like, tmuxp freeze can snapshot it to a config file so you can reload it later. Config files from the similar tools tmuxinator and teamocil are also supported. The tool includes a shell mode, tmuxp shell, which opens a Python console with the current tmux server, session, window, and pane available as objects you can inspect and manipulate programmatically. This is useful for debugging or scripting more complex tmux behaviors. A pre-load hook system lets you run arbitrary shell commands (such as installing dependencies) before a session is brought up. tmuxp is a command-line tool installed via pip, Homebrew, or the system package manager on Debian and Ubuntu. It requires Python 3.10 or later and tmux 3.2 or later. It is built on top of libtmux, a separate Python library for controlling tmux. The license is MIT.

Copy-paste prompts

Prompt 1
Write a tmuxp YAML config for a web dev workspace with panes for the dev server, test runner, and git log
Prompt 2
How do I use tmuxp freeze to snapshot my current tmux session layout and save it as a config file?
Prompt 3
Create a tmuxp config that opens a Python project with one pane running Flask and another running pytest in watch mode
Prompt 4
How do I add a pre-load hook in tmuxp to run npm install before my project session launches?

Frequently asked questions

What is tmuxp?

A session manager for tmux that lets you save your terminal window layouts and startup commands to a YAML file and restore the whole setup instantly with one command.

What language is tmuxp written in?

Mainly Python. The stack also includes Python, tmux, YAML.

What license does tmuxp use?

Use freely for any purpose, including commercial projects, as long as you keep the copyright notice.

How hard is tmuxp to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is tmuxp for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.