I was a Ghostty user but kept running into the same problem: too many tabs, no way to organize them. Ghostty doesn't have tab groups or a plugin system, so I built Calyx using libghostty as the rendering engine.
The idea is simple — keep Ghostty's speed, but add the workflow features I was missing:
- Tab Groups — color-coded, collapsible groups to organize tabs by project
- Command Palette (Cmd+Shift+P) — search and run any action
- Session Persistence — tabs, splits, and working directories survive restarts
- Notification Badges — OSC 9/99/777 notifications with per-tab badge counts
- Built-in Browser — open docs right next to your terminal
- Terminal Search (Cmd+F) — find text in terminal output
- Git Diff View — inline source control diffs
- IPC MCP Server — programmatic control from tools like Claude Code (Demo: https://youtu.be/LHY-NJEqBTg)
- Scrollbar, cursor-click-to-move, Liquid Glass UI throughout
Hi, thank you for asking. Honestly, I didn't know about tmux when I started this project. I was only familiar with Ghostty and cmux, and I really wanted a translucent terminal with Liquid Glass. Plus, building my own means I can customize it however I want going forward. So I just went for it.
This is not what Liquid Glass actually looks like on first-party macOS applications. This needs way more blur and opacity to match even the control center widgets.
Hi, thanks for the feedback! To clarify, I do use the built-in .glassEffect() modifier on SwiftUI components (sidebar, tab bar, command palette, browser toolbar). The terminal surface itself is the hard part. It's backed by ghostty's Metal renderer which draws its own opaque background, so simply slapping .glassEffect() on it doesn't work. I've been working on improving transparency there but it's not as simple as a few lines of code when you're wrapping a GPU-rendered terminal engine. The titlebar is intentional for now, but I'm considering options there.
Forgive me if I got it wrong but isn’t the chrome supposed to be taken care by the OS (Liguid Glass in this case) and Ghostty to just behave as Ghostty?
If I use Calyx but I have set up macOS to be non liquid glassy as much as possible with Accessibility features, etc. will Calyx just be GHostty?
Good question! The OS handles Liquid Glass automatically for standard UI elements (title bars, sidebars, toolbars). I use .glassEffect() on those parts. But the terminal content area is a custom Metal-rendered surface from ghostty, so the OS can't automatically apply glass to it.
On the accessibility point, if you disable transparency effects, the glass parts will respect that. But Calyx won't just become Ghostty. The features beyond glass (tab groups, command palette, session persistence, notifications, browser tabs, git viewer, etc.) are all still there. Glass is the visual layer, not the core of what Calyx adds.
I moved from iTerm2 to ghosttty / wezterm (for a bit). Moved due to the AI inclusions (despite them being moved). I've had no issues, in fact, I prefer ghostty to iTerm2 now.
I moved to ghostty from iterm2 more than a year ago. At first, I thought I will be missing the iterm2’s flexibility and config options, yet in reality, I never even looked back.
Ugh that screenshot. I really hate transparent terminals. I can live with slight transparency and a pretty low detail background but this would be so hard to read.
This doesn't make me want to use it. I'm not on Mac anyway but still.
I just use Konsole at the moment, sometimes kitty if I need something really low resource.
Hi everyone, I'm the developer of Calyx.
I was a Ghostty user but kept running into the same problem: too many tabs, no way to organize them. Ghostty doesn't have tab groups or a plugin system, so I built Calyx using libghostty as the rendering engine.
The idea is simple — keep Ghostty's speed, but add the workflow features I was missing:
Happy to answer any questions.Do you have a screenshot!? I'll happily move to Calyx if it looks to my taste.
Hi, I've added a screenshot to the README. Thanks for the nudge!
Did you have trouble using tmux to organize your terminal sessions?
Hi, thank you for asking. Honestly, I didn't know about tmux when I started this project. I was only familiar with Ghostty and cmux, and I really wanted a translucent terminal with Liquid Glass. Plus, building my own means I can customize it however I want going forward. So I just went for it.
Also, tmux is really a different approach. Sometimes people just want to manage it on their workstation instead of on the server side.
You should post a screenshot in the README to give people an idea of what the terminal looks like.
Hi, thanks for the feedback. I've added a screenshot to the README. Hope you like it.
To be fair: no, I dislike it. It looks completely unreadable. I still don't know why Apple thinks this is a good idea.
This is not what Liquid Glass actually looks like on first-party macOS applications. This needs way more blur and opacity to match even the control center widgets.
Apple isn't suggesting to adopt this for your terminal, given they haven't made the native terminal glassy.
Seriously. That was the first thing i looked for.
same
Agree. Weird to market a terminal with a description of how it looks rather than actually how it looks.
No LLM is going to take screenshots unless you force it to. They like dem words more!
They're not an LLM, just Aspie. I've seen this misconception like three or four times recently, it's nuts.
Yes, please. Thank you!
It's only a few lines of code to use the built-in liquid glass.
As far as I can tell, this doesn't use it.
https://developer.apple.com/documentation/SwiftUI/Applying-L...
https://developer.apple.com/documentation/technologyoverview...
Also, for the vibe that this is going for, very surprised the title bar was left in.
---
Code has lots of claims that something is done and it isn't.
Hi, thanks for the feedback! To clarify, I do use the built-in .glassEffect() modifier on SwiftUI components (sidebar, tab bar, command palette, browser toolbar). The terminal surface itself is the hard part. It's backed by ghostty's Metal renderer which draws its own opaque background, so simply slapping .glassEffect() on it doesn't work. I've been working on improving transparency there but it's not as simple as a few lines of code when you're wrapping a GPU-rendered terminal engine. The titlebar is intentional for now, but I'm considering options there.
None of the UI elements in the screenshot follow apple liquid glass styles / guidelines afaict, whether or not glassEffect() is being used.
Sorry, not my cup of tea. I think UI peaked with minimal/material/flat a few years ago, which also made me more calm.
Besides that, I think readability could be an issue.
Forgive me if I got it wrong but isn’t the chrome supposed to be taken care by the OS (Liguid Glass in this case) and Ghostty to just behave as Ghostty?
If I use Calyx but I have set up macOS to be non liquid glassy as much as possible with Accessibility features, etc. will Calyx just be GHostty?
Good question! The OS handles Liquid Glass automatically for standard UI elements (title bars, sidebars, toolbars). I use .glassEffect() on those parts. But the terminal content area is a custom Metal-rendered surface from ghostty, so the OS can't automatically apply glass to it.
On the accessibility point, if you disable transparency effects, the glass parts will respect that. But Calyx won't just become Ghostty. The features beyond glass (tab groups, command palette, session persistence, notifications, browser tabs, git viewer, etc.) are all still there. Glass is the visual layer, not the core of what Calyx adds.
It would be hard to convince me to move away from iterm2. But a theme for it would get massive adoption.
I moved from iTerm2 to ghosttty / wezterm (for a bit). Moved due to the AI inclusions (despite them being moved). I've had no issues, in fact, I prefer ghostty to iTerm2 now.
I moved to ghostty from iterm2 more than a year ago. At first, I thought I will be missing the iterm2’s flexibility and config options, yet in reality, I never even looked back.
What is this obsession with transparent things?
Ugh that screenshot. I really hate transparent terminals. I can live with slight transparency and a pretty low detail background but this would be so hard to read.
This doesn't make me want to use it. I'm not on Mac anyway but still.
I just use Konsole at the moment, sometimes kitty if I need something really low resource.
Hard nope. Not because of the terminal, but because of Liquid Glass.
Is this a joke
A product tagline that:
- name drops some technical thing, instead of saying what it does
- mentions some other non feature
Cool I guess?