[!NOTE] RMUX now has an E2E web multiplexing feature. Learn more in the docs.
RMUX now provides Python and TypeScript SDKs: librmux, @rmux/sdk.
If you have a feature request or want to report anything, please file an issue.
๐งญ What is RMUX?
RMUX is an async, typed terminal multiplexer engine written in Rust. It implements 90+ tmux commands and runs natively on Linux, macOS, and Windows with no WSL required.
Use it as a standalone CLI, embed it in Rust terminal apps, or drive it through typed SDKs for Rust, Python, and TypeScript.
โจ Features
- Universal engine: typed SDKs for Rust, Python, and TypeScript.
- Native cross-platform runtime: Linux, macOS, and Windows backends.
- tmux-compatible command surface: 90+ commands covered by focused compatibility tests.
- Web Share: browser-shared sessions with hybrid post-quantum end-to-end encryption.
- Ratatui widget: render live RMUX panes inside Rust terminal applications.
- Local daemon architecture: shells, panes, windows, sessions, and scrollback stay on your machine.
๐ Quick Start
Use rmux -V for the installed version.
๐ฌ Demos
๐ฆ Installation
| Platform / manager | Command |
|---|---|
| / Homebrew | brew install rmux |
| / installer | irm https://rmux.io/install.ps1 | iex |
| / WinGet | winget install rmux |
| / Scoop | scoop bucket add rmux https://github.com/Helvesec/scoop-rmux && scoop install rmux |
| / Chocolatey | choco install rmux |
| / APT | See the APT setup guide |
| / DNF | See the DNF setup guide |
| / Nix | nix profile install github:Helvesec/rmux |
| / Cargo | cargo install rmux --locked |
Direct downloads (.tar.gz, .deb, .rpm, .zip) are available from the v0.7.0 GitHub Release.
Release packages may use a tiny public CLI for hot detached commands and a
private full CLI helper for complex tmux-compatible command forms. Windows
packages ship rmux.exe as the tiny dispatcher and keep the full CLI under
libexec/rmux/rmux.exe. Set RMUX_DISABLE_TINY_CLI=1 to force the full helper
while diagnosing CLI compatibility issues.
๐ค Claude Teammate Mode
Run Claude Code inside a local RMUX workspace with tmux teammate mode enabled.
# e.g., rmux claude --dangerously-skip-permissions
RMUX opens an attached session and automatically passes --teammate-mode tmux
along with your [args] straight to Claude.
How it works under the hood: to route commands properly, RMUX prepends a
private tmux shim to Claude's PATH. This is strictly scoped to the Claude
process and will not conflict with your system tmux installation.
Note: Requires claude to be installed on your machine.
โ๏ธ Configuration
RMUX reads .rmux.conf from standard system and user locations.
On Linux and macOS:
/etc/rmux.conf
~/.rmux.conf
$XDG_CONFIG_HOME/rmux/rmux.conf
~/.config/rmux/rmux.conf
On Windows:
%XDG_CONFIG_HOME%\rmux\rmux.conf
%USERPROFILE%\.rmux.conf
%APPDATA%\rmux\rmux.conf
%RMUX_CONFIG_FILE%
If no RMUX config is found, RMUX can parse standard tmux.conf paths on a best-effort basis. Unsupported plugin lines are reported without aborting startup. Disable this fallback with RMUX_DISABLE_TMUX_FALLBACK=1.
๐ Web Sharing
Share a pane or session in a browser while terminal execution remains local.
Web Share uses hybrid post-quantum end-to-end encryption and can run over loopback, a tunnel provider, or your own ingress.
๐งฐ Scripting & API
The SDKs connect to the local RMUX daemon and expose sessions, panes, streams, waits, and snapshots for automation.
- Rust SDK:
rmux-sdk - Python SDK:
librmux - TypeScript SDK:
@rmux/sdk - API reference
- Examples
- Repository SDK overview
๐ Documentation
The full documentation is available at rmux.io/docs.
- Installation guides
- CLI reference
- Examples
- API reference
- Human-friendly config
- Nix packaging
- Web Share
๐๏ธ Architecture
RMUX keeps shells, sessions, windows, panes, and PTY processes inside the local daemon. Local clients attach via IPC. Web Share exposes only the selected pane or session through an end-to-end encrypted WebSocket.
๐งช Verification
The workspace is designed to be checked from source with locked dependencies:
#![forbid(unsafe_code)] is used in the upper-level crates. OS and terminal boundary code is isolated in lower-level runtime crates.
โ๏ธ License
RMUX is dual-licensed under either:
at your option.