These are Ghostty GUI release notes, but I want to take a moment to highlight the libghostty progress we've made since Ghostty 1.3.<p>As a reminder, libghostty is the highly portable, embeddable library that provides core terminal emulation, render state, and more. I always felt that a free, high qualty, lightweight, reusable terminal emulation core would benefit the developer world more than any single GUI application. And that is playing out!<p>It is and always was my true purpose with the Ghostty project (I said this in my first ever talk about Ghostty!). I've jokingly said many times that Ghostty GUI is just a glorified tech demo for libghostty. That's not fair though, because GUI is great and there are really talented people working on it.<p>Since I started the project, Ghostty has always gotten people saying "I don't understand why you'd start a terminal emulator today." Well, the answer is libghostty. It's truly unique and its enabling something special (imo!).<p>Highlights of libghostty since 6 months ago (none of the below was true 6 months ago):<p>- Libghostty has nearly 100% coverage of all of Ghostty's core (and you can compile with flags to remove any of these features for size/safety): <a href="https://libghostty.tip.ghostty.org/" rel="nofollow">https://libghostty.tip.ghostty.org/</a><p>- Libghostty now builds and is tested (in CI) for: Apple (macOS, iOS, visionOS), Windows (MSVC and GNU), Linux, FreeBSD, Android, WebAssembly, and freestanding (i.e. direct on hardware with no OS).<p>- Libghostty has bindings in pretty much every popular programming language: C, Zig, Go, Swift, Python, Rust, .NET, etc.<p>- Libghostty's memory requirements have dramatically shrunk to enable the portability above. There's still work to do but a single empty terminal now takes 90% less memory. And at scale I've proven 10,000 active (input/output happening) terminals on a Linux server with 4 cores and 8 GB of RAM.<p>- Libghostty powers all JetBrains IDE terminals, over 12.5 million active users. <a href="https://blog.jetbrains.com/platform/2026/10/jetbrains-terminal-now-uses-ghostty/" rel="nofollow">https://blog.jetbrains.com/platform/2026/10/jetbrains-termin...</a><p>- Libghostty is the most popular core behind the wave of venture-backed "agentic" terminals and editors, such as Herdr, cmux, and many others.<p>- Libghostty is being discussed and has been verbally accepted to replace the terminal core in Neovim: <a href="https://github.com/neovim/neovim/pull/39773" rel="nofollow">https://github.com/neovim/neovim/pull/39773</a> (work still to be done)<p>- Libghostty powers a really popular and powerful terminal emulator for emacs (Ghostel): <a href="https://github.com/dakra/ghostel" rel="nofollow">https://github.com/dakra/ghostel</a><p>- Libghostty's speed is used by Antithesis to fuzz popular terminal programs and has directly led to hundreds of bug fixes sent upstream to programs such as tmux, btop, shells, and other terminal emulators. :)<p>- And so much more: <a href="https://github.com/Uzaaft/awesome-libghostty" rel="nofollow">https://github.com/Uzaaft/awesome-libghostty</a><p>Libghostty is really successfully turning into the tide that raises all boats. As it becomes more popular, Ghostty itself gets more performant and stable, and so does everyone else. It is also a vehicle for delivering modern terminal emulation to the widest source possible.<p>I plan on tagging libghostty 1.0 in the next few months and declaring ABI stability at that point!
Because of your multiple "I am tired of saying this, but this text was written by me and not an LLM" in your blog posts, I want to tell you that I read it word for word. :D I know this comment adds not much but I felt it needed to be said.
One almost forgets how easy it is to read a wall of text when it was written by a human. This was nice to read (also because you can feel it's got care behind it).
I have been reading through pharma textbooks written before AI and realized it's so relieving to follow language that has been crafted over multiple editions by humans. When I started to realize how much easier it was for me to read textbooks than the average AI-assisted text, that's when I realized we are truly cooked (at least for this chapter of AI + writing).
Amen. I'll never, ever stop writing my own articles by hand.<p>I don't mind if my English isn't entirely idiomatic and all my sentence constuctions aren't "by the book" correct. I want to write, and I want anyone reading my writing to know that it's the product of thinking and editing that's unique to me.
"One almost forgets how easy it is to read a wall of text when it was written by a human. "<p>Erm, this really depends on the human I think.
you mean you don't like phrases like "here’s what they don’t tell you" !?
At this point I just get frustrated reading AI prose. I tried for the past few months to just shut my mouth and force myself to read AI prose, since r/singularity wasted no breath telling people how they're Luddites for not marrying an AI.<p>But I can't do this any longer. I'm tired, boss.
You were right to call me out on that.
And the real load-bearing part? It's not that, it's this. And honestly? That's great!
They should train AI for this, God it would help.
Lowkey so true. I was wondering why I was able to read to the end without getting lost or distracted lol
When I am tired, it's when I know I am alive.
what a great quote.<p>here's another:<p>"when i am sad, i have to remind myself that sadness i feel so as to qualify me to enjoy and feel joy."<p>this is not mine, it's a paraphrase of a poem verse from Mawlawi (aka Rumi in the West).
As an aside, I once saw someone cite something somewhat profound and cited Rumi as the source, and I was like "hm that doesn't sound like him but maybe I'm just uncultured."<p>Turns out they were quoting Rumi from K Pop Demon Hunters and I indeed am uncultured.
I'm from the KDE project, and have been working on a new frontend built on libghostty-vt to hopefully one day ease our maintenance burden.<p>It's been a quite smooth experience, and I remain very excited about the lib. I believe you are successfully setting the standard. Big congrats for your 1.4.0!
Thank you for your work on this. When I was working on neovim core and started dealing more and more with the edge cases of libvterm and terminal emulation in general, I had the same thought "we should just have a gold standard library for this." But that was 6/7 years ago (2019) and a lot of stuff happened in that interim unrelated to engineering that demotivated me from pursuing it.<p>Periodically, I would run into TUI issues and think "I should just finally do it," especially around wanting to replace tmux in general. But I knew from experience the long tail of annoying issues for terminals that it's more time consuming than it appears, and so I again never bothered.<p>Thanks for the good work to raise all boats :)<p>I tend to move away from terminal emulation towards GUI when I can (and using custom remote protocols somewhat inspired by arcan), but TUI is still useful for a while. I actually had a need for a good terminal emulation library for the fallback TUI/pty attachment for non-gui programs for my supervisor, so I'll try out libghostty.
libghostty is brilliant and I'm very glad it exists. ghostel in Emacs is completely brilliant and so fast compared to anything else, a wonderful project fascinated by libghostty. another i might mention is zmx [ <a href="https://zmx.sh/" rel="nofollow">https://zmx.sh/</a> ] - process persister (detach, attach) with panes, tabs, hijacking the terminal. i always end up using tmux just for persistence and then am frustrated I can't remember how to copy etc. zmx has more features than some things of a similar nature and my understanding is that it's able to be taking advantage of libghostty things.<p>(a couple of us working on packaging libghostty and ghostty proper to for Guix at the moment )
> Libghostty now builds and is tested (in CI) for: [...] freestanding (i.e. direct on hardware with no OS).<p>That's really cool, but I'm drawing a blank; what's it used for? Embedded terminal something?
I remember you asking for a contact Apple in the army days to replace their terminal's engine. Hoping it happens in 28.
Just wanted to say thank you for all your contributions to our industry, Mitchell. I love Ghostty and your vision here, and evangelize it whenever I can.<p>It's a pleasure reading your posts.
As a fairly recent ghostty user I was surprised with how quickly it became my default terminal. Very smooth experience so far.
Thanks for the work on getting libghostty 1.4 out! :D<p>Wanted to add too that I can't wait for xterm to eventually support libghostty, you've been super supportive providing feedback!<p><a href="https://github.com/xtermjs/xterm.js/issues/5686" rel="nofollow">https://github.com/xtermjs/xterm.js/issues/5686</a>
Agreed on the value of libghostty. I switched from vterm to ghostel recently and it's solved some refresh issues I previously had with vterm when using CLI coding agents in emacs.
Maybe I’m just dreaming here but how far off is libghostty for Linux consoles?
Thank you for Ghostty! I've got an insane fork (AI generated) that uses variable width fonts and then does math so columns (like in top) still line up!<p>Any interest in moving console typography past the 80's, since computers are fast now?
Interesting! Have you looked into variable-axis monospaced fonts at all for this project?<p><a href="https://monaspace.githubnext.com/" rel="nofollow">https://monaspace.githubnext.com/</a>
How do you know it's supposed to be columnar? Would you have a screenshot?
What's the rough approach? Do you support mixed fixed/variable, like could an editor show mono for code and variable for prose?
Any chance to get quake-style terminal (AKA dropdown terminal) in KDE like guake and yakuake? That is the one thing keeping me from switching.
Awesome, great going Mitchell! And Ghostel, which I'm hearing of for the first time, sounds very exciting.
Any plans for Ghostty to have the history of the terminal window reloaded on restart? Like the Mac native terminal app does? I am a heavy terminal user with a lot of tabs open, and after I restart the computer for whatever reason, I would like to have my terminal(s) as I left them.
Absolutely incredible. You've convinced our team to start getting to work in Zig and we're loving it!! Thanks for all you do
Is it feasible to implement the libvte surface on top of libghostty? Might be interesting as a drop-in replacement.
I know it’s been said elsewhere ITT, but thank you for making and supporting Ghostty!
Thank you, and your team, so much Mitchell.
Great stuff! If it wasn't for Rex I'd still be using Ghostty daily
Aha, I wondered why the JetBrains terminals had become so much better recently. Didn't realize they'd made the switch.
Thank you for libghostty! I'm using it for my own terminal on Windows. I'm quite pleased with it
Isn’t it written in Zig? Not sure how that is “highly portable” compared to C
In a sense I would expect C to be the most portable language ever* so I am not sure how good of a comparison candidate it is<p>* With some UB herbs and spices
Zig can also compile to C so at least it's as portable.
From <a href="https://ziglang.org/intro/overview/" rel="nofollow">https://ziglang.org/intro/overview/</a><p><pre><code> Zig is also a C compiler
Here’s an example of Zig building some C code:
hello.c
> #include <stdio.h>
>
> int main(int argc, char **argv) {
> printf("Hello world\n");
> return 0;
> }
$ zig build-exe hello.c -lc
$ ./hello
> Hello world</code></pre>
I/my agent somehow integrated it into a C++ app on Windows. So one way or another, it does work.
Zig is even more portable than C
You’re kidding right? That’s not what the support matrix on the Zig site shows. Plenty of CPU archs in Tier 3/4. No support for Alpha, HPPA, M68K, Sparc, or SuperH.
But could it do two rows of tabs?
Thank you for making Ghostty, it’s a pleasure to use it everyday for work :)
Is the launch timed for Halloween parties? Good job team + community!
What are use cases of libghostty? Is it for building things like the terminal inside VS Code or any other such GUI application?
If I don't want to use the wave of "venture backed ghostty wrappers" for remote mobile coding similar to Claude Code remote, what options do I have? Any plans for a first party remote solution that's not SSH?
As a first-party remote solution, I've been playing with the beta version of Rex (<a href="https://www.superlogical.com" rel="nofollow">https://www.superlogical.com</a>) and its remote access is pretty slick!
cmux is fully open source and open to contributions. I have worked on its tmux mode a bunch, and I find it good now.
rootshell is libghostty and free, doesnt strike me as vc backed
Hello Onavo. Cosyra.com is not venture backed and not a ghostty wrapper! Lets you remote control all your agents from your phone without SSH.
terminal emulation keeps playing a central role in "computing" not withstanding it being an ugly prehistoric crocodile. Do you ever envision creating something modern, without the warts and with a design that incorporates half a century of lessons-learned? Something that fills this need but in a more elegant package? I'm asking because you're one of the few people that seems well-positioned to make a clean-slate replacement<p>I personally avoid using the terminal as much as possible b/c the whole things feels very archaic/fragile/baroque - but the central idea seems great and I'd love a modern take on it
> Do you ever envision creating something modern, without the warts and with a design that incorporates half a century of lessons-learned?<p>Turns out that the warts <i>are</i> the incorporation of the lessons learned. For this reason, just before Wayland fulfills its destiny and becomes an immaculate replacement for X11, a new generation of developers will determine Wayland's codebase is too complex to comprehend and must be rewritten from scratch.
Certainly parts of terminals protocols are archaic, but overall it's not nearly as fragile as you make it out to be.
problem is not the terminal, it is the Unix philosophy for CLI programs. Non-structured text piping and bash scripting being major pain points for me personally.<p>There is no reason why programs input/output can't be schema'ed, consumed and piped in a type-safe manner. And why there can't be a better standard than bash for simple scripts.<p>But it is really hard to pull this kind of thing off unless you redesign most of the common tools by scratch and do so through a committee and somehow push it down people's throat through strict platform control.
the number of gotchas involved in bash scripting indicates to me it's very hard to make robust solutions using the terminal. Trying to understand how things like colors work in the terminal makes the whole thing look very duct-taped together
the web version powers our quickstart via a cloudflare websocket and some custom patches (only on desktop): <a href="https://hotaisle.xyz/quick-start" rel="nofollow">https://hotaisle.xyz/quick-start</a><p>it is all open source: <a href="https://github.com/hotaisle/hotaisle-website" rel="nofollow">https://github.com/hotaisle/hotaisle-website</a>
Why is libghostty better than alacritty?<p>Although not necessarily advertised as such, I've been successfully using alacritty in several projects injecting terminals into things both serious and silly.
I wouldn’t say it’s better, because that’s very subjective, but it is more “feature complete”. Alacritty is very minimal and rejects community PRs for features often driven by their general ethos. libghostty supports a lot of features I don’t foresee making their way into Alacritty.<p>I use Alacritty and GNOME Terminal. I don’t have a great reason for not using or trying Ghostty other than I have a minor aversion to Zig. (Again, not a great reason and arguably a not good reason)
I am pretty sure that Mitchell has addressed the matter in previous blog posts.
[dead]
[dead]
<i>> And at scale I've proven 10,000 active (input/output happening) terminals on a Linux server with 4 cores and 8 GB of RAM.</i><p>When you say you've proven, are you hinting at use of formal verification?
I'm super excited for you and this, but this is mostly a highlight list of who is using your library. I was kind of excited to read about the actual changes to the library but I suppose I can go read the changelog on my own.
I've tried Ghostty and it's great, but Kitty's hints mode[1] is the one feature keeping me from switching from Kitty to Ghostty. There are quite a few discussions around this and similar features in the Ghosstty-org/ghostty Discussions[2] which I follow. Most of them are references from ghostty-org/ghostty/discussions/2394[3]. Maybe now that Ghostty has finished implementing Kitty graphics hints will be next .<p>[1]: <a href="https://sw.kovidgoyal.net/kitty/kittens/hints/" rel="nofollow">https://sw.kovidgoyal.net/kitty/kittens/hints/</a><p>[2]: <a href="https://github.com/ghostty-org/ghostty/discussions" rel="nofollow">https://github.com/ghostty-org/ghostty/discussions</a><p>[3]: <a href="https://github.com/ghostty-org/ghostty/discussions/2394" rel="nofollow">https://github.com/ghostty-org/ghostty/discussions/2394</a>
Wezterm has a similar feature with QuickSelect, absolutely game-changing for keyboard-driven workflows
Out of curiosity if Kitty works well for you what would be the reason to switch to Ghostty? I've never tried Kitty before but now want to see what it's like since it seems quite advanced.
I'm not the GP, but I did use Kitty, then switched to Ghostty. There were some great features (e.g. a shorcut to load the current terminal content in a text editor), some arguable points (e.g. Python is Kitty's script language and I had to use it to configure tabs to my taste) and some annoyances (I've had various crashes with Kitty's Debian package, though it did get stable in later years).<p>For me, the major pain was font rendering. I could not find a portable configuration that would work with any screen. And even worse, for some pixel densities, whatever configuration I tried, the result was awful. In some cases, I vaguely remember there was a legacy mode that made text legible, but it had its own problems.
[dead]
How have I not heard of hints mode before, that is amazing. Thanks for pointing it out I need to go remember some new hotkeys now.
Yeah this is what is keeping me from using ghostty. Unfortunately I think that discussion is dead and no one agrees on the design of the three or so separate parts. I maintain a fork with quick select for my own purposes but I can’t use it at work.
BTW here is my fork: <a href="https://github.com/Grazfather/ghostty/tree/quick_select" rel="nofollow">https://github.com/Grazfather/ghostty/tree/quick_select</a><p><pre><code> link = copy_to_clipboard=[0-9a-f]{7,40}
link = open=https?://[a-zA-Z0-9.]+[-a-zA-Z0-9()@:%_\\+.~#?&//=]*
keybind = ctrl+o>y=quick_select
</code></pre>
Far from perfect. No way to bind to specific action:regex pair, so `ctrl+o` then `y` will show hints for both urls, which it'll try to open, and git hashes, which it'll copy to the clipboard.
Oof, I've never heard of that and it sounds amazing
Hints Mode, yummy. That would be nice.
See like something that can be handled by the multiplexer?
I still don't understand the point of Ghostty, Kitty, Wezterm...<p>Konsole is way faster than any of those on my computer and it has all the usual suspects I'd expect from a modern terminal emulator.<p>The one feature I miss since moving to Linux and not having iTerm2 is tmux -CC integration. None of those offer it.<p>To be clear, I'm not attempting to be dismissive. I really want to understand what it is that they bring.
KDE guy here.<p>Konsole is a fantastic and very mature terminal emulator, but it does have some real gaps that reveal its age.<p>The Qt toolkit that most KDE software is based on at some point introduced a next-gen toolkit-within-a-toolkit called Qt Quick, which most of our newer apps are written in. However, in its library form Konsole can only be embedded into apps that use the old gen toolkit. This is a real impediment to some efforts.<p>The old gen toolkit also typically doesn't use Vulkan or OpenGL for rendering (the new one supports both), and so Konsole's terminal renderer doesn't either. Konsole's real-world performance during use is arguably just fine, but it does leave a lot of performance and battery life on the table.<p>libghostty also has somewhat wider support for newer stuff like Kitty protocols, even though Konsole certainly trumps it in support for older stuff (like sixels).<p>There's some other shortcomings to Konsole that are not inherent to the technology, like accessibility support not quite being where it should be.<p>And while the default UI is, in most distros, OK, there sure is a lot of spiderwebs and spacebar heating lurking in the settings dialogs (of which there are strangely many). It's also a bit dated vs. our HIG at the moment.<p>Which is to say, these projects can and do have a point, especially if they provide a nice library instead of hoarding all the good to themselves.
A couple of annoyances I've had shipping CLI apps to Konsole users:<p>1. By default, Konsole disables OSC8 link support. Users can enable it manually, but you need to ship fallbacks by default since otherwise the default users will have a broken experience. Ghostty, Kitty, WezTerm, etc all ship working OSC8 support out of the box.<p>2. No built-in Nerd Font support, so if you want to render icons, you need to tell your users to set up a patched font or else have fallbacks. Ghostty and WezTerm ship built-in Nerd Font fallbacks if your configured font isn't patched.<p>That being said Konsole is much better than most emulators. iTerm2 is not bad, although it lacks Symbols for Legacy Computing Unicode support (which all of the above have, including Konsole, and which is very useful for drawing prettier terminal UIs). The worst by far is Apple Terminal, truly the IE6 of terminal emulators.
What's so bad about Apple Terminal? I've tried iTerm2 and others but never found a compelling reason to use them over the stock app. I don't live in the terminal like some do, though.
Apple Terminal doesn't support:<p>1. The Kitty keyboard protocol, which makes it impossible to distinguish e.g. Shift-Enter from Enter<p>2. OSC8 hyperlinks<p>3. It breaks on APC queries, so you need special handling to not emit them<p>4. Symbols for Legacy Computing Unicode support<p>5. The Kitty Terminal Graphics Protocol (or sixel)<p>6. OSC 9 notifications (or any of the later versions)<p>and a bunch of other stuff, this is just off the top of my head. For a long time they didn't even support 24-bit color, although they fixed that in Tahoe.<p>It's totally fine for basic UNIX tooling, but pretty painful if you're trying to make nice interactive TUIs.
> It's totally fine for basic UNIX tooling, but pretty painful if you're trying to make nice interactive TUIs.<p>This sounds like a deliberate choice from Apple TBH because they, well, like their UIs and don't want to promote TUIs necessarily :)
> It's totally fine for basic UNIX tooling, but pretty painful if you're trying to make nice interactive TUIs.<p>The latter seems always to be about aesthetics, not about UX.
I've always found emojis in the terminal distracting, so it's actually quite a relief to learn that Konsole is guarding me against a whole other class of glyphs and logos.
<p><pre><code> > By default, Konsole disables OSC8 link support.
</code></pre>
Is this for security reasons? I am sure the Konsole has a reason for it.
> By default, Konsole disables OSC8 link support.<p>That is, in my opinion, the correct default.
I believe that the default behavior should be to never open a link without a confirmation from the user that this may be done.<p>This should be enough to avoid malicious links. I do not believe that completely disabling links is a good default, because they are very frequently useful when you read some text file in the terminal window.
Yes, I agree. Ghostty et al don't open-on-click, but on hover they'll show you the URL and there's a keyboard shortcut + click to open. This is much better UX than disabling OSC8.
Yeah, because more complexity where you don't expect it doesn't cost anything?<p>Up until 5 hours ago this fix was not present:<p>> <i>The displayed target is sanitized so invisible and line-breaking characters cannot conceal the effective destination.</i><p><a href="https://github.com/ghostty-org/ghostty/security/advisories/GHSA-cw69-wm67-5pv8" rel="nofollow">https://github.com/ghostty-org/ghostty/security/advisories/G...</a><p>The sensible <i>default</i> is to have it turned off. And by the looks of it Ghostty versions before this you couldn't even turn it off.
"One implementation of a feature had a bug, therefore this feature should be turned off on all implementations by default" is probably not going to convince people who think the feature is good.<p>If you don't want to be able to have clickable hyperlinks, by all means use Konsole — no one is forcing you to use Ghostty. But if you want to know why people like Ghostty's approach vs Konsole's, it's because Ghostty pushes terminal emulator features forward and is low latency. Konsole is low latency and adopts some but not all features that other people invent. It's a noticeable difference and so people who like <i>the feature part</i> of the former like Ghostty/WezTerm/Kitty more than Konsole. If you don't care or dislike that part, and want a more conservative terminal (that is also low latency), Konsole and many others further on the conservative spectrum exist.
It’s not just one implementation. Browsers have been struggling to get this right for decades and now we are destined to repeat all the same problems all over again with an entirely new syntax of inlined markup.
Bugs are fine, but this wasn't really a bug. It was lack of foresight.<p>I haven't used Konsole, but I do like this "recent" focus on terminals and have used many of the newer ones. Dailydrived st,alacritty,wezterm,ghostty,kitty,foot (probably forgot some) and I live for the regex pattern matching copy shortcuts etc.<p>I learned about OSC8 because my terminal (whichever it was) used one of its features and I didn't know it was possible to do that. My immediate thought was, how is the security?<p>And it is very disappointing to see how little effort people have spent on that. That is really one part that I expect more from modern incarnations of the old terminals where I can sort of forgive them for the lack of security posture.<p>I like ghostty, I really do. But this is not a good look, and to be clear it isn't just ghostty. Without looking for it I've stumbled upon several OSC8 and OSC52 bugs (in other software) recently.
I don’t want random text in my terminal to be a link. I do not find that useful.<p>If people want it enabled, they can enable it. It shouldn’t be the default.
Surely you realize most people would disagree?
Congratulations, don’t use Ghostty or terminals built on top of libghostty and you don’t have to!
I don’t. But the problem with OSC8 is it opens up whole new vectors for security vulnerabilities in an application that is, by intent, used for some of the most security sensitive work in our jobs.<p>I wouldn’t mind OSC8 so much if it had proper security auditing but it doesn’t. The whole thing was pushed by one guy on a GitHub gist who blocked anyone who dared discuss security issues.<p>At least with browsers, you have masses of people testing these things. But there’s no rigour to any of the tests that happen with terminal emulation. Let alone independent security audits.<p>And at this rate, it’ll only be a matter of time until we see “don’t cat untrusted READMEs” advice because they might contain boobytrapped escape codes. Which is an absurdly bad place to end up.
1) Personal preferences: different terminals come with different defaults, some people do not want to tinker with the settings, so they just stick with whatever immediately clicks.<p>2) Technical curiosity: some people probably started their own terminal project just for the fuck of having made their own - and they eventually gained a userbase.<p>3) Feature set: Most terminals implement most features these days, but at the time these projects started, you'd have a feature matrix between features and terminals because most terminals lacked some features; so people would pick whatever suited their needs.<p>Personally I've been using kitty for years mostly due to 3), at the time I chose my forever terminal, I evaluated like 12 different ones, and kitty was the only one that covered most of my needs without feeling like it suffers from random quirks, and I like that it has built-in terminal multiplexer (a'la tmux) and emoji picker.
The terminal ecosystem needs to change, and these terminals support a lot of cool features. Ghostty's pure reusable terminal state machine being a source of truth, Kitty graphics, Wezterm and its mux domains & lua config, lots of cool ideas there.<p>Having having an industry player like hashimoto's superlogical driving terminal features is the extreme version of that
> Ghostty's pure reusable terminal state machine being a source of truth<p>Can you please explain what this means? I have Ghostty installed just as a backup to use when I have terminal saturation in my default (MacOS Terminal). But other than being super responsive, I don’t know why people love it so. Perhaps I’m missing something large and compelling.
I assume the quote is referring to libghostty. In which case a lot of different tools like vs code, Emacs, Gvim, Intellij and other IDEs, even web consoles on stuff like Azure essentially use and reimplement the same core, the idea behind libghostty is to replace those with a common component where long term development can better support the needs of all terminals.<p>In terms of ghostty itself its just a highly competent use of libghostty, Mitchell’s message above about it being a tech demo is tongue and cheek, but its not far off from the truth. It is just a really solid no bells and whistles, bar excellent execution, terminal emulator that uses libghostty.
Terminal state machine parsing is a very tricky thing, especially when you have people defining arbitrary protocols to interact with it. So having one implementation simplifies the development a lot. Of course this buys you into their ecosystem and whatever ghostty specifically supports etc.<p>A lot of other terminal emulators can expose similar reusable things (alacritty comes to mind) but libghostty is the most well supported one
It being super responsive is the reason I switched to it. MacOS terminal had issues keeping up with Claude Code. It would frequently be super slow rendering the text output or sometimes just stop altogether.<p>When looking at options I looked at speed and simplicity. Ghostty fit the bill but I did evaluate iterm as well. Excellent terminal but too many features for what I was looking for. I live in the terminal but am not a Terminal App power user if that makes sense.<p>So, it really comes down to what you want and what your workflow looks like. Ghostty has been flawless for me the past 9months. It gets out of the way and just works really well.
> The terminal ecosystem needs to change<p>What is your justification for this statement? Why does it need to change, and what does it need to change to? Personally, I've not felt this (and I spend a <i>lot</i> of time in the terminal). Fish shell and Byobu give me everything I've ever wanted.<p>Like the poster you were replying to, I don't understand what these new terminal emulators bring to the table, other than potentially more resource usage.<p>I feel that there's something here that I'm missing (ghostty is clearly popular, so it must bring something both new and useful to the table), but I'm genuinely not sure what that is.
Why would a terminal multiplexer need an entire company behind it? Especially since it looks identical to the many other vibe coded alternatives (including my own lol).
I have the same wezterm configuration on linux, macos and windows. that's the point of wezterm for me.
I now use ghostty on Linux and macOS, cuz ghostty has more out of the box and is being up to date, and doesn't require me coding functionality xD small config file does all for me.
when Windows support comes in, I will have one terminal emulator on all 3 platforms I am using
There's always gonna be something that's better, faster, bigger, badder, stronger, thicker, firmer, etc., and terminals really aren't one of those things where I am interested in exhaustively testing all of them to find the truly greatest one. A terminal is also one of those things where if you find one that is perfectly adequate then there's little motivation to even bother using trying one. And there's the whole "devil you know" aspect. The only reason I rarely try a different terminal is if the stock terminal on whatever OS I'm using lacks some basic niceties that should be expected in the year 2026.<p>I like Ghostty because I find it both fast and configurable, and it's multi-platform without treating macOS like the red headed step child. I also appreciate how its configuration is text-based, which I prefer to someone's opinion of how a configuration GUI should behave, and I think it's good the developers aren't wasting a second of their time thinking about a configuration GUI.
For me: it doesn't really "bring" anything more than what I expect from a terminal.<p>In Mac, we had the default terminal app which has some problems with TUI apps and other small issues. iTerm2 is the replacement that most users use, but it become too bloated with useless features and AI, while it was hard to keep a good config file that I could share between devices. Ghostty was a sane mid-term for me: a good and modern terminal, with a simple config file, maintained by someone that I trust (Mitchell Hashimoto) and only that.<p>About Linux: I don't use Ghostty in Linux because I'm comfortable with Konsole.
I assume that this depends on your computer/GPU/GPU driver.<p>I have used Konsole for many years and I have used kitty for about 2 years in 2024/2025, then I have switched to ghostty around the beginning of 2026.<p>At least in my computers (with NVIDIA GPUs and Gentoo Linux), kitty was many times faster than Konsole and Ghostty even faster.<p>Moreover, in the now somewhat distant past when I was still using Konsole, it did not have some font rendering features that I desired, but that might have been solved meanwhile.<p>A reason why the terminal emulator speed is important for me is that I frequently compile big software projects and I find it unacceptable for a compilation to be slowed down by the low speed at which the compiler output is displayed on the terminal window, which happened frequently with all terminal emulators older than kitty and ghostty (I have always used CPUs with enough cores so that compilation itself is very fast, so the older terminal emulators become the bottleneck).
Real question: Is the Linux kernel terminal the fastest of all? If yes, why not compile there?
> A reason why the terminal emulator speed is important for me is that I frequently compile big software projects and I find it unacceptable for a compilation to be slowed down by the low speed at which the compiler output is displayed on the terminal window<p>I’m strongly skeptical of this as pty are character devices and buffered. Programs and terminal are very loosely connected.
Compiling any big software project produces far more text output than can be stored in any pty buffers.<p>There are a few big projects that redirect the compiler output and attempt to print only one line per output file, so when all goes well there is much less output text, but with those it is usually more difficult to debug failures.
I know for many folks they like the fact that it is cross platform (works on mac/linux) etc and gpu acceleration which is really nice to have.
Yeah, I recently tried out Kitty and Ghostty just feels much smoother when rendering most TUIs and even some more basic stuff like the homebrew progress bar. It is also better about respecting platform conventions for things like keybinds and window/tab behavior.
I have been using Alacritty for its GPU acceleration long ago. Ghostty was slightly faster, but then Ptyxis was also faster. Since I preferred to configure my terminal with GUI, I have switched to Ptyxis.
For me it's simply that iTerm2 got really fat over the years, and Ghostty was a nice and slim alternative - plus it has one of the better Kitty Graphics Protocol implementations which is fun to tinker with. e.g.: <a href="https://github.com/floooh/chipz-kitty" rel="nofollow">https://github.com/floooh/chipz-kitty</a> (needs zig-0.17.0).
I use Linux at home and Mac at work. I use Ghostty simply to have the same terminal on both systems.
I tried a bunch of terminals and ended up switching back to xfce-terminal, fastest I have tried by far. (It's just the default that ships with my distro.)<p>Actually I think xterm was even more performant, but the eye sore wasn't worth it for me.
Kitty is really nice, a programmable terminal that does everything I want, GPU rendering, etc. Haven't used Ghostty yet but one of its advantages is libghostty, modern terminal emulation as a library.<p>> libghostty: a cross-platform, minimal dependency library that exposes a C API so feature-rich, correct, and fast terminal functionality can be embedded by any application anywhere.<p>Oh the author actually posted about it just now in rich detail. It's pretty exciting for people who spend much of their time in the terminal.
For me, the main reason to use Ghostty is simply that mouse support works right out of the box. In Konsole clicking a spot to move the cursor only works if you're using Bash. While it also works with the Fish Shell on Ghostty.
I don't think Konsole is actually faster than Kitty or Alacritty. Kitty is really nice and an innovator in a lot of terminal standards. It's also non-commercial and not related to any sort of startup (not that Konsole is either). It's definitely my first choice of the bunch, followed by Alacritty.
The other day I was able to click on Ghostty, then open Gnome Terminal, type a command and run it before Ghostty had finished loading.
Yeah. It's slow on Linux, for sure. I use Foot, which as far as I've tested is the fastest to launch. I use Niri and launch Foot terminals all the time as part of my workflow (it's just how my mind works), so time to launch matters to me.
Monstar is a libghostty derivative that resembles foot: <a href="https://github.com/rockorager/monstar" rel="nofollow">https://github.com/rockorager/monstar</a><p>Namely it is wayland only, cpu rendered, and doesn't have any window decorations
I really love Niri.
Yep, same here but with xfce4-terminal.<p>I've just reverted back to using that as it's faster to load and has all the features I need.
It works well, that’s my only requirement. I could ask you the same, what’s the point of Konsole, what value does it bring?
You could, but my answer would probably skew your opinion about as much as yours did mine. :D<p>To me the point of Konsole is that it works well, plus it's already there. Ghostty I need to make an effort to have it, however small it is, and I'm just trying to understand what I'd be missing if I didn't.
Konsole is not already there for me. I would have to make an effort to get Konsole, just like Ghostty. I’m struggling to see what point you are trying to make. Do you want someone to tell you Ghostty is better than Konsole to convince you to switch, or … not?
Cross-platform native GUI, built-in nerd font symbols. Simple text file configuration with trivially easy platform/machine-specific drop-ins.
Seems a bit of a disingenuous comment when you initially said "I still don't understand the point...".<p>Surely you understand Konsole is not already there for most people?
This days I don't really care about the terminal I use. It's xterm on OpenBSD, konsole on Fedora KDE, terminal.app on MacOS,... As long as I can use cli and the few TUI software I use.
>I still don't understand the point of Ghostty, Kitty, Wezterm...<p>WezTerm can run on my Mac but give me a native GUI experience of a Wezterm session on my Linux workstation. It's like tmux, but with a native GUI experience including mouse click-drag selection that doesn't pick up "window" borders.<p>That alone is what is keeping me on Wezterm, since I get a native experience on some terminal sessions I access remotely on my macbook but then can switch to on my 30" screen when I'm at my desk.
for terminals I personally am using kitty, but libghostty is great and powers ghostel in emacs which is amazing. Also note if you start trying to look at unicode correctness, in my experience ghostty is in general the best among all alternatives.
> Konsole is way faster than any of those on my computer and it has all the usual suspects I'd expect from a modern terminal emulator.<p>Same boat here, though I also get to enjoy some of the benefits of libghostty, via ghostel in Emacs. Ghostel is noticeably faster when there's a lot of output being dumped, but I don't often need the speed and use it only because it's integrated rather well into the rest of my Emacs.<p>> tmux -CC integration<p>If you can stomach Emacs, there are at least two packages that implement this, one via eat and another via vterm, though none via ghostel just yet. Shouldn't be difficult to port, though.
I don't know about the others as I used Terminal.app on mac since Panther, but Ghostty has been a pretty good upgrade, at first offering 24-bit colour which Terminal.app didn't have at the time of its release. I also like the shell integration such as easy selection of command output. I don't ask much from a terminal as evidenced by using Terminal.app for almost 2 decades, but Ghostty has not once been an issue and is 'invisible' to me.
iTerm2 feels overwhelming to me. I think the default Terminal.app is good enough.
vouch this comment since this is a pretty common question people have, I don't believe it should be dead.
To add to the other good points made in sibling comments, MacOS has butchered fullscreen to the point where some of us depend on MacOS terminal emulators having the "non-native fullscreen" config option. Personally, Ghostty does the best job supporting my preferred terminal environment of non-native fullscreen with tabs that works with an auto-hiding menubar and the camera notch.
The advertised point is it needs zero config to work outside of the box. For example nerd fonts are included by default whereas you need to install them if you are using let’s say iterm2.
The point for me is each one can have ten or so claudes, so any one crashing doesn't take down all the claudes ... and I don't have to learn tmux.
Konsole is not gpu accelerated and is several orders of magnitude slower as a result than those that you listed?<p>The acceleration is the primary point.
Can konsole do the fancy shader and inline images? I think that's all that distinguishes the others but I may be overlooking things.
I can use Ghostty and use the same featureful terminal on Linux and macOS.<p>I also hate configuring Konsole, most KDE apps for that matter. Being able to have a plaintext configuration file I can keep in my dotfiles is way simpler.
tmux control mode (-CC) is <i>the</i> killer feature I'm waiting to land in ghostty
I don't know Konsole, but kitty have tons of features other "plain" terminals lack. It's not just about speed (which I never got the obsession about either)
Ghostty is so much better than iTerm2! Don't get me started...
I'd love to, I switched back to iTerm after not really feeling any big difference in my uses cases, but also hating the crappy plain text with no defaults listed config that required me to use a goddamn web app to comfortably learn and fill out.<p>There was also some pretty noticeable differences in character rendering between the two with identical-as-I-could-make-them font settings.
> here was also some pretty noticeable differences in character rendering between the two with identical-as-I-could-make-them font settings.
I'm pretty sure it was iTerm's problem.<p>I've tested a number of Terminal Emulators on macOS and Ghostty's rendering is always superior.<p>You should give 1.4 a try.
It just works. — Steve Jobs<p>Ref: <a href="https://arne.me/blog/we-need-more-zero-config-tools" rel="nofollow">https://arne.me/blog/we-need-more-zero-config-tools</a>
I was sceptical for decades as well.
But they are amazing - no more closing the xterm by mistake. I'm using those because I wanted for example a single window with THREE consoles open at once AND being able to handle some ANSI crazy theming.<p>Xterm failed me :( Tabby just works.
cute little mascots
[dead]
[dead]
Lots of things bother me about my terminal emulators, and it's almost always in the category of "things don't work right". It's never "I wish my terminal emulator ran faster." Ghostty seems hyper focused on speed, with the negative side effect that compatibility breaks - in practice. I get that it's following all the newest standards or whatever it's doing, but in reality it always needs custom setup to work right. And for me the net effect is that it's always creating problems, not solving them.
> I still don't understand the point of Ghostty, Kitty, Wezterm...<p>If you're genuinely not trying to be dismissive and just have a sincere question you want to have an answer to then I _strongly_ implore you to be more aware of and careful about how you express yourself.<p>Because as your first sentence is worded virtually all readers will assume you are hostile and not asking in good faith.
Man, still does not fix the one bug I care about: being able to quickly `⌘+F, ⌘+V` - the find textbox does not respect keyboard shortcuts: <a href="https://github.com/ghostty-org/ghostty/discussions/11159" rel="nofollow">https://github.com/ghostty-org/ghostty/discussions/11159</a>
Thanks for sharing. I thought I was the only one with this problem. It’s very irritating and has made me question why I left iTerm.
I have a fix in my fork: <a href="https://github.com/ghostty-org/ghostty/commit/95c7fc322802a6109e778f5751dbf7100249ad1a" rel="nofollow">https://github.com/ghostty-org/ghostty/commit/95c7fc322802a6...</a><p>Inspect + build yourself
And this disregard for non-tmux usability is why I stopped using Ghostty. First it took up until 1.3 to get search, then fixing this significant quality-of-life problem is clearly not a priority.
I was really hoping a fix for this would be included in this release.
Man, still does not fix the one bug I care about: being able to quickly ⌘+F, ⌘+V - the find textbox does not respect keyboard shortcuts
I'd love to use Ghostty, but the start-up time on Linux is unacceptable. I know that's because of GTK, so I hope that maybe Rex[0] woudn't have this issue.<p>[0] <a href="https://www.superlogical.com/" rel="nofollow">https://www.superlogical.com/</a>
The only think I expect from a terminal is to be fast!
I think there’s a systemd service you can install, a user one
Their model is to have a persistent server running.
Why should I use Ghostty over iTerm2? I don't care about fancy fonts, iTerm2 speed (for me) is plenty (just tested against 1.4 -- don't see noticeable difference on MBP M1) and I do like to tweak some options/settings (and was just mildly annoyed when hitting `cmd+,` opened my default text editor...
If you’re fine using iTerm just use iTerm. In my case I used iTerm for years and kinda liked it, but not completely. I’d been looking for an alternative for years but couldn’t find one I like (Alacritty doesn’t support pane splitting, Wezterm has full code config which I hate, Kitty doesn’t look good on Mac, Terminal.app is dog slow…). Ghostty just fits my needs pretty much exactly.
I'm also very reluctant to switch and will not switch anytime soon. I have small compact tabs which I color code dynamically with iTerm2 and also custom profiles with custom keyboard keys overrides by program and directory. So the "harness" around the terminal is more feature rich with iTerm2.<p>These kind of features are not available in Ghostty in this form.<p>And about backups in iTerm2: Just do an export and maybe also a backup of your profiles. So that works.<p>I also do not care about a "super fast" terminal... my iTerm2 is fast enough for 99% of use cases for me.
I had ~10 years of iTerm2 muscle memory which stopped me switching for ages. I also liked the half-screen dropdown terminals from iTerm that Ghostty doesn't have .<p>But I switched due some iTerm2 bugs and performance reasons (I'm usually running up to ~100 terminal panes, split across 4-5 windows and up to 9 tabs per window) and it was much easier than I expected. I got used to my hotkeys bringing up full-screen quick terminals instead of half screen ones and that's actually usually what I want anyway, and iterm just feels more hackable in general; my agents are able to help get input to and from the various panes quite easily, and I haven't had a single bug or crash so far.
I am an iTerm2 user but I find its .plist config file a lot anachronistic and, if I may say so, quite absurd. I have tried too many settings and I still struggle with keyboard inputs getting trapped wrongly, lost, et cetera, the warnings that appear out of nowhere and I notice was wrong. But iTerm2 is the only terminal app that looks the best on mac (even better than the Terimnal.app itself) and somehow sits naturally with everything else around. I am sure for a lot of terminal users it might not even the last concern but for me it is. I tried Ghostty but I just couldn't like it. Kitty won't even be a consideration for many reasons (one is better off not discussed here). cmux is indeed quite good but it has become a HYDRA and will keeps on growing in every direction. iTerm2 would do great to keep the outer clothes and possibly adopts the base of something else. It isn't particularly snappy either. I moved back from Ghostty to iTerm2 even though I felt usage wise Ghostty was suprior. Ghostty just felt out of place.
The docs for ghostty's config file is a lot easier to reason about for one. The built in themes are IMO a lot better in ghostty.<p>Nowadays, it's also a more fun community. I end up learning things about terminal rendering I never would've otherwise just by reading ghostty-related blogs.
One reason is portability if you use (or plan to use) desktop Linux
I don't think anyone is trying to convince you you should use Ghostty over iTerm2. It's a technically excellent terminal built with an incredibly rigorous and well thought out guiding philosophy and a remarkable amount of passion. Nobody cares if you want to run it or not.
For me even just the config format is such an upgrade that it was worth switching. Just a simple text file I can backup anywhere and actually read without clicking in a tabbed GUI where I never seem to remember what goes where. iTerm2 still has that weird thing you have to export right?
OK, that may be true (and yes, iTerm still uses weird plist xD) but... On the day to day basis I don't care about config file. I mostly use one OS, I don't do reinstalls (had MBP from 2013, then after switching to MBP M1 moved the files and configs _once_) so having nice and readable config doesn't matter at all.<p>Having to search for some obscure configuration names and options is simply getting in the way.<p>For that reason I stayed away from Zed for ages - it is a fine editor but tweaking it options without even rudementary settings GUI was just super-meh.<p>I do hope that Ghostty will go the same route and they will add something that would help manage the simple config options (backed by the config file) without having to deal with purely-textual form)
It’s subjective. The config format is a downgrade for me. The only settings I change is the color theme anyways. The terminal default should work well. It takes four seconds to use the mouse to open the theme config and pick a theme. It takes at least five minute to find the config file location, the syntax for the config file, understand whether it uses fs events to auto reload, and then decide to include or exclude it in your backups. I don’t intensely customize my terminal emulator so it’s not worthwhile. On the other hand my Emacs config is more than 500 lines long and that’s worthwhile.
I think you hit upon what bugs me about file config. It's not the file, it is having to find it, find the docs, find the syntax, find the keys, find the values, etc.<p>If it was always in a standard format, it wouldn't be a problem. Something like dconf, without the poor design.
There is no reason. I switched from iTerm 2 and while Ghostty is a lot faster and lighter, it has occasional rendering issues and does not detect URLs as well. It also doesn't have tmux control mode which I really liked.<p>I quit using iTerm 2 because of the AI features. Ew.
I find iTerm2's constant prompts to update to be annoying. It has also crashed on me a few times. Lastly, I also prefer ghostty's text-based configuration.
Ghostty is <i>so great</i>. I am very thankful to Mitchell for dedicating so much of his time to making a terminal that is truly great. Finally, somebody really cares and has the technical abilities to materialize that care as great software.<p>Also, ghostel in Emacs is fantastic as well (of course in a big part thanks to libghostty) — most of my work has now shifted into Emacs as a result.
I would love a mashup of iTerm2 (for tabbed quake terminal and configurability) with libghossty, would anyone want to tell Claude to marry them (and maintain it)?<p>Or, just please finally enable tabs in the quick window, people are shouting about this for years, making forks, ready made PRs … This functionality is a table stakes in 2026.
Hear hear, I've been running adrums build for what feels like forever now, manually recompiling Ghostty from time to time because I can't use a terminal without tabbed quick-terminal in 2025 let alone 2026. It's a killer feature I can't work without.
i tried ghostty, rio, wezterm, they all stuck for about a month or so... then the subtle usability issues become too much, and i wonder why i switched from iterm2 to begin with. there's something to be said for <i>years</i> of polish, and feature work that is well-baked.<p>iterm2 is fast, reliable, and second nature. i don't have to edit settings every day.
btw I used iterm2 for years as well and sometimes tried others.<p>I now use ghostty it’s faster definitely. Yes it has some quirks which is hard to overcome as a iterm2 user. But I could live with it. I think ghostty is basically also the only alternative to iterm2
While I'm not a hard core terminal emulator expert or tweaker, it was a bit of a learning curve to get into Ghostty after iTerm2. I hope this latest release makes it easier to edit the splits, haven't tested yet.<p>But the biggest thing that made me stay on Ghostty was that there's a <i>freaking config file</i>. With iTerm you had to export the profile and keybindings, and then import them on a new system which was clumsy, and easy to forget. Now ghostty.config is just one of my dotfiles, with a clear understandable git history, I love it.
There's ~/Library/Preferences/com.googlecode.iterm2.plist and it's always been there
Yup I switched to WezTerm from iTerm2 and being able to version control the settings is one of the biggest benefits (especially because WezTerm allows more complicated Lua scripts)
Why put up with quirks when you have something that works for you? How much faster ghostty is in practical terms?
I used iTerm and iTerm 2 for almost 20 years before switching to Ghostty full time in 2024 with minimal fuss besides the muscle memory of "cmd+space ite" switching to "cmd+space gho" to launch it!<p>Do you have specific examples of usability issues?
My main issues with ghostty: the global shortcut for quick window suddenly stops working and works again only if I focus ghostty. (On a mac)<p>The other one is quick window goes out of the monitor if i have disconnected and connected the laptop from minitor.<p>Another: sometimes autocomplete suggestions are shown incorrectly in some weird location (like middle of the screen, not at the cursor), again occasionally.
I actually fixed one cause of this, which is released in 1.4.0.<p><a href="https://github.com/ghostty-org/ghostty/pull/12714" rel="nofollow">https://github.com/ghostty-org/ghostty/pull/12714</a><p>The only other cause I've encountered is if a secure input (password) field is focused, since macOS won't give apps global keyboard events for obvious reasons. If you focus a normal text input, it should start working again.<p>I have noticed where macOS doesn't properly release its reference to a Secure Input properly. I've documented how to determine if this is the cause here: <a href="https://github.com/ghostty-org/ghostty/issues/11883#issuecomment-5085302669" rel="nofollow">https://github.com/ghostty-org/ghostty/issues/11883#issuecom...</a>
This is such an annoying quirk of macOS, I regularly SSH to some servers I need to get my password to from 1Password, and I am apparently incapable of re-programming myself to copy the password prior to starting the SSH connection, so what happens is I SSH, open 1Password quick access (which dismisses my Ghostty-adrum quick-terminal), copy my password, and then frantically spam my quick-terminal shortcut until I remember it's blocked because macOS has decided its not allowed in the current state.<p>Would be great if we could opt out a few pre-determined key combinations from this system, but I guess that's never happening.<p>Thanks so much for maintaining Ghostty tabbed quick-terminal by the way, you're a legend <3
Aha, this explains why I've never seen this kind of thing: I don't use quick window!
I'm happy with ghostty now too, but until a couple months ago it didn't have search. Which made me uncertain how people use terminals without built-in search. It really surprised me that it apparently was so low on the must-haves list that it took over a year to have it. I think I search terminals multiple times a day when I'm operating production systems.
I loved Ghostty for thr first month I tried it, but got some strange behavior when SSHing into some machines. Sounds like this release may address that. Maybe I can finally ditch iTerm2, lol
Very likely due to ghostty setting TERM to xterm-ghostty and your destination not recognizing it. Quick temp fix is using the wrapper (ghostty +ssh), see <<a href="https://ghostty.org/docs/features/ssh" rel="nofollow">https://ghostty.org/docs/features/ssh</a>>. More permanently, copy terminfo to the remote machine, see <<a href="https://ghostty.org/docs/features/ssh" rel="nofollow">https://ghostty.org/docs/features/ssh</a>>.
It’s rude to install a terminfo on a remote machine (which you may not be the owner of). It’s a preposterous for a terminal emulator to install things on a remote machine just to make it work.
I presume though that the mentioned fix only installs the terming for the user, rather than system-wide. I don’t see how that’d be rude (assuming it’s some non-root user that you should reasonably be considered to have control over).
It's actually the remote machine that isn't working, but I get the frustration. What I did to fix this is to override the environment variables in your SSH config like this:<p>Host *
SetEnv TERM=xterm-256color
If you want to use in a terminal emulator features that do not exist in any xterm variant and the remote computer does know only xterm, there is no way to do that without installing data into the terminfo database.<p>Otherwise, there is no need to install anything, you should just set the environment variable TERM in the remote computer to one of the xterm variants and then modern terminal emulators like kitty or ghostty will still work fine, but of course only as long as you use the xterm-compatible subset of their features.
It's not a VAX that you're physically plugging a terminal into. The remote machine is totally capable of communicating with a newer terminal, it just needs to know how. You're being nice by giving it that information. You can also just install it locally in your home directory (~/.terminfo). (You used to be able to stuff the entire entry into the TERMCAP environment variable and not install anything.)
If the remote machine doesn’t have the right support for your terminal, what do you suggest?
Yea unfortunately eg Ubuntu’s bashrc has a script which will make it drop colors regardless of the presence of ghostty’s terminfo. Its `screen` will also fail, so e.g. it will refuse to upgrade to a new distro release.<p>Lots of jank due to this custom terminfo.
Every terminfo is custom, to the terminal it applies to. It's just that most entries are 20+ years old and even glacial distros have converged on some version of the database that mostly worked, until the recent resurgence of interest in actually writing new terminal software.
You can also just add this to your SSH config to get the typical functionality working:<p><pre><code> Host ...
SetEnv TERM=xterm-256color</code></pre>
My experience with terminals was like this - Alacritty -> Ghostty -> tty7. The last one implements exactly what I had in mind when I used Alacritty and Ghostty. Only it doesn't hype much (the author apparently doesn't strive for that much), maybe that's for the better.
Oohh. I hadn't heard of tty7. I like its goal.<p>Unfortunately, it seems to be doing something strange - I use vi-mode with nushell and it renders every character I press - even in normal mode.<p>I might keep an eye on it - hopefully they improve whatever they're doing with local echo.<p>I should say - I currently use WezTerm for exactly the feature tty7 advertises about session support. Even remote sessions.
I'm still using Wezterm here due to its Windows support, and I like being able to share one configuration my company Windows and my personal Linux laptops.<p>I've come to like its hyperlink rules to automatically generated clickable links to Reviews/Issues/Requirements/Linter Errors/... so I haven't felt the need to switch yet to have this feature missing.<p>I'm eying Kitty though.
I do most of my work in a terminal emulator and I mostly want the terminal I use to be fast to run and start. I have tried other terminal emulators as well (kitty, for example) since they promise to be GPU-accelerated which sounded relevant to my needs.<p>I always end up back at "st" though. It is fast enough for my purposes and does just about exactly what I want and not more. Reading about Ghostty 1.4's D-bus activated window creation I was wondering about the actual measurements of the improvements given the added complexity<p>A footnote mentions that the creation time of a new emulator window goes from about 200ms to 20ms. That made me wonder why the regular startup time is so slow ...<p>Turns out that at least on my setup ("st" on X11) you can get quite close even without the added complexity.<p><pre><code> $ time st -e 'exit'
real 0m0.021s
user 0m0.011s
sys 0m0.005s</code></pre>
I have an interesting reason to not upgrade:<p>I use ghostty as my go-to terminal on my linux devices. I chose it after trying four or so with the way I work. It just works perfectly for me.<p>But I only really have one use case:
1) Work the way I want it to<p>I could list my wants as an example, but there is no point because I don't know whether my needs are being met by what they consider a mistake in their design or a feature they provide.<p>So you can understand my conundrum - am I relying on features and design they consider is broken? If so, my current set up will "break" for me, even if it is a measurable improvement for most other people. I don't know.<p>I have no reason to "fix" the "working" release for me.<p>This is meaningful when forced upgrades occur, because the cost of training is never borne by the software provider (looking at you, big 4 or 8 or however many there is now.)
Did you configure emacs to interpret a rapid temperature rise as CTRL..?<p><a href="https://xkcd.com/1172/" rel="nofollow">https://xkcd.com/1172/</a>
I don't understand complaints like these, the tool is open source, fork it build it yourself and you will never have to update it. You really have the power to maintain your own tools.
> These release notes are painstakingly and lovingly hand-crafted by human Ghostty maintainers<p>Artisan call out work starts. The hipster stance in the AI world.
Too bad it's still not in Debian.
I miss Ghostty when I am on my Windows machine. Really wish it was available on Windows.
I love ghostty and libghostty.<p>thanks to libghostty, ghostel.el is the nicest terminal for emacs going. Thanks to you & the others behind it.
Does Ghostty implement a drop-down terminal? Considering to switch from Yakuake.
It does on macOS: <a href="https://ghostty.org/docs/features#macos" rel="nofollow">https://ghostty.org/docs/features#macos</a><p>To some extent on Linux, too, but not under GNOME, apparently: <a href="https://ghostty.org/docs/install/release-notes/1-2-0#gtk:-quick-terminal" rel="nofollow">https://ghostty.org/docs/install/release-notes/1-2-0#gtk:-qu...</a>
Does anyone else always read this as "Ghost Titty"?
(Happy Halloween btw)
Is there a plan to have pre compiled binary on Linux? Having to download a zig compiler is a bit annoying...
There's a third party appimage, still on 1.3.1 though: <a href="https://github.com/pkgforge-dev/ghostty-appimage" rel="nofollow">https://github.com/pkgforge-dev/ghostty-appimage</a><p>Normally not a fan of appimages, but this group focuses on making higher quality versions that make very few assumptions about the host system and work almost anywhere. While also prioritizing speed, small sizes, and up-to-date dependencies.
you should be able to get it from your system package manager or flatpack. linux is annoying here because it's a GUI app.
The Ghostty bandwagon is pretty loaded up, but iTerm is still where it's at. Recently saw some work on some iTerm work for multiple platforms from someone and it looks like it will work. Pretty excited about iTerm on Linux and Windows.
Are the context menus hardcoded? Ghosttty is the only app on my machine that uses those horrendous rounded context menus, and because I don't use a compositor, they also have a giant black band around them. None of the config file settings seemed relevant, but maybe I missed something?
At this point, I'm really looking forward to Rex.<p>I've been a laggard in switching to Ghostty because I used WezTerm and wrote a plugin to customize it to my liking. I switched to Ghostty just because I got tired of nothing happening in the WezTerm land and wanted to try something different.<p>Rex will allow me to use my old workflow again.
ghostty vs xterm.js (the VS Code terminal) - obviously ghostty is going to have better performance, but I just have never hit a performance limit in the VS Code terminal. I don't understand the demand for an ultra-accelerated terminal engine, but it's so popular it must be something i'm missing...
I'm using xterm.js with the canvas/gpu renderer in my app, driving these modern coding agents that seems to use every features in the book of terminals and it's perfectly fine.<p>The dom renderer is also perfectly fine, just needs a little bit more careful CSS to make it look right with some of the fancy line art.<p>I do use ghostty and it's alright. It's required for some rich TUI ai seems to be pumping out. Otherwise I prefer tilix and the default gnome terminal, but it might be just because of years of habit.
I have quite enjoyed using the kitty image protocol in interesting ways.<p>I made a Claude code skill telling it to put a little image in the corner of the console when it does a render to see how something looks. It was quite fun telling it to draw a chicken with 5 SVG D paths and watching it iterate in the terminal.
Kitty is so awesome. I'm writing (well, as much as anyone writes) a MUD that models a decent part of Tokyo at 30-60fps over SSH at reasonable resolution (that's the dream, at least). I'm shocked at how fast I can render a big complex 3d environment, in the terminal.
Any source/screenshots?
This is my version of that for ds4:<p><a href="https://github.com/NimbleMarkets/ds4go-apps#svgpad" rel="nofollow">https://github.com/NimbleMarkets/ds4go-apps#svgpad</a><p>We have a bunch of interactive Kitty Graphics demos, which run embedded in browser or from terminal. This weekend I was working on watercraft simulation:<p><a href="https://nimbleterminal.github.io/nt3d/water/" rel="nofollow">https://nimbleterminal.github.io/nt3d/water/</a>
I donated. Love all the work you put into this and thank you!
Here's a recent interview with Ghostty's creator about its philosophy, goals etc. <a href="https://alexalejandre.com/interviews/interview-with-mitchell-hashimoto/" rel="nofollow">https://alexalejandre.com/interviews/interview-with-mitchell...</a>
Great to see regular updates, this is probably the first package I install on any Linux distro.<p>Fast and clean. I find myself using Linux when I want to focus and study.<p>Windows is for music creation and certain games.
> Building Ghostty from source is not recommended for most users.<p>Why is that? It reminds me of the XFree86 times when building from source was some unstable, fancy thing that was severely frowned upon.
Probably something to do with Zig. Zig changes so quickly that if you're not using exactly the compiler that they are using, it's unlikely to work.
Here's a delicious meal we prepared for you. We don't recommend you going to the kitchen and trying to prepare it all over again.<p>..but you can!<p>Nothing controversial here.
Glad for an update. It’s unfortunately still missing table-stakes features for people who use primarily keyboard driven workflows. I guess I’ll stick with wezterm for another year.
Updated comment: Ghost is better than Hugo. I am moving my site to Ghost (and because it's drudge work, assigning it to Claude).<p>I was sleepy and didn't realize in my original comment that Ghostty and Ghost are different.
Judging from kitty benchmark, 1.4 is much faster than previous version 1.3.1. Vivido[0] was the fastest terminal when i measured terminal performance a month ago. Now Ghostty is the fastest. Time to catch up.<p>[0] <a href="https://github.com/vivido-dev/vivido" rel="nofollow">https://github.com/vivido-dev/vivido</a>
Escape codes are the new html for browsers now called terminal emulators. What a wonderful time to be alive, but very suspicious also :D
I tried Ghostty for a few months, but found that it had the slowest launch time of all the terminals (NixOS) - we're talking seconds instead of tens of ms. Sadly, it looks like the launch improvements here are for macos.
I had a similar problem maybe a year back. I've stuck to Foot since. I've got a new laptop now though and might be worth giving Ghostty another spin.
I've been working around it by setting my keybind to<p><pre><code> gdbus call --session --dest com.mitchellh.ghostty --object-path /com/mitchellh/ghostty --method org.gtk.Application.Activate '{}'
</code></pre>
to instantly open new terminal windows when ghostty is already running in a single instance.
What did you settle on?<p>I like foot but don't mind waiting a few tens of ms in exchange for kitty's graphics.
Love Ghostty!
Really enjoy using ghostty but I've switched mostly back to konsole for only one reason: memory usage. I'll reevaluate, after reading this!
Really happy to see all these updates.<p>I have a niche use case of wishing for font size support ala kitty and markdown files.
The update experience in Ghostty is great. I think it takes under 5 seconds from the moment you click accept update and until the new updated terminal is running.
Congrats on the release. I use libghostty-vt in my winui3 session manager and it works really well.
I've put libghostty in my bespoke IDEs and it's fantastic, thanks so much for all your hard work and vision.
If I am not mistaken, this is like another iTerm-like app. These tools have access to the innards of your system, like a VPN tool with access to all your connections. How do you trust, or build trust with, tools like these? How do you know whether the actor (s) behind them have malicious intent? Do you always build from an open-source project yourself? Is it a solution or the solution?
I use suckless terminal because the entire terminal is 4888 lines of C (including comments). Builds immediately. Starts immediately. Does everything I need it to do.<p>Have several running; resident set size between 10MB and 19MB.<p><a href="https://st.suckless.org/" rel="nofollow">https://st.suckless.org/</a>
Start with the person that is instrumental in this - Mitchell Hashimoto - you probably use products built on top of or with his tooling somewhere in your daily life already without knowing it. <a href="https://mitchellh.com/" rel="nofollow">https://mitchellh.com/</a><p>I suspect you're getting down voted on this as it feels like this is a failure to educate yourself on something that feels like it should be relatively easy to do so in less time than it took to type your message.
Wait until it is packaged for your distro. It should be vetted then.<p>If on Mac/Win, you should be used to trusting notarized apps after a cooldown period.
any idea why people downvoting a legit question? what's wrong with them ?<p>Reply and then downvote, but silently downvoting ? not a real men, hiding behind their keyboard :)
No Windows support yet?
Ghostty was using 2gb of ram the other day - I switched back to iTerm and it's now 200mb.
"My Ford used too much fuel on one of the trips, so I switched to Volkswagen and today, on a another trip, it used much less."
It finally fixed the tab bugs in MacOS 27 that had a beta release in June.
I have replaced Ghostty with Rex from Superlogical, it's great and I really like the iOS app too.
Libghostty is a masterpiece dude. So easy to embed, nice bindings, and it's so fast.
I tried Ghostty, but went to Kitty in the end.
Been a convert for a while it's so snappy
Im the only one no longer uses terminals apps, not even IDE's, now not even terminals.<p>Claude/Codex app all the way baby. What a crazy world.
Very excited for this feature
I'm sure mitchellh will check out this comment section at some point - any updates on the move away from Github? I don't really see anything that's changed, but maybe it's behind the scenes. I was pretty excited on your initial post about it but it's been a while.
My biggest gripe with Ghostty is that on Mac, window state restoration doesn't remember the previous contents of the terminal, only the working directory. I've been meaning to switch back to iTerm2 over this, but just been lazy. It can be difficult for me to remember what a tab was used for just based on the working directory.
Hmm I wss checking for updates last night actually. I really hope they dont start adding llm junk to ghostty. I really like it, but mitchel sounded like he got bit by the llm bug a few months back.<p>Its honestly perfect as it is, just nerd performance tweaks imo.
Truly odd to see this comment. For me, mitchellh defines the moderate position on agents in coding, I mean that seriously: not occupies it, defines it. I’ve raised this point in discussions and others get what I mean without explanation. He’s better known for a mitigation to LLM downsides (vouch) than for making conspicuous use of them, and insists on human-only prose in issues, PRs and ‘real’ documentation (which I firmly agree with btw).<p>He also has a blog post and some tweets about how they can find and fix difficult bugs, and otherwise are capable of solving hard problems now. Well, they can.<p>Is that the LLM bug to you?
Now if I could only upgrade it without powering down my current Ghostty
[flagged]
[dead]
[flagged]
[dead]
Wrote a VT parser once, bracketed paste edge cases ate a whole week. Respect.
[flagged]
[flagged]
Does anyone know how to use ghostty in VS Code?
I think if you had Claude Fable build a lightweight terminal like Ghostty, you'd get a good one.
I doubt that very much.<p>An LLM may be fine to implement quickly an application that more or less works, but I have not seen any evidence that any of them is able to write well optimized code, whenever the application is not just a duplicate of something older.<p>Ghosstty and a few other newer terminal emulators are not only lightweight, but they also implement very fast GPU rendering, which is one of their important advantages.<p>So not only their set of features matters, but also the achieved performance.<p>Of course, one could use an LLM to write a very fast terminal emulator, but for that a competent programmer must be included in the feedback loop, which would require many iterations and running benchmarks and emulation conformity tests. It cannot be done by vibe coding with a prompt like "write a lightweight terminal emulator".
Here's one such project: <a href="https://github.com/Dicklesworthstone/frankenterm" rel="nofollow">https://github.com/Dicklesworthstone/frankenterm</a><p>However, it is more focused on multiplexing.