top | item 47207472

(no title)

mitchellh | 14 hours ago

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.

discuss

order

WD-42|12 hours ago

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|11 hours ago

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.

pkulak|12 hours ago

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.

nine_k|9 hours ago

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

txdv|12 hours ago

Once he fixes the past he will have more time to fix the future

robinwhg|12 hours ago

He was on a podcast recently where he talked about that a little. It’s on Youtube.

scuff3d|10 hours ago

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|8 hours ago

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.

Trufa|2 hours ago

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?

mitchellh|1 hour ago

I'm not concerned with it.

The real goal isn't for Alacrity or Kitty or WezTerm or any other terminal to use libghostty. I think over the long term, terminal emulator user bases dwindle down to niche (but important) use cases.

The real goal is for higher-level tooling (GUI or browser) that utilizes terminal-like programs to have something like libghostty to reach for. I think this represents the much, much larger ecosystem out there that likely touches many more people. For example, Neovim's terminal mode, terminal multiplexers, PaaS build systems, agentic tooling, etc. You're seeing this emerge in force already with the awesome-libghostty repo.

libghostty would still be useful for traditional terminal emulators to replatform on, and for example xterm.js is seriously looking into it (and I'm happy to help and even offered their maintainer a maintainer spot on libghostty). But, they're not the goal. And if fragile egos hold people back, it's really not my problem, it's theirs.

jas8425|1 hour ago

As an outsider to the fascinating world of terminal emulators... can you explain why this might be? Rather, what about `libghostty` would be off-putting vs `libtermengine`?

Just that it's a specific "product"-y sounding name? Would you also be concerned about "libwayland" vs "libcompositor"? Genuinely curious: this seems like an insightful question, I just don't follow the reasoning.

oDot|13 hours ago

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

mdeeks|5 hours ago

I'm not quite understanding your project. What is the use case? Is this so I can package up an existing terminal app as a dedicated desktop app?

If so that actually sounds really cool. I'd like a dedicated lazygit app in my tray at all times.

guiambros|12 hours ago

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

wpasc|12 hours ago

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

dr_dshiv|13 hours ago

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…

nevon|12 hours ago

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|12 hours ago

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.

nvme0n1p1|13 hours ago

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.

sigbottle|4 hours ago

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?

rcarmo|10 hours ago

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.

HorizonXP|12 hours ago

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.

linsomniac|10 hours ago

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|9 hours ago

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.

hesdeadjim|12 hours ago

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?

_jackdk_|4 hours ago

I don't have specific references for you, but perhaps you could look into how old-school roguelikes packaged their software for distribution. Particularly ones that made the jump to Steam or Itch?

msikora|8 hours ago

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|8 hours ago

find is provided by the OS, not a terminal emulator like Ghostty. Most likely something is wrong with your paths.

trollbridge|5 hours ago

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.

danso|11 hours ago

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

fragmede|10 hours ago

Fwiw x the program alt-tab on Mac gives macOS a more sane alt-tab behavior.

mijoharas|8 hours ago

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.

foobarincaps|8 hours ago

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

kombine|6 hours ago

Genuine question: what are the ghostty features that make it a big upgrade coming from Kitty?

fartfeatures|7 hours ago

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|7 hours ago

New stable release in 1 to 2 weeks.

blorenz|9 hours ago

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!

rdtsc|11 hours ago

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.

linhns|12 hours ago

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?

seertaak|11 hours ago

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.

rkrzr|9 hours ago

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.

scosman|11 hours ago

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!

newdee|3 hours ago

Cmd+F ! Thank goodness!

dayone1|5 hours ago

can you please make a Windows version!!

nibman|4 hours ago

[deleted]

aayushdutt|13 hours ago

[deleted]

sethammons|13 hours ago

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

eelke|13 hours ago

FYI: It is working in nightly!

fragmede|10 hours ago

Hi,

Big fan. Can I get a ride on your jet?

veqq|11 hours ago

> front page

Nice! Looks like I should have rushed the interview. :D