Ghostty is great and a lot of fun, only thing missing to me is search scrollback. https://github.com/ghostty-org/ghostty/issues/189 They know about this and I think the current answer from them is just use tmux or the like. Only thing missing though, otherwise a fun pleasant experience.
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.
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.
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.
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.
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
I know it's subjective, but it feels fast and lean, while iTerm felt cluttered. I really like WezTerm also, but not having a quake style terminal meant that I used iTerm in parallel.
So being able to use only Ghostty now is super nice. I just hope that support for tabs in the quick terminal (that's the quake style terminal in Ghostty) is coming at some point.
It'a also great to see how quickly Mitchell reacts to issues on GitHub. It was nice to report an issue and see it fixed only a few hours after that.
Shouldn't it be handled by your shell?
I know it's a question without the correct answer - I'm struggling with deciding what should be handled by wm, terminal, terminal multiplexer, shell, text editor.
I never understood the argument "its fast"
All of them are fast? I mean, iTerm had a period in my life where it felt clunky, but I've never had a "slow" terminal. Alscritty, kitty, etc. are all pretty fast themselves
You don’t notice the delay of a slow terminal until you use a fast one. After that it’s hard to go back. Typing and tab switching are noticeably faster.
But I alscritty/kitty are fast too. It’s more a comparison to terminal.app/iterm and others.
Yeah. “Fast” in what sense? I tried printing all unicode characters in 80 symbol lines and scrolling the screen of several thousand lines does not freeze only in terminal.app.
Aside from some bizarre tests and benchmarks like this in normal life I don’t know what could be considered slow.
The main reason to I switched from macOS Terminal is it lacks true colour support (Ghostty far from the only alternative that offers this, but it's quite similar to Terminal.app in the way that it feels, it's a decent native macOS experience)
I'm in a similar situation (just redid my setup with Niri) and Ghostty's slow startup is essentially my only problem with it, and I've loved foot for years. Ghostty's font rendering looks better to me though, so I'm conflicted between foot's instant startup and the (to me) nicer looking text in Ghostty. Since I tens to keep terminals open for a while, I've been going with Ghostty, but I'd love to somehow get both qualities.
Copy Mode and Quick Select are two things in Wezterm that I use all. the. time. The other killer feature is the remote multiplexing, because it gives a better experience than ssh+tmux. https://wezfurlong.org/wezterm/multiplexing.html
Yep, I don't think I could go back to a terminal without an equivalent of Copy Mode and Quick Select. If it had those, Ghostty would be interesting so sure.
One trick I have is my ghostty config loads a linked theme config that is a list of my favorite themes. On new shell, I shuffle the list. When I restart or reload config, I get a random theme I enjoy. Adds a little variety
> SSD is only supported on Wayland. Ghostty uses the KDE Server Decoration protocol. Despite the name, this protocol is supported on almost every major Wayland compositor, not just KDE. For X11, we could not find a well-supported protocol for SSD, so we continue to use CSD.
I thought X11 was SSD by default, delegating windows decorations to the window manager?
Can't wait to jump on Ghostty on Linux, once they introduce a feature to save my tab/splits layout or put it in a conf file to load, like a terminator profile.
Ghostty is great and a lot of fun, only thing missing to me is search scrollback. https://github.com/ghostty-org/ghostty/issues/189 They know about this and I think the current answer from them is just use tmux or the like. Only thing missing though, otherwise a fun pleasant experience.
Agreed. I’ve got it installed and the second it has this it’s my new default. Great app, hopefully this comes soon.
Yes, also no Command-. to send CTRL-C is a glaring omission for an app intended to be native on the Mac. They got Command-K right, though.
But it’s an interesting project, I’m playing with it regularly.
For me, native Mac apps should be using CFPreferences to store config.
This is the only thing missing for me and my teams. You run a test suite and it failed. Cmd+f should allow me to search for error or failure messages.
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.
> it's not as good as kitty
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.
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.
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.
I couldn’t find anything related to session management in the documentation and it’s something I miss. Do you have a link? Thanks
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.
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.
Agreed. Ghostty has become my goto Zig reference.
I'm still not sure why I should switch away from alacritty...
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
[0] https://github.com/alacritty/alacritty/issues/3129
Pretty much same. I didn't find anything its doing substantial from kitty and copied almost all good things from kitty
Is there any connection between the Windows kitty and the mac kitty?
Nope, they just have the same (similar?) name. Kitty is for Linux too btw.
intersection of geek-cred author + hipster language
but its actually fine software
I really enjoy using it so far.
I know it's subjective, but it feels fast and lean, while iTerm felt cluttered. I really like WezTerm also, but not having a quake style terminal meant that I used iTerm in parallel. So being able to use only Ghostty now is super nice. I just hope that support for tabs in the quick terminal (that's the quake style terminal in Ghostty) is coming at some point.
It'a also great to see how quickly Mitchell reacts to issues on GitHub. It was nice to report an issue and see it fixed only a few hours after that.
Switched over from Iterm - A fundamental feature I'm missing is the search feature (Cmd + F).
I use the scrollback buffer export to a temporary file (CMD+SHIFT+J), you can then open the file in any editor.
So my workflow is to type in `vim` and then press `CMD+SHIFT+J` and Enter
Anyone figure out how to bind this to CMD-F with key bindings?
This has been the major frustration for me as well. That's the only thing missing for me.
Shouldn't it be handled by your shell? I know it's a question without the correct answer - I'm struggling with deciding what should be handled by wm, terminal, terminal multiplexer, shell, text editor.
The shell doesn't have access to the scrollback though. A multiplexer would, if you used one.
I never understood the argument "its fast" All of them are fast? I mean, iTerm had a period in my life where it felt clunky, but I've never had a "slow" terminal. Alscritty, kitty, etc. are all pretty fast themselves
You don’t notice the delay of a slow terminal until you use a fast one. After that it’s hard to go back. Typing and tab switching are noticeably faster.
But I alscritty/kitty are fast too. It’s more a comparison to terminal.app/iterm and others.
It matters a lot more if you use vim at a huge resolution, or anything that sends a lot of control sequences. Terminal.app and iTerm get sluggish.
Its selling feature is it looks 'native' for Mac and is GPU-rendered. I don't find that important personally, it's just a box with text in it...
Yeah. “Fast” in what sense? I tried printing all unicode characters in 80 symbol lines and scrolling the screen of several thousand lines does not freeze only in terminal.app.
Aside from some bizarre tests and benchmarks like this in normal life I don’t know what could be considered slow.
I use the default macOS Terminal with the fish shell and starship prompt, and I'm quite happy with it.
I see people raving about Ghostty, though I'm not sure what I'm missing. What features do you find most compelling about it?
The main reason to I switched from macOS Terminal is it lacks true colour support (Ghostty far from the only alternative that offers this, but it's quite similar to Terminal.app in the way that it feels, it's a decent native macOS experience)
> Ghostty 1.1 on Linux now supports server-side decorations (SSD) for compositors that support it.
God bless
> For X11, we could not find a well-supported protocol for SSD, so we continue to use CSD.
Noo
Gnome brainrot is real
Are yous saying this because people are dunking on X11?
PSA: if you’re on Wayland, Foot starts much faster, uses about 1/4 the memory, and is very fast. Paired it with Niri WM, and <3
I'm in a similar situation (just redid my setup with Niri) and Ghostty's slow startup is essentially my only problem with it, and I've loved foot for years. Ghostty's font rendering looks better to me though, so I'm conflicted between foot's instant startup and the (to me) nicer looking text in Ghostty. Since I tens to keep terminals open for a while, I've been going with Ghostty, but I'd love to somehow get both qualities.
Any plan to implement Copy Mode similar to WezTerm?
https://wezfurlong.org/wezterm/copymode.html
Copy Mode and Quick Select are two things in Wezterm that I use all. the. time. The other killer feature is the remote multiplexing, because it gives a better experience than ssh+tmux. https://wezfurlong.org/wezterm/multiplexing.html
Yep, I don't think I could go back to a terminal without an equivalent of Copy Mode and Quick Select. If it had those, Ghostty would be interesting so sure.
I like how scriptable it is.
One trick I have is my ghostty config loads a linked theme config that is a list of my favorite themes. On new shell, I shuffle the list. When I restart or reload config, I get a random theme I enjoy. Adds a little variety
> SSD is only supported on Wayland. Ghostty uses the KDE Server Decoration protocol. Despite the name, this protocol is supported on almost every major Wayland compositor, not just KDE. For X11, we could not find a well-supported protocol for SSD, so we continue to use CSD.
I thought X11 was SSD by default, delegating windows decorations to the window manager?
Liking it a lot so far. Keep it up!
Looks like they still haven't fixed the bug where fastfetch is glitchy if you have it in your startup profile... :(
I am using the terminal that's in VSCode. I guess that's not very cool.
Haha same.
Can't wait to jump on Ghostty on Linux, once they introduce a feature to save my tab/splits layout or put it in a conf file to load, like a terminator profile.
Found a weird bug.
Running: `cat /dev/urandom` causes a crash.
> Keybinds support a new performable: prefix. This prefix indicates that the keybind should only consume the input if the action is performed.
That's a pretty cool feature, I think the Windows Terminal does something similar to that for Ctrl+c, but I don't know if it's configurable.
It’s relatively common. tmux supports it as does my own hobby terminal emulator too. Pretty sure I’ve seen it on other terminal utils as well.
Is there another terminal emulator that offers triggers[1]?
1 - https://iterm2.com/documentation-triggers.html
When is Windows support coming?
Unrelated, but does anybody know of a decent drop-down terminal for mac os?
I have to use mac os for work but i miss guake/yaquake quick-reach terminals...
Since we are on a post on Ghostty would it not make sense to try that?
It has it under the name "Quick Terminal" though it only works on macos for now.
https://ghostty.org/docs/features#macos
Ghostty actually has a built-in drop-down terminal.