Skip to main content

Reliable terminal primitives for AI agents on tmux

Project description

pairmux — reliable terminal primitives for AI agents on tmux

pairmux lets an AI agent drive a real terminal through a reliable, blocking
interface while a human can watch, attach, and help at any time. It is an
Agent-Computer Interface (ACI) layer built on top of tmux, not a replacement
for it: tmux stays the terminal-state engine, so a human can `tmux attach` and
take over almost for free.

Highlights:
* Blocking `run` / `wait` calls return when a command actually finishes,
times out, or starts asking for input — the agent never guesses `sleep N`.
* A per-terminal journal is the single source of truth: full scrollback is
always available via `log`, even after output scrolls off screen.
* Completion detection degrades gracefully: OSC 133 shell integration first,
then a printed sentinel, then output quiescence.
* Output is shaped for models (ANSI stripped, carriage-return redraws folded)
and truncated responses always carry the exact command to fetch the rest.
* Humans and agents share one live terminal; `note`, `attach`, and a
per-terminal writer lock keep hand-offs sane.

Installation model:
This is a platform wheel bundling a prebuilt native `pairmux` executable.
Installing it drops the binary straight onto your PATH (the environment's
bin/ directory) — there is no Python code and no build step, so
`uv tool install pairmux` and `pipx install pairmux` just work.

Runtime requirement: tmux >= 3.2 (`pairmux doctor` checks your environment).

Homepage / source: https://github.com/treeleaves30760/pairmux
License: MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pairmux-0.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

pairmux-0.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

pairmux-0.1.0-py3-none-macosx_12_0_x86_64.whl (1.4 MB view details)

Uploaded Python 3macOS 12.0+ x86-64

pairmux-0.1.0-py3-none-macosx_12_0_arm64.whl (1.3 MB view details)

Uploaded Python 3macOS 12.0+ ARM64

File details

Details for the file pairmux-0.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: pairmux-0.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: Python 3, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for pairmux-0.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 47bdfc3c0715589209fd518ad2ae953117a61a7834da959a0b9e624b114a1755
MD5 9ae9ecc73457ea45db4760eb348ed284
BLAKE2b-256 db18e9a30e92c369613afec4afcc79e6c1f7dd3a19804741afc689bfcf36c422

See more details on using hashes here.

File details

Details for the file pairmux-0.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

  • Download URL: pairmux-0.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: Python 3, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for pairmux-0.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6c4a44cda8c496c31600c8286c38ff9e785c060de5ea15495de5cad4a7fa2c6f
MD5 447692d353a6a69f22a929562d73ccbd
BLAKE2b-256 20e6961cffe1fa003bbcf14c6198c168bfb74c76bec9e242dd5696bf694badb2

See more details on using hashes here.

File details

Details for the file pairmux-0.1.0-py3-none-macosx_12_0_x86_64.whl.

File metadata

  • Download URL: pairmux-0.1.0-py3-none-macosx_12_0_x86_64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: Python 3, macOS 12.0+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for pairmux-0.1.0-py3-none-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 32617a1aeadd46e65a35431edf7a598baf405bc66babf4495dccc996b1bd8585
MD5 69f717ac2360904e5e4a7ff79f27e9c6
BLAKE2b-256 7db761ee713eaaad7949a8e4bb963d501a8fcae296bc64d62a6739ff254cb590

See more details on using hashes here.

File details

Details for the file pairmux-0.1.0-py3-none-macosx_12_0_arm64.whl.

File metadata

  • Download URL: pairmux-0.1.0-py3-none-macosx_12_0_arm64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: Python 3, macOS 12.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for pairmux-0.1.0-py3-none-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 029b01e0fe41a9b592bc23360083438c18e2655f15062317d9b31228841c864a
MD5 d7e96a3c6318241d861ced4db17e5d9e
BLAKE2b-256 9720e609d804ce5df2afb281f754f24151cf29905dc9d7d028651f7525054aee

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page