Skip to main content

muxer

logo

muxer is a small tmux-like multiplexer implemented in Python. It focuses on a narrower feature set:

  • persistent background sessions
  • multiple terminal tabs backed by real PTYs
  • a status bar
  • keyboard navigation between terminals
  • page-based scrollback
  • session save/restore to YAML

It is intentionally a lightweight, hackable alternative rather than a full tmux replacement. The current UI is tab-oriented rather than split-pane-oriented.

Install

pip install .

This exposes the muxer executable.

Commands

muxer new work
muxer attach work
muxer save work
muxer restore ~/.muxer/sessions/work.yaml --name work-restored
muxer ls
muxer kill work

If a session does not exist, muxer attach NAME will fail. muxer new NAME starts the daemon and immediately attaches a client.

Client shortcuts

muxer now uses a Screen-like command prefix so normal application keys pass through to the terminal. The default prefix is Ctrl+A.

  • Ctrl+A c: open a new terminal tab
  • Ctrl+A d: detach the client and leave the daemon running
  • Ctrl+A k: kill the current terminal tab
  • Ctrl+A a: rename the current terminal tab
  • Ctrl+A p: move to the previous tab
  • Ctrl+A n: move to the next tab
  • Ctrl+A 0..9: jump to a tab by index
  • Ctrl+A s: save the session to ~/.muxer/sessions/<name>.yaml
  • Ctrl+A PageUp / Ctrl+A PageDown: scroll the active terminal
  • Ctrl+A Ctrl+A: send a literal prefix character through to the running program

After Ctrl+A a, muxer enters a simple inline rename mode: type the new name, press Enter to confirm, Backspace to edit, or Esc to cancel.

You can change the prefix with MUXER_PREFIX=c-b muxer attach work, muxer --prefix c-b attach work, or muxer attach work --prefix c-b.

Save and Restore

The YAML save file stores, for each terminal:

  • tab id and tab name
  • best-effort current working directory
  • a best-effort environment snapshot
  • the launch shell
  • a tail of recent plain-text output for reference

Running processes are not checkpointed. On restore, muxer starts fresh shells, changes to the saved directory, and reuses the saved environment where possible.

For better $PWD and environment capture, muxer injects a small shell hook for bash and zsh that refreshes state every prompt.

State Directory

By default, muxer stores runtime sockets and save files under ~/.muxer. If that location is not writable, it falls back to a per-user temporary directory. You can override the location explicitly with MUXER_HOME=/path/to/state.

:bot:

Coded with Alphabet Gemini and OpenAI Codex

Metadata

Release files for muxer 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for muxer 0.2.0
File Size Uploaded Provenance
muxer-0.2.0.tar.gz 295.0 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for muxer 0.2.0
File Interpreter ABI Platform
muxer-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 324.8 kB

Release files / muxer-0.2.0.tar.gz

Download URL muxer-0.2.0.tar.gz
Size 295.0 kB
Tags Source
SHA-256 checksum
How to use checksums
89c75faa15ef7f5b3698b8562e14ab1a728daf80f385a3d3e0ee8913278d4085
BLAKE2b-256 checksum
How to use checksums
4d0fd67a9a6bdeb617c98b0db5f150e7c776bd0d6ce6e7502fb3506105bf2852
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 23, 2026.

Transparency log

Release files / muxer-0.2.0-py3-none-any.whl

Download URL muxer-0.2.0-py3-none-any.whl
Size 29.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8ff763cf04fa5d24758382361e34e0a9bfe83c9d6ee9dc06398d69113b18c437
BLAKE2b-256 checksum
How to use checksums
91491dccb764fa4061ccf381f100c5902734b73c541e512f2ffdd5301d494772
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 23, 2026.

Transparency log

Security for muxer 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for muxer-0.2.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 23, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page