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.
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.
"Emacs is a nice programming language but the editor sucks"
I've tried out plenty of things that seemed promising but turned out to have sloppy implementations before the LLM days, and I've also used some things that are ostensibly vibe-coded but had shockingly high quality of UX compared to the alternatives because the creators put in time and effort into polish beyond what people who make software the "traditional" way tend to, so to me, the important signal is what level of care went into the creation of the software. I'm hoping that this project turns out to be one of the good ones, and if it is, the people who dismiss it because of vibes (pun intended) will be the ones missing out.
It's obviously AI assisted but I interpreted it as a nod to itself on that and really appreciated it.
Feedback
Your site needs some work on the responsiveness. At around 1200 pixels width on my browser, half of the video just gets cut off. It just doesn't scale correctly.
It’s a landing page.
Apple is the worst offender. Some of their product pages make me physically uncomfortable like when you miscount the number of steps in a stair and step into empty air.
And it’s not that I’m sensitive to animations or motion in general. Video games are no problem at all even when the physics make no sense.
There’s something special about how good scrolling is on Apple’s trackpads and mobile screens which causes a really deep immersion for me. I have an Ubuntu desktop with an old school scroll wheel mouse and there the animations are just annoying but not uncomfortable.
I 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.
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.
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?
What do you mean by remote terminals?
To be clear, That doesn't make cmux bad. if you WANT to do everythign on your mac, cmux is fantastic. its just not designed with the remote ssh control use case in mind.
that said, really appreciating the world you're putting into it!
excited to check back in on the progress as you work on it though! I think these kinds of tools are going to be much more relevant going forward as we all move to agentic workflows.
I think it's trying to be like a code-first/API alternative to Tmux. So instead of:
```
tmux new-session -d -s atmux send-keys -t a 'npm test' Enter
sleep 2
tmux capture-pane -p -t a ```
you'd do something like:
```
pane.send_text("npm test\n").await?;pane.wait_for_text("Tests passed").await?;
let snapshot = pane.snapshot().await?; ```
I don't know why it would be better for agents, maybe the author also works on an LLM agent harness.$ curl -fsSL https://rmux.io/install.sh | sh rmux install: unsupported OS: MINGW64_NT-10.0-26200
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.
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!
basically an api to a terminal?
currently, i finds it's tmux orchestration code is too complex.
will check it out
curious, what was the usecase here?