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!
> hotkey overrides - I have some things explicitly unmapped / remapped in my ghostty config that conflict with some cmux keybindings and weren't respected
We need to be better about this; right now you can modify keyboard shorcuts with cmd+, in the GUI. Planning on making it a config file in the spirit of ghostty though, not sure if we want to reuse ghostty's config file though since it might become a maintenance burden for them...
> command palette (cmd-shift-p) for less-often-used actions + discoverability
yes
> cmd-z to "zoom in" to a pane is enormously useful imo
Thinking of the right way to design this. Like hypothetically we can expand it, but what happens if you make a vertical/horizontal split, or cmd+t to make a new tab? I guess we could just "merge" it back into the original space which would be pretty cool.
zmx solves persistence well, and I like their minimalism (not supporting windows, tabs, or splits). I think it's possible to make a CLI wrapper for zmx that adds notifications though, so you can have some niceties of cmux without switching to a new terminal. Lowkey we might explore this direction as well.
Excited that someone besides me wants this! I want to hear more about your warm container host, is that shared between multiple people, or just yourself?
Also want some feedback on how we should implement it. Could make it a CLI command that opens a new vertical tab/workspace:
cmux ssh <host>
Or maybe a configurable dropdown next to the plus button.
> a cron or hook that runs tmux capture-pane on each agent pane and checks for the idle prompt is enough to know when one needs attention.
Curious why you aren't using Claude Code's stop/notification hook
> Separate Chrome profiles per agent is the brute-force fix, but it's expensive. The better pattern is treating browser access as a serialized resource — one agent gets it at a time, with the others queued.
Ports could also be another serialized resource. Another direction we're exploring is to give agents VMs that have Chrome + VNC preinstalled [1]. Prompting Claude to use Docker also goes a long way there.
Very cool stuff! Would be curious if the stuff you've built is open sourced? Having a bunch of Claude Codes will definitely eat a ton of CPU/RAM. libghostty should help to a certain extent, but at some scale, you'll probably a custom optimized agent loop or remote VMs.