- Nice work!
I have actually been working on something similar.
Main differentiators:
- Based on tmux, so you can connect to a persistent session from multiple devices
- Responsive, resizes sidebar based on mobile/desktop client connecting
- Status indicator icons for major LLM CLIs (needs input/thinking)
- Completely built into tmux, emulator-agnostic
- Supports grouping of windows
- Supports color and emoji-coding windows / panes / window groups
- It's higly configurable using yaml
https://github.com/brendandebeasi/tabby
by johnthedebs
1 subcomments
- Hey, this looks seriously awesome. Love the ideas here, specifically: the programmability (I haven't tried it yet, but had been considering learning tmux partly for this), layered UI, browser w/ api. Looking forward to giving this a spin. Also want to add that I really appreciate Mitchell Hashimoto creating libghostty; it feels like an exciting time to be a terminal user.
Some feedback (since you were asking for it elsewhere in the thread!). Happy to go into more detail about any of these if it's helpful:
- It's not obvious/easy to open browser dev tools (cmd-alt-i didn't work), and when I did find it (right click page -> inspect element) none of the controls were visible but I could see stuff happening when I moved my mouse over the panel
- Would be cool to borrow more of ghostty's behavior:
- hotkey overrides - I have some things explicitly unmapped / remapped in my ghostty config that conflict with some cmux keybindings and weren't respected
- command palette (cmd-shift-p) for less-often-used actions + discoverability
- cmd-z to "zoom in" to a pane is enormously useful imo
- I've been looking for something like this. It was just two weeks ago I had Claude modify Wezterm to add tree-style vertical reorderable tabs. It works OK but your solution is nicer.
So I've been using cmux for a few hours this morning, and I like it. One thing I'd like to disable is the reordering of tab groups. Currently it shows the most recent notifications on top. This also makes the keyboard shortcut for a given conversation change all the time, which is a cognitive burden for me.
- I had sort of the same idea. https://wingthing.ai/ This idea started at “sandbox” and worked its way toward “remote access”. But same thoughts about muxing sessions. Love being able to leave and reattach while an agent is working. I’ll give yours a shot!
- I like what you did here and with your direction with the stack. We have some common overlap. Last week I started clauding up something to manage my Claude sessions. It is built on Tauri 2 using xterm.js. It has is project-based and each project has resumable sessions. I borrowed inspiration from Happy coder and clauded an Expo app so I can claude remotely on-the-go. It has been a force multiplier in my clauding with developing new features and addressing bugs and defects. It was a pretty amazing feeling when I started using it to further its own development. There's a slew of other features as I adapt it to my development style.
by mikkupikku
1 subcomments
- Vertical tabs for a terminal emulator seems killer, I'll be trying this out for sure.
- Hm... any idea how I might script `git worktree` into the new-pane action?
Currently experimenting with agent-of-empires for tmux+worktrees to parallelize code changes.
by twostorytower
1 subcomments
- Looks like this could be really cool, but it's a buggy mess. Can't switch top tabs, can't close tabs. Once I lose focus in a tab, I can't ever type again in that terminal tab. Can't switch between the different sidebar tabs, either.
- Have you looked into zmx? [0]
It doesn't have built-in notifications and there's no panel to see all the open sessions, but I wonder how hard that would be to add.
I've used zmx since I ran into it a few weeks ago. Uses libghostty as well. It's great because it allows me to replace tmux completely in all my ssh sessions, and can keep one session per assistant.
[0]: https://github.com/neurosnap/zmx
- Nice. I should add notifications to https://github.com/rcarmo/webterm - I already have sparklines as a CPU usage indicator and live thumbnails, but a visual highlight should be easy to add.
- Just took it for a spin, thought it was pretty nice. Some quirks with the tab dragging, you never really know what it's going to do on mouseup, a drop-target indicator would help.
Would love to be able to color the sidebar tab.
Nice work!
- Looks really useful! Does this support the new Claude Code agent teams feature, so it will open all the team members in their own pane?
- This is pretty slick, man. The only thing is that the Ctrl-Cmd-] is too hard to press but I'll just use the number thing.
by AM1010101
1 subcomments
- Awesome work, keen to try it out tomorrow. Can I make the notifications work with Gemini CLI and Kiro CLI too?
- Got a bunch of errors when starting Claude.
- Gave this a run and it was pretty intuitive. Good work!
- vertical tabs are a great idea for ghostty!
- Good idea, but I don't want to move to another terminal now, will stick with Ghossty
by rubyn00bie
2 subcomments
- This looks cool. I honestly haven’t ever thought about using vertical tabs in a terminal window but that seems nice.
One question though, have you thought about trying to upstream any of this into Ghostty instead of making an entirely different app?
by reconnecting
1 subcomments
- 18 (!) releases in two days. This is some really fast coding.
- [dead]
by cranberryturkey
1 subcomments
- [flagged]
- [flagged]
by alchemism
1 subcomments
- With this one, small tweak it is perfect:
osascript << 'EOF'
use framework "Foundation"
use framework "AppKit"
set ghosttyIconPath to "/Applications/Ghostty.app/Contents/Resources/Ghostty.icns"
set cmuxAppPath to "/Applications/cmux.app"
-- Read the icon file
set iconImage to current application's NSImage's alloc()'s initWithContentsOfFile:ghosttyIconPath
-- Set it as the custom icon for cmux.app
current application's NSWorkspace's sharedWorkspace()'s setIcon:iconImage forFile:cmuxAppPath options:0
EOF
((The ghost pairs well with Kiro, what can I say?))