RMUX
Menu
Docs Examples API CLI Architecture GitHub Get started

V0.1 — PUBLIC PREVIEW

The Rust Multiplexer for Agents.

RMUX keeps terminal work alive, scriptable, and inspectable. Usable as a tmux replacement from the shell, and drivable from Rust through sessions, windows, and panes.

Natively available on Windows , macOS , and Linux .

Usable like tmux, drivable like Playwright.

CLI shell
rmux new-session -d -s ci
rmux send-keys 'cargo test' Enter
rmux wait-for 'test result: ok'
rmux capture-pane
Rust SDK rust
let rmux = Rmux::builder().connect_or_start().await?;

let session = rmux
    .ensure_session(
        EnsureSession::try_named("ci")?
            .create_or_reuse()
            .detached(true),
    )
    .await?;

let pane = session.pane(0, 0);
pane.send_text("cargo test\n").await?;
pane.wait_for_text("test result: ok").await?;
let snap = pane.snapshot().await?;

One binary. Three platforms.

Pick your installer or grab the binary from GitHub releases.

Cargo
cargo install rmux --locked

Switch to RMUX with ONE letter.

Same 90 commands. Aiming for same behaviour, same look.

RMUX
tmux
Persistent sessions, detach & reattach
Yes
Yes
Native Linux, macOS & Windows
All three
Unix only
Typed SDK (Rust handles, async)
Yes
No
Language
Rust
C++
Structured pane snapshots (cells + ANSI)
Yes
Plain text only
Streamed output & line events
Yes
No
tmux key bindings & muscle memory
Compatible
Native

When the keyboard is the user, tmux still fits. When code is the user, RMUX takes over.

Create a session. Keep it running. Return anytime.