Show HN: Rmux – A programmable terminal multiplexer with a Playwright-style SDK (github.com)
Author here. RMUX started from a frustration: I've used tmux for years and got tired of scraping output with grep and sleeps to automate anything. So I rebuilt the multiplexer from scratch in Rust, with a programmable layer on top.
Two surfaces: a tmux-compatible CLI (~90 commands, your keybindings just work), and a typed async Rust SDK on the same daemon — stable pane IDs, structured snapshots, locator-style waits. The idea is Playwright-style automation, but for terminals.
Native on Linux, macOS, Windows (real ConPTY, no WSL).
Demos and docs at rmux.io. Happy to answer questions about the daemon protocol, ConPTY, or the SDK design.
39 comments
[ 4.5 ms ] story [ 440 ms ] threadI understand you've put a hell of a lot of work into this. You might want to have a look at https://www.awwwards.com/ and take some inspiration for some of the designs, then write up a general spec sheet of how the website should look and feed that into Claude.
Otherwise Claude just does what a language model does best, and regurgitates a lot of the same styles.
all that said, none of the existing solutions are perfect and rust codebases are nice. how easy is it to reorder panes? is there a cli that lets me control the panel layout via a skill file and allow my opencode session to target and send data to other panes?
2. ask Claude to make a website and claim R is better than X because it's Rust
3. advertise on HN, X and Reddit
4. ???
5. profit!
$ curl -fsSL https://rmux.io/install.sh | sh rmux install: unsupported OS: MINGW64_NT-10.0-26200
But I wonder if tmux/rmux design is suboptimal since it couples session persistence and window management together. Do you have an opinion the design which separates the responsibilities? An example that pioneered this approach is abduco, and libghostty-based zmx being a modern implementation.
The repo doesn't quite work yet. Many sharp corners. But the basic idea is there.
pama, I'd be interested in hearing more about how you are using emacs for multiplexing. I'm trying to build up tooling for myself based around file and input workflows and I /really/ don't want to write a text editor and would prefer to stick with emacs.
Interesting portable scripting thingy. But it would only work with portable tools, not just everything. Especially with Windows tools.
I created `ygg`[0] a while back to easily spawn a new worktree when working with Claude/codex, and it also spawns that in a dedicated zellij tab. I think making the terminal multiplexer pluggable, so it would be easy to integrate something like this.
[0] https://github.com/joch/ygg
currently, i finds it's tmux orchestration code is too complex.
will check it out