I like the look of this terminal, but it doesn't work correctly with SSH (top, ncdu for example) unless you hack the $TERM variable. It feels a bit vibecoded even though it isn't.
To give a little productive criticism, one thing I really miss is when having tiled terminals, I want to be able to full screen one of them temporarily. Double click in iterm allows this, so does mod+f in i3wm. It really is the only thing stopping me from switching to this (and I admit it might be buried somewhere in the settings)
Ghostty calls itself "feature rich" but only added cmd+F / find functionality a few months ago. Makes me wonder what other basic functions it's missing.
It's a nice terminal but it cannot be configured to the same level as iTerm, e.g. in terms of colors, look and feel, how the menus work, how the tabs work, etc.
Also, in practice, I find it hard to detect any performance difference between iTerm and Ghostty even though I know in theory that Ghostty is more performant...
So for now I go with iTerm because I prefer the UI.
Recently tried multiple terminals because I am gradually migrating off of Macs and I liked Ghostty but the lack of searching the scrollback has turned me away from it. Opening another editor to do the same I tried but didn't like.
WezTerm has everything I need and is closest to iTerm2, minus being able to quit it and have it restore all windows and tabs on restart -- but oh well, it's not an important enough feature. It also renders my prompt perfectly; no small pixel divergences like all other terminals have.
Kitty I don't remember why I rejected.
Alacritty I like but the lack of tabs is not acceptable for the moment... and before you ask: I hate tmux. So much more key presses to achieve basic functionality, it boggles my mind why people love it. But, to each their own obviously.
It's also likely I'll settle for some Linux-exclusive terminal but as I'm not yet possessing a Linux workstation (just a laptop) I haven't put the requisite time to do this research.
> Alacritty I like but the lack of tabs is not acceptable for the moment... and before you ask: I hate tmux.
Surprised none of the other commenters have mentioned zellij. I work across windows (WSL) and linux so really like having the same set up for both, which means no Ghostty/Kitty since they don't support windows.
Zellij is a lot smoother and nicer looking out the box, and its key shortcuts are pretty intuitive. There's a lit of advantages to not having an extra layer, but zellij + alacritty is definitely worth having in your list of options!
I built a Windows terminal emulator (TerminalNexus) and scrollback search was one of the first things I prioritized. Ctrl+F opens a search dialog with regex and case sensitivity, and the buffer size is configurable per shell profile. No tmux needed.
I'm the original creator of Ghostty. It's been a few years now! I don't know why this is on the front page of HN again but let me give some meaningful updates across the board.
First, libghostty is _way more exciting_ nowadays. It is already backing more than a dozen terminal projects that are free and commercial: https://github.com/Uzaaft/awesome-libghostty I think this is the real future of Ghostty and I've said this since my first public talk on Ghostty in 2023: the real goal is a diverse ecosystem of terminal emulators that aim to solve specific terminal usage but all based on a shared, stable, feature-rich, high performant core. It's happening! More details what libghostty is here: https://mitchellh.com/writing/libghostty-is-coming
I suspect by the middle of 2027, the number of people using Ghostty via libghostty will dwarf the number of users that actually use the Ghostty GUI. This is a win on all sides, because more libghostty usage leads to more stable Ghostty GUI too (since Ghostty itself is... of course... a libghostty consumer). We've already had many bugs fixed sourced by libghostty embedders.
On the GUI front Ghostty the apps are still getting lots of new features and are highly used. Ghostty the macOS app gets around one million downloads per week (I have no data on Linux because I don't produce builds). I'm sure a lot of that is automated but it's still a big number. I have no telemetry in Ghostty to give more detailed notes. I have some data from big 3rd party TUI apps with telemetry that show Ghostty as their biggest user base but that is skewed towards people consuming newer TUIs tend to use newer terminals. The point is: lots of people use it, its proven in the real world, and we're continuing to improve it big time.
Ghostty 1.3 is around the corner, literally a week or two away, and will bring some critically important features like search (cmd+f), scrollbars, and dozens more. In addition to GUI features it ships some big improvements to VT functionality, as always.
Organizationally, Ghostty is now backed by a non-profit organization: https://mitchellh.com/writing/ghostty-non-profit And just this past week we signed our first 4 contributor contracts to pay contributors real money! Our finances are all completely public and transparent online. This is to show the commitment I have to making Ghostty non-commercial and non-reliant on me (the second part over time).
That's a 10,000 foot overview of what's going on. Exciting times in Ghostty land. :) Happy to answer any big questions.
Is there any chance of a stable release that fixes the memory leak issue? I know I could run nightly but for something I spend all day every day using I'd much rather run a stable version.
You're one of the forefront experts in terminal protocol parsing. Do you have opinions on "interceptor" applications like tmux or mosh, for example? These applications technically need to do extra upfront work (especially mosh as it transforms the entire protocol) and it's not a transparent "I treat vt100 as a black box, I put bytes in, I get well structured, standardized events out". Does libghostty-vt support that currently, does it intend to support these kinds of protocols in the feature, or is this kind of thing outside the scope of the project?
> the real goal is a diverse ecosystem of terminal emulators that aim to solve specific terminal usage but all based on a shared, stable, feature-rich, high performant core. It's happening!
I recall the package manager war of Haskell between "stack" and "cabal-install":
Users would have strong opinion depending on their background.
But the developers eventually made both projects use the same libraries.
Both tools allow for ghcup to manage the compiler, so there's no conflict there.
The difference is eventually just a frontend experience, and all the heavy lifting and synergy is achieved behind the scenes.
I would not have believed the same is possible for terminals, even cross-platform, so thank you for having this vision.
Do you know of any Qt based libghostty front-ends? Also, hows zig for a relatively complex project like this? I like zig in theory but have always been worried about using it since it's still pretty early days
Thanks for creating Ghostty! Is there a chance to have shorter release cycles? I switched to nightly because of the mem bug and search, but ideally would like to be on a more stable channel.
I tried this out after getting annoyed for the 100th time by a recent bug in kgx/console that will occasionally fail to launch windows leaving incomplete windows as tabs.
Console has long since become abandonware pushing people towards ptyxis which is now the default gnome terminal. A damn shame considering console is basically complete software (the quality of software in gnome is on a downhill).
I would have given ptyxis a chance if they didn't take a basic terminal and added some fluff (features related to distrobox) on top of other annoying things I can't be bothered to remember about because I ended up removing the software every time I gave it a spin.
In just a few days I've been able to replace console with ghostty-nightly and I don't miss anything.
I love Ghostty, especially the UI is so much nicer than Kitty. However, for some reason ghostty sometimes has severe issues with dealing with SSH connections. The terminal is like broken and wrongly displayed and you can't properly type something. Therefore, I still use Kitty, especially for SSH connections. I don't know what `kitten ssh` does, but it makes my terminal work with SSH.
Ghostty's terminfo entry doesn't enable 24-bit color*, and as far as I can tell they don't provide a "ghostty-direct" entry that does. It just seemed odd that it's completely supported and working, yet not easily enabled. Maybe I just missed a trick, and didn't need to make a custom terminfo entry myself?
* "msgcat --color=test" is an easy test that shows the blending of 24-bit color, or blocky gradients otherwise.
just installed ghostty, looks cool. but my honest question is how it is significantly better than iterm2 to justify such a switch? I am aware of the fact that it is faster, uses less memory, various configurations is more straight forward. but is that all?
I have the feeling that I must be missing something big here.
When Ghostty was publicly announced, I used it for a few months and gave up on it due to the lack of support for the CMD+F feature that I use Terminal.app. This is a critical feature for me while tailing logs on my local. I tried the workaround of capturing the text into a text file and then searching it. It just didn't work for my workflow and dropped it. Ghostty is great otherwise. But, without the CMD+F, it's of no use to me.
Same. Lack of search and lack of scrollbars make me wonder why this project got so much attention in the first place. iTerm2 seems way more capable.
I suspect it is "just" the very nice-looking default theme in Ghostty. I updated my iTerm2 colors with colors I picked from Tailwind‘s excellent color palette and iterm2 now feels fresh and has all the features I want.
It’s a shame that version 1.2.x got abandoned and didn’t receive any important bug fixes. That has severely cut my trust into this project. It’s been over 4 months since the last 1.2.3 release, so the memory leak when using Claude is not addressed, my Ghostty crashes are not addressed (crash reporter doesn’t work), I don’t even bother looking at the issues anymore, as I know I am not getting the fixes for a long time.
And I’m not running a critical piece of productivity software on a nightlies channel!
On the new mac tahoe with rounded corners (which are really frustrating to me), ghostty should add small margin on the bottom, because the font is sometimes renedered on it and letters are cut (rarely but infuriating, when it happens)
I have a terminal manager project[0] I'm currently using xterm for, but very curious to try libghostty. Have mainly been hesitant because it hasn't been promoted from an internal ghostty dependency (only awareness of the place was from this article by the creator[1]), but from the sounds of it here people are finding it stable enough. Gonna give it a whirl today.
107 comments
[ 0.21 ms ] story [ 120 ms ] threadFor me, Kitty still has the edge:
https://sw.kovidgoyal.net/kitty/
WezTerm is also a strong contender:
https://wezterm.org/
Foot/Alacritty also feel amazing but they don't have some features of Ghostty.
My benchmark is opening neovim and scrolling with the mousewheel so not sure how represantative that is though
To give a little productive criticism, one thing I really miss is when having tiled terminals, I want to be able to full screen one of them temporarily. Double click in iterm allows this, so does mod+f in i3wm. It really is the only thing stopping me from switching to this (and I admit it might be buried somewhere in the settings)
Probably more, but after dealing with unhelpful errors while trying to debug my config file, I figured I'd come back to ghostty another time.
Also, in practice, I find it hard to detect any performance difference between iTerm and Ghostty even though I know in theory that Ghostty is more performant...
So for now I go with iTerm because I prefer the UI.
WezTerm has everything I need and is closest to iTerm2, minus being able to quit it and have it restore all windows and tabs on restart -- but oh well, it's not an important enough feature. It also renders my prompt perfectly; no small pixel divergences like all other terminals have.
Kitty I don't remember why I rejected.
Alacritty I like but the lack of tabs is not acceptable for the moment... and before you ask: I hate tmux. So much more key presses to achieve basic functionality, it boggles my mind why people love it. But, to each their own obviously.
It's also likely I'll settle for some Linux-exclusive terminal but as I'm not yet possessing a Linux workstation (just a laptop) I haven't put the requisite time to do this research.
Suggestions are welcome.
Surprised none of the other commenters have mentioned zellij. I work across windows (WSL) and linux so really like having the same set up for both, which means no Ghostty/Kitty since they don't support windows.
Zellij is a lot smoother and nicer looking out the box, and its key shortcuts are pretty intuitive. There's a lit of advantages to not having an extra layer, but zellij + alacritty is definitely worth having in your list of options!
https://zellij.dev/
First, libghostty is _way more exciting_ nowadays. It is already backing more than a dozen terminal projects that are free and commercial: https://github.com/Uzaaft/awesome-libghostty I think this is the real future of Ghostty and I've said this since my first public talk on Ghostty in 2023: the real goal is a diverse ecosystem of terminal emulators that aim to solve specific terminal usage but all based on a shared, stable, feature-rich, high performant core. It's happening! More details what libghostty is here: https://mitchellh.com/writing/libghostty-is-coming
I suspect by the middle of 2027, the number of people using Ghostty via libghostty will dwarf the number of users that actually use the Ghostty GUI. This is a win on all sides, because more libghostty usage leads to more stable Ghostty GUI too (since Ghostty itself is... of course... a libghostty consumer). We've already had many bugs fixed sourced by libghostty embedders.
On the GUI front Ghostty the apps are still getting lots of new features and are highly used. Ghostty the macOS app gets around one million downloads per week (I have no data on Linux because I don't produce builds). I'm sure a lot of that is automated but it's still a big number. I have no telemetry in Ghostty to give more detailed notes. I have some data from big 3rd party TUI apps with telemetry that show Ghostty as their biggest user base but that is skewed towards people consuming newer TUIs tend to use newer terminals. The point is: lots of people use it, its proven in the real world, and we're continuing to improve it big time.
Ghostty 1.3 is around the corner, literally a week or two away, and will bring some critically important features like search (cmd+f), scrollbars, and dozens more. In addition to GUI features it ships some big improvements to VT functionality, as always.
Organizationally, Ghostty is now backed by a non-profit organization: https://mitchellh.com/writing/ghostty-non-profit And just this past week we signed our first 4 contributor contracts to pay contributors real money! Our finances are all completely public and transparent online. This is to show the commitment I have to making Ghostty non-commercial and non-reliant on me (the second part over time).
That's a 10,000 foot overview of what's going on. Exciting times in Ghostty land. :) Happy to answer any big questions.
Essentially, I have a few features that have a TUI-first UI, and the obvious next step is to expose some of that to a browser.
Let's say I'm the creator of Alacritty, would I have more problems adding libghostty than it's generically named identical counterpart libtermengine?
I recall the package manager war of Haskell between "stack" and "cabal-install":
Users would have strong opinion depending on their background.
But the developers eventually made both projects use the same libraries.
Both tools allow for ghcup to manage the compiler, so there's no conflict there.
The difference is eventually just a frontend experience, and all the heavy lifting and synergy is achieved behind the scenes.
I would not have believed the same is possible for terminals, even cross-platform, so thank you for having this vision.
Console has long since become abandonware pushing people towards ptyxis which is now the default gnome terminal. A damn shame considering console is basically complete software (the quality of software in gnome is on a downhill).
I would have given ptyxis a chance if they didn't take a basic terminal and added some fluff (features related to distrobox) on top of other annoying things I can't be bothered to remember about because I ended up removing the software every time I gave it a spin.
In just a few days I've been able to replace console with ghostty-nightly and I don't miss anything.
* "msgcat --color=test" is an easy test that shows the blending of 24-bit color, or blocky gradients otherwise.
I have the feeling that I must be missing something big here.
I suspect it is "just" the very nice-looking default theme in Ghostty. I updated my iTerm2 colors with colors I picked from Tailwind‘s excellent color palette and iterm2 now feels fresh and has all the features I want.
And I’m not running a critical piece of productivity software on a nightlies channel!
[0]: https://github.com/ouijit/ouijit [1]: https://mitchellh.com/writing/libghostty-is-coming