I'm a little puzzled why Ghostty is so suddenly popular. I've tried it, it's OK but it's not as good as kitty, and it's implementing the protocols that kitty invented to make the terminal experience better. Kitty is cross platform, fast, visually pared back, and really featured. I keep finding new things like it's got a protocol for copying files over ssh sessions, and the hints system is really neat.
I can answer that from a very pragmatic point of view. I was able to download ghostty and get it to run the way I expected in about 5 minutes. Everything was smooth, intuitive, and the defaults were very good.
I tried many other terminal apps in the past and was always unimpressed, so I kept using Terminal.app. Ghostty is the first terminal emulator in years that worked better than Terminal.app.
I know that kitty has a one line install and has done for ages, and the defaults are fine? One thing I really liked about the default config was that it lists every option with an explanation.
Since you insist, I actually downloaded kitty again and tried it. And I confirmed that I disagree with "it's not as good as kitty".
Within minutes I ran into a problem: tried to select a theme using 'kitten themes', could navigate themes but enter did not work, nor was I able to Ctrl-C. I had to kill the app from a different terminal (ahem).
That's what I remember from trying other terminals: they usually try to do too much, and there are plenty of rough edges, which results in me having to spend too much time fussing around. Ghostty gets this right: things work well, the defaults are good, and things that you want to change are easy to change.
Similar to this, but I actually needed to compile it. Still only took 5 minutes to be up and running even though I've never gone near that toolchain before.
Of course they can. They just haven’t, yet, due to different priorities. Also, I barely use search in my terminals, and I believe there’s more of us for who lack of this feature is not a deal breaker.
Kitty on Mac has a few visual issues that Ghostty doesn't have:
- the text rendering looks slightly blurry when comparing side by side (Kitty looks blurry, Wezterm and Ghostty look crisp)
- when resizing the window, the window content 'wobbles' (Ghostty is stable, both Kitty and Wezterm have the resize wobble)
This wobbling effect is a known issue with Metal views (no idea tbh why Apple can't fix that in the window system), the solution is to 'anchor' the view to one window side during resizing (although not perfect, since during the maximize transition the window content doesn't scale), but the basic wobbling fix is fairly simple: https://github.com/floooh/sokol/pull/963
In general I have the impression that Kitty feels quite 'heavy' on macOS compared to both Wezterm and Ghostty (and iTerm2 which I used before feels heavier than all those combined).
I think Ghostty outperforms Kitty in font rendering, especially on high-resolution, high-DPX displays like MacBooks. It also offers integrated session management—both features I personally value highly. That said, Kitty is still an excellent terminal.
It's new. It's led by a star dev. It has sane defaults. It's written in a new programming language, so devs can learn from it if they're interested in the language (there are only a handful production ready projects written in zig so far).
I'm also sticking to kitty, 'cause I use some of the more funky features. But if I were to recommend a terminal to a newbie, I would recommend ghostty as it really cares about having a good default experience.
Pretty much exactly what I was going to say, except I have long ago dropped kitty (went back to alacritty).
I have found composing simple tools into a toolset is way better in the long term than shopping for the 'one tool to rule them all'.
Mitchell has always seemed like a principled, rooted developer who produces quality product. He also does his homework (he made me aware of wezterm due to it being prior art he referenced).
Finally, I am one who is interested in Zig, graphics, and a terminal junkie. When I found out Mitchell wrote a tty, I had to try it, and was not disappointed.
yes, it's really plug-and-play. and the standard to which every feature was held from the start inspires confidence in its future; as opposed to alacritty with its "just use another terminal then, we're not considering this", and wezterm, whose kitty keyboard protocol implementation had more bugs than not (can't hold it against them - the protocol is nice but the document called its "spec" is just ghastly). They're still great, of course.
and Mitchell is pleasant and very approachable, as opposed to Kovid.
I've been using it for almost a year now and I just never noticed it at all, it's been seamless. A great example of Zuhandenheit.
In the absolute lowest sense possible, which means that it's been compiled for different platforms and it runs on different platforms, but it also looks and feels completely alien on anything else than a Linux machine with a tiling window manager.
looks and runs like a mac app on macOS as far as i can tell. seems pretty normal on XFCE as well. not sure what you're finding to be "completely alien".
saner defaults, easier configurability (esp. mouse/keyboard, where the documentation can be less-than-clear; and imported config files, where the path doesn't always resolve cleanly), user-friendly documentation available in multiple forms (Alacritty has declared they will never do this: manpage and website only!), lack of dismissive attitude from devs (in addition to manpage stubbornness? no to "smart copy", no "example config", no "reset and clear scrollback" which was a 6-line ready-to-go PR, no "confirm quit" when tasks are active or even when the user prefers it), better integrated with GTK libraries and GNOME extensions (no strange Alt+Tab popup behavior, unresolved IBus weirdness), good proof of concept for an alternative new-ish programming language, Alacritty is generally not faster or leaner or bug-free compared to some other terminals: every now and then I would open top and alacritty would be at 8 or 9 percent while just being open in the background (and with reasonably high physical memory usage; just because my machine has the RAM doesn't mean I want the OS to allocate it to over-hungry Rust utilities)
I can think of a dozen excellent reasons to stop using Alacritty (and not in favor of Kitty) and I did because of some of them.
I don't want to learn tmux to handle a feature that my OS already handles. If alacritty supported tabs (and was slightly less hostile, e.g. [0]) I'd be happy with it
Kitty honestly looks pretty bad, at least on gnome. I’ve tried tweaking its settings, but I could never get it to look even remotely as good as ghostty out of the box. And the latter looks like a proper gnome app