Very cool! I think the hype around “agents are so good that you never actually need to see the underlying commands they are running or interact with the terminal session that they’re running” misses out on a lot of very important use cases, particularly around long running processes that may be shared across multiple agents. This will be very cool to see how best practices evolve!
Congrats on the launch. If emacs was unavailable and I needed tmux, I would try it. I am old school, and use emacs daemons for all shell multiplexing. The agents dont need explanations and know how to use emacsclient to create, read, or send inputs to named buffers that run the shells. Elisp is powerful, so manipulating windows is a breeze. Lots of people on tmux would benefit from this design though.
Cool project, I like the idea of having tmux-compatible CLI. I used Zellij to get better UX, but many agent tools integrate with tmux. This way agent tools can still integrate tmux as a defacto standard for programmatic interface while having better interface for users.
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.
I thought I was too zealous because I created 11 crates respecting single responsibility principles.. I would have been all in to risk it further and separating responsibilities for session and window management but it would have diverged too much from tmux. I wanted a 1-1 port for now
The website is a little too obviously made by Claude. The first thing I noticed is the classic "pill with pulsing green dot that says something is active or live" claudism.
commonlisp (sbcl) is one of the best sleeper techs out there. one of those if you're in the know type industry secrets. part of it is because their website looks like something out of the 90's. clearly having a nice website and some level of marketing is necessary to get adoption. Im more than happy to see devs use AI to automate that so they have more time to focus on their creations.
Isn't lisp getting advertisement every couple months here or so. After so many decades I don't believe the reason lisp doesn't have traction is just marketing.
a week ago I was using cmux but its osx only and doen't work on remote terminals. then I switched to herdr which is great so far except its not s great at managing panes. I can't move them around or change ordering. now another terminal multiplexer. I'm getting whiplash.
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?
I built https://zmx.sh to make it easier to interact with your terminal sessions programmatically. 1 window = 1 session which might feel like a negative but it makes programmatic access easy and agents can use it just by pointing it at the zmx help command. Basically, an agent just needs 2 commands (run and write) for full control and the commands are synchronous so you don’t need to do any polling.
I started using cmux a month ago and it had made my life a lot easier. Finally I have a pane with all my projects open all the time, I can switch between them, have multiple terminals for each one.
my plan is to eventually move my entire workflow to a remote workmachine over ssh. with kernal, I can automate all my smoketests entirely from a headless machine rendering my laptop overkill to run agentic workflows. I'd rather be using it to watch movies, learn new stuff or hand code in my downtime. if your workflow requires cmux, you're stuck running your agents on your local machine.
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.
I'm one of the creators of cmux. I'm moving a lot of my own dev work to Mac Minis, so I'm starting to feel quite a lot of the pain you mentioned... will try to make this better!
no skill file, you get the same 90 commands of tmux. and if you build a rust app you can have many more cool stuff like "wait for" some text to appear, asyncly
well it looks great so far but Its a no go for me for now until you have at least a cli that a coding harness can use to drive it. thats going to be the killer feature going forward for all these multiplexers. last week I vibecoded a plugin that lets me open a line specific input box that sends the context of my code along with my prompt into my opencode session running on a seperate pane. its a game changer when it comes to moving faster.
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.
rmux is much faster than tmux or zellj, I did some internal benchmark and it's promising. rmux is a multiplexer engine, meaning that you can rewrite entirely zellij using rmux.. I created a mini zellij in a few hundred lines of rust. You can check the demoes on the repo
But wait, I’m a user of tmux or zellij which for me was basically another tmux and I went back to tmux eventually. I’m not looking to develop another tmux or something. Is this project more of a library to create tmux like apps?
As of today you can replace tmux by rmux. Its behavior should be 1-1 iso; tmux is more stable though, it has been battle tested with a dozen of years of edge cases refinement. rmux is a faster and more elegant clone of tmux + windows support + programmable sdk
with rmux you can finally do acceptance/integration tests on your terminal user interfaces. tmux is made for humans, rmux is made for both humans and machines
You can rewrite Zellij entirely with rmux , that's the main difference. I put a demo on the repo. Because rmux is an engine. I wrote it to be the multiplexer of multiplexers
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.
It’s a landing page.
$ 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.
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.
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.
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!