tmuy is a terminal multiplexer for agents.
Like tmux, but stripped down for agent workflows: one named PTY-backed session per task, no panes, no windows, just durable terminals you can attach to, send input to, tail, wait on, and script.
Session data lives in files in ~/.tmuy.
Sandboxing via Bubblewrap on Linux.
tmux is optimized for humans managing layouts. tmuy is optimized for agents and task-oriented workflows.
- one session = one task
- stable names and hashes, easier for scripts and supervisors to target
- built-in
send,tail,wait,inspect, and--json - logs and metadata are persisted automatically
For third-party programs, the supported machine-facing interface is the tmuy
CLI plus --json.
- create sessions with
tmuy --json new ... --detached - keep the returned stable
id_hash - read state with
ls --jsonandinspect --json - write exact bytes with
send --no-enter - read exact output bytes with
tail --raw --follow - follow structured lifecycle events with
events --follow --jsonl - use
tmuy rpc servefor a versioned local control socket - wait for completion with
wait --json
The hidden __serve subcommand and the Unix socket wire format are internal.
See docs/automation.md for the canonical automation flow.
curl -fsSL https://raw.githubusercontent.com/nick1udwig/tmuy/master/install.sh | shOr:
curl -fsSL https://raw.githubusercontent.com/nick1udwig/tmuy/master/install.sh | sh -s -- -b ~/.local/binPin a specific release:
curl -fsSL https://raw.githubusercontent.com/nick1udwig/tmuy/master/install.sh | sh -s -- -v v0.2.0Build from source:
cargo install --path .Start a shell session:
tmuy new iosReconnect later:
tmuy attach ios
tmuy send ios "git status"
tmuy tail -f ios
tmuy events ios --follow --jsonl
tmuy wait ios --timeout-secs 300Run a one-off command in its own PTY:
tmuy new tests -- /bin/sh -lc "cargo test --locked"
tmuy tail testsRun a restricted session on Linux:
tmuy new review --fs ro:. --net off -- /bin/sh -lc "rg TODO src"Serve the RPC control API:
tmuy rpc serve- keep a Codex or Claude Code session alive while you switch devices
- run mobile dev tasks over SSH without losing the terminal state
- supervise long-running builds or test runs
- give an agent a sandboxed terminal with limited filesystem or network access
- Linux and macOS support normal sessions
- restricted sandboxing is currently Linux-only via
bubblewrap - session data lives under
~/.tmuyby default
For more detail, see docs/spec.md,
docs/automation.md, and
docs/rpc-v1.md.