Jarvix Mux
A small layer over a terminal multiplexer. It lets Jarvix start agents in panes, arrange them, send them text, and look at what they show, without caring which multiplexer is underneath. tmux is the one implementation today.
What you can do
- Spawn a session, then panes inside named windows. A pane runs any command, with its own environment variables and working directory.
- Tag a pane with a name. Tags survive restarts, so a new process can find the same panes again.
- Arrange a window as an even grid of panes.
- Send text to a pane, including multi-line text, as if pasted and submitted.
- Capture what a pane currently shows.
- Focus a pane, switching windows if needed.
- Check whether a pane is alive, and why it died. A dead pane stays on screen so you can read what happened.
- Clean up a single pane or a whole session.
Good to know
- Everything runs on its own tmux server (a named socket), so your normal tmux sessions are never touched.
- Your
~/.tmux.confis loaded by default. Ask for a clean config if you want a reproducible look. - Text injection does not check whether a human is typing in that pane. That decision belongs to the caller.
Try it
A hands-on demo spawns a handful of nodes, lays them out, sends messages, and attaches you to the result.
uv run python packages/mux/examples/demo.py # fake nodes, no API calls
uv run python packages/mux/examples/demo.py --claude # real Claude Code in every pane
uv run python packages/mux/examples/demo.py --no-attach # build it, print how to attach
Switch windows with ctrl-b n / ctrl-b p, detach with ctrl-b d. Clean up afterwards:
tmux -L jarvix-demo kill-server
Tests
uv run pytest packages/mux/tests
Metadata
Release files for jarvix-mux 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jarvix_mux-0.1.0.tar.gz | 10.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jarvix_mux-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 19.2 kB
Release files / jarvix_mux-0.1.0.tar.gz
| Download URL | jarvix_mux-0.1.0.tar.gz |
|---|---|
| Size | 10.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
eb5bae9abbc9c420d8c4f9f4b87541a68f5a238fef1af1b3fc4faf943c5dbf49
|
|
BLAKE2b-256 checksum How to use checksums |
42d98e501529ba9f070d1dbb3289eb33607ed5fe5d8946b2f44563110d6ac41d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.14
|
Release files / jarvix_mux-0.1.0-py3-none-any.whl
| Download URL | jarvix_mux-0.1.0-py3-none-any.whl |
|---|---|
| Size | 9.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a6b5850d2f874f692b443fc7ac5e19e3bf50450e3136184b056b08d4ac61820a
|
|
BLAKE2b-256 checksum How to use checksums |
948489338dc99549ce68b2e5d2886ced036b443b974d12f74d8ae926c222e78b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.14
|