mitchellh
today at 3:19 PM
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.
What's it been like managing a fairly large project with Zig? I know you've spoken highly of the language in the past, but recently it seems like Zig has been through some substantial changes that would be relevant to a terminal emulator. I'm curious how painful the churn has been for project maintainers.
mitchellh
today at 9:14 PM
It's been extremely good. I should really blog about it in more detail because I do get asked this question regularly. It's been very good.
The large language changes are a burden, but it's something I knew going into it. And so far in every case, it's been well worth it. For example, 0.15 introduced the std.Io.Writer overhaul, but I really love the new API. I haven't started the std.Io change yet for 0.16. We'll see. And honestly, LLMs make this all way less painful... even though they're not trained on it, agents are able to run builds, reference docs, and work their way through the upgrade with huge success.
I thought that finding contributors would be an issue, but it hasn't at all. There's a lot of people out there eager to use Zig, the language isn't hard to learn (as long as you're already familiar with systems concepts), etc. It has been good.
I'll think about more to say if I write about this more but overall, I'm very happy with the language, the community, and the leadership. All good.
That's super interesting to hear. I see people say all the time "oh I would never use it in a big project because it's changing so fast", but then see awesome projects like Ghostty and Tiger Beatle written in it, so clearly they're doing something right.
I'm surprised to hear LLMs have been helpful. What little I tried to use them for with Zig, all the information was way too out of date. But I was mainly just doing research, not running an agent at the time, so that's probably why.
mitchellh
today at 10:18 PM
Yes, LLMs with Zig are absolutely useless without agentic behaviors. Throw an agent in the mix and it's totally fine. Bonus points if you pair it with some basic agent skills so it knows how to look up language references, stdlib files, etc. then it does even better.
I'll have to give it another try the next time I play around with Zig. I decided to let all the big changes with IO and what not play out before diving back in lol.
I've been slow on the agent pickup. The ethical issues really bother me (LLMs in general), though it's clear I'm not gonna have a choice in this industry so I've been caving recently. The persistent narrative that agents can build entire complex software systems is also irritating, because that clearly doesn't seem to align with reality.
Would you mind sharing or pointing me to any links that explain how you've set up Zig to work effectively with LLMs using agentic features?
I was thinking that downloading the full official documentation, separated by sections inside the repository someone is working on with Zig, could be useful, but maybe there are more optimal ways to approach this.
Thanks.
Do you get frustrated in using a low training data language like zig with AI models? I've noticed that models tend to be better with languages like TypeScript than Swift because of issues like that.
mitchellh
today at 10:52 PM
Not at all. Give it tools and skills and it figures it out very quickly. Must be an agent. Don't use chat.
Mitchell,
What has it been like witnessing terminal emulators make such a huge comeback with the advent of Claude Code et. all? I remember comments here in the early days of Ghostty along the lines of "Why is he working on a terminal emulator? We need people working on future problems, not the past!" Pretty funny considering I regularly hear people say they are in the terminal more than the browser now. Crazy times!
mitchellh
today at 5:27 PM
Overall I would describe it as "amusing."
If you told me 3 years ago that terminal usage would _increase_ I would've laughed. Beyond that, I'm now having regular conversations with the frontier agentic coding companies (since they're far and away the largest terminal users at the moment) and if you had told me 2 years ago that that would be happening because of a terminal, I would've laughed even harder.
So, it's amazing. But overall, its amusing.
Would a terminal deal with them have added another billion to your account if it hadnāt been nonprofit?
Wait, really? So Iāve used the terminal for everything for decades, and now, because of vibe coding, all The Kids have joined me? I donāt even know how to feel about that. Better terminals are nice though.
chrysoprace
today at 10:54 PM
I think terminal workflows are intimidating for a lot of people, because the discoverability is lower than GUIs. You can't necessarily intuit how a CLI works, you have to read the documentation or watch a tutorial, which my 10 years in the IT industry has taught me a big barrier even for really experienced SWEs. The new coding TUIs are a more gentle introduction to that.
thewebguyd
today at 5:22 PM
Right? Itās been kind of funny watching everyone ārediscoverā the terminal and Iām over here feeling like a true graybeard āsilly kids, Iāve been here the whole time.ā
Whatās old is new again is apparently just as true in tech as it is in fashion.
james_marks
today at 8:50 PM
The terminal was _always awesome_, the bar to realized that was just a tad high for many people. Until now!
here-doc usage has probably 100x-ed in the last year
It's because the web developers who destroyed the web are now taking their mess with them into more obscure places, such as terminals, hardware and AI.
That's probably why it is so hyped up as it is right now.
Embrace, Embellish, Enshittify.
Yeah itās been amusing to see people rediscovering tmux as well
/* Claude Code is the strongest case of the return to the mainframe: a closed, bespoke, paid service that nothing locally run compares to. Terminals are just a natural part of the mainframe world! */
Once he fixes the past he will have more time to fix the future
He was on a podcast recently where he talked about that a little. Itās on Youtube.
I'm the author of Trolley[0] (Electron for TUIs).
It was so easy to get the terminal functionality going with `libghostty`. Most time was spent building the functionality around it.
Thanks for making it.
[0]: https://github.com/weedonandscott/trolley
guiambros
today at 5:13 PM
Coincidentally I was just listening to your interview with The Pragmatic Engineer [1] this morning. Loved hearing the stories of early days at HashiCorp, taking it public, and the near-miss with VMware.
It also got me wondering how things would be different if you haven't crossed paths with the guy who unplugged your mouse :) It's fascinating how life is full of these small yet defining moments. We don't always appreciate them right away, but beautiful to look back.
Thanks for Ghostty! It has been my daily terminal driver for the past year.
[1] https://www.youtube.com/watch?v=WjckELpzLOU
I was also just recommended this interview on youtube. honestly it makes sense if the algo decided it was the right time to recommend this video and resultantly this post is making it's way to front page of HN
guiambros
today at 5:49 PM
I subscribe to the channel, so I had already downloaded the episode. But glad PE is getting some algorithm-love; it's a great channel/podcast. Gergely is a great interviewer.
https://www.pragmaticengineer.com/
Thanks for all the work you do! I had used terminal just a few dozen times before November ā and now i am in terminal more than any app (even more than the web browser).
Itās common for me to have 15-25 different terminal windows open for using Claude code. I shifted to Ghostty because I was looking for more features.
Unfortunately, none of the features I wanted are available anywhere (though Iāve come to appreciate Ghostty anyway). Hereās what I had wanted:
1. Basic text editing features (ie click to place cursor in the text input field; highlight to delete)
2. Change colors or fonts mid session (to make it easier to find particular windows)
3. Window management and search (eg, a way to find my windows when I lose them and to otherwise control them)
Apparently, it is really hard to develop features like these for terminal emulators. Iād love to understand whyā¦
The next release includes a way to use a command palette to search for and jump between surfaces (windows, panes), which sounds like it partially addresses your third point. I had a small hand in it, by building the initial UI for the Linux version.
stonegray
today at 4:30 PM
IMO this isnāt the job of the emulator. You can do this all in `tmux` for example.
As for editing text, ghostty+tmux most definitely supports editing text with the mouse (even an in terminal right click menu!) although sounds like your intended use of select to delete isnāt common so youāll need to do some customizations.
What makes you say that isn't the job the emulator? Sure it is. In fact, tmux itself is a terminal emulator that you just so happen to run inside of another terminal emulator that you want to multiplex.
yearolinuxdsktp
today at 4:53 PM
Iāve been using scroll back search for 15+ years with Terminal.app and iTerm2, and thereās no way thatās not the job of the terminal. You donāt know how good that is until you use it.
stevenhuang
today at 7:35 PM
Tmux does it better
HorizonXP
today at 5:08 PM
Having incorporated libghostty into my current web-based project, I can't say enough thanks. I've lived in the terminal since 2003, resisting IDEs, VSCode, everything because I'm a die hard Vim + tmux guy. Vibe coding coming back to the terminal, and being able to use libghostty to facilitate that is a serious vindication of my steadfast resistance to move away from the terminal.
I'm sure you feel the same watching Ghostty become what it has. Big thank you.
nvme0n1p1
today at 3:24 PM
Now that Ghostty is part of a real org, is there any way people can sponsor specific features/bugfixes? I've been waiting for drag/drop to be working on KDE before I make the switch, and I'd be happy to pay for a fix.
Many thanks for everything. Without Ghostty I wouldn't have been able to create https://github.com/rcarmo/webterm and have a decent browser-based terminal that works the way I expect it to.
linsomniac
today at 6:52 PM
mitchellh: What is the current thinking WRT adding client/server functionality (like built-in tmux+mosh)? I recall you talking about it on the Changelog podcast, and that would be a killer feature for me; I really make a lot of use of the wezterm equivalent, it's so nice having first-class UI windows rather than tmux's faking of it.
makeramen
today at 7:35 PM
Zellij has been holding me over with tabs and panes (in quick terminal) while I wait for them to come to ghostty directly.
Tabs (and panes? I haven't tried yet) should work fine for regular terminal windows though.
linsomniac
today at 10:45 PM
Just to clarify, it's more about the ability to run a terminal on my Linux box and connect and disconnect to it from my Mac that I'm looking for. Wezterm does a good job of this. Previously I was using tmux and mosh and Nebula, and that worked really great for reconnecting (I almost never had to reconnect, it just stayed live, wezterm I need to reconnect all the time, but that works reliably). But copy-paste with tmux is meh.
nicoritschel
today at 8:16 PM
Did a double take on this one since my Ghostty has had panes for a while now (I run tip/nightly). Didn't realize it's not part of the current release.
Also, Zellij is nice.
makeramen
today at 9:04 PM
Ah I just started using ghostty maybe a week ago and I mostly use quick terminal so I might be missing the panes on the regular windows.
I started using it a few days ago and then I need to find something in the terminal. But....there is no find! Why? Can you guys add it? This is such a basic and critical feature that I may have to just go back to...just about anything else.
james_marks
today at 8:54 PM
find is provided by the OS, not a terminal emulator like Ghostty. Most likely something is wrong with your paths.
I think they mean like CTRL+F kind of find.
This is addressed in paragraph 5 of the post they replied to.
fartfeatures
today at 9:43 PM
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.
mitchellh
today at 9:44 PM
New stable release in 1 to 2 weeks.
mijoharas
today at 8:52 PM
Hey Mitchell, thanks for ghostty (happy user here for a month or two). Is there anywhere I can look to see the status of the next planned release?
I've been waiting for the vim feature to hit stable, and have just been checking to see if there's a new release every so often, but I couldn't find a discussion or anything to see when it was planned.
hesdeadjim
today at 5:07 PM
Random advice question. My brother taught himself to program and has been making a terminal-based game. What started out small has turned into a highly polished game with ascii art, sound, you name it.
Iāve been trying to figure out how I could actually help him distribute it and I keep coming back to the best option being to wrap his programs terminal output into a host process that can emulate and render it. It seems that the lib Ghostty might be perfect for the former, but not quite yet on the latter?
foobarincaps
today at 8:39 PM
I use Ghostty as my main TUI at work and absolutely love it. Most of my day lives in terminals, and Ghostty just feels fast, clean, and out of the way in the best possible sense.
I was a long-time Kitty user, but switching to Ghostty has been a big upgrade for my workflow. Hard to go back now. Thank you
I literally discovered Ghostty yesterday when googling "best terminal macos" and surfaced a ~year-old reddit thread recommending it [0]. Just needed something other than Terminal so I could Cmd-Tab between distinct command-line work (e.g. claude code and ipython tabs). Was nice to find something that just worked
[0] https://www.reddit.com/r/macapps/comments/1loiw2z/comment/n0...
Fwiw x the program alt-tab on Mac gives macOS a more sane alt-tab behavior.
Cmd+` is also a useful shortcut for switching between windows of the same application
Excited to see the further development of libghostty! It is an exciting project in this new world of being able to develop your own agentic development environments rather effortlessly. These things are possible because of projects like yours. Thank you!
I just wanted to say "thank you". I switched to Ghostty over a year ago and it's been working out great. It's now my default terminal. My favorite features are responsiveness and ease of splitting panes.
Congrats on creating and helming such a cool project!
Out of curiosity, does ghostty do the Quake terminal thing - I use yakuake for this, but it feels a bit long in the tooth.
It does. See https://ghostty.org/docs/config/keybind/reference#toggle_qui...
This works on MacOS, and on Linux sometimes:
> On Linux, the quick terminal is only supported on Wayland and not X11, and only on Wayland compositors that support the wlr-layer-shell-v1 protocol. In practice, this means that only GNOME users would not be able to use this feature.
Hi Mitchell, thanks for creating Ghostty. Been part of my workflow ever since I found it. Just a small question, when do you see Ghostty can fully replicate iTerm2 popular features like output copy/selection?
Thanks for your awesome work. Never thought Iād switch to a terminal without cmd-f, but ghostty made it worth it. Canāt wait for v1.3!
EmperorClawd
today at 10:50 PM
[dead]
aayushdutt
today at 3:25 PM
[flagged]
sethammons
today at 3:40 PM
while I agree, the comment you just replied to says:
> 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
It works well enough that I didn't realize I've been on the nightly channel since it appeared, too!
FYI: It is working in nightly!
Hi,
Big fan. Can I get a ride on your jet?
> front page
Nice! Looks like I should have rushed the interview. :D