RMUX
Menu
Docs Examples API CLI Architecture GitHub Get started

The multiplexer engine forAgents.

RMUX keeps your shell alive, scriptable, and fully inspectable. Drop it in as a blazing-fast, tmux-compatible multiplexer, or use it as an engine for terminal-native automation with persistent sessions, snapshots, and typed orchestration. 100% Rust.

Natively available on Windows , macOS , and Linux .

DEMOS

Explore the demos

See RMUX in action through concrete terminal automation workflows.

Usable like tmux, automated like Playwright.

CLI
rmux new-session -d -s ci
rmux send-keys -t ci "printf 'test result: ok\n'; rmux wait-for -S ci-done" Enter
rmux wait-for ci-done
rmux capture-pane -p -t ci
Rust SDK
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("printf 'test result: ok\n'\n").await?;
pane.wait_for_text("test result: ok").await?;
let snapshot = pane.snapshot().await?;

One binary. Three platforms.

Install a prebuilt binary from rmux.io, or use Cargo from crates.io. GitHub release binaries include SHA256 checksums.

macOS / Linux
curl -fsSL https://rmux.io/install.sh | sh
Windows
irm https://rmux.io/install.ps1 | iex
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
Terminal-native locators and structured snapshots
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.