107 comments

[ 0.21 ms ] story [ 120 ms ] thread
i hope they implement something that can be used with tmux -CC mode.
Why is it in the main page? It's a super well-known project no?
How's the latency? I've had to keep using xterm even though it kind of sucks just because it's got the lowest latency by quite a bit.
It feels amazing on linux. I find it very noticably better than konsole.

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

I use it but have people trier cmux?
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.
A config page. Reasonable padding defaults.

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.

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.

(comment deleted)
I expected this to point to the 1.3.0 release since it’s expected in March. Hopefully we get that soon.
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.

Suggestions are welcome.

> 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!

https://zellij.dev/

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.
If there wasn't kitty I'd definitely be using Ghostty, but I have no reason to switch.
For anyone using this terminal that hates != (and others) being turned into a single character, I have the following to turn off ligatures:

    font-feature = -dlig
    font-feature = -liga
    font-feature = -calt
This can be updated in `$HOME/.config/ghostty/config`.
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.
can you please make a Windows version!!
What's the current state of the art with using libghostty in a browser? There are a few community projects around that compile it down to wasm.

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.

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?
Cmd+F ! Thank goodness!
Do you think there's entry barrier, even if pride based or psychological, to the fact that libghostty is called so rather that something more generic?

Let's say I'm the creator of Alacritty, would I have more problems adding libghostty than it's generically named identical counterpart libtermengine?

(comment deleted)
Can you please add an rss feed to your blog? Thanks for the amazing work
I came to Ghostty for the icon, but stayed because of the experience, the philosophy and your dedication and enthusiasm. Thanks!
> 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.
bro please update ur support for not gtk DE please
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 like how snappy Ghostty is. I do not like how it starts lagging after a few alt-tabs to Chrome and back on Linux.
The minimum-contrast feature is great, to help in those times when some color combination would have been unreadable otherwise.
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.

Sounds like that’s coming in the next release per Mitchell’s comments above, fwiw.
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!

you should try foot terminal, i have been using for the past couple of months and it is quite good
I keep trying it but keep coming back to alacritty on Linux and iterm2 on osx.
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.

[0]: https://github.com/ouijit/ouijit [1]: https://mitchellh.com/writing/libghostty-is-coming