Ghostty 1.4.0

133 points | by deaux an hour ago

53 comments

  • mitchellh 28 minutes ago

    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.

    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!

    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.

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

    Highlights of libghostty since 6 months ago (none of the below was true 6 months ago):

    - 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): https://libghostty.tip.ghostty.org/

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

    - Libghostty has bindings in pretty much every popular programming language: C, Zig, Go, Swift, Python, Rust, .NET, etc.

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

    - Libghostty powers all JetBrains IDE terminals, over 12.5 million active users. https://blog.jetbrains.com/platform/2026/10/jetbrains-termin...

    - Libghostty is the most popular core behind the wave of venture-backed "agentic" terminals and editors, such as Herdr, cmux, and many others.

    - Libghostty is being discussed and has been verbally accepted to replace the terminal core in Neovim: https://github.com/neovim/neovim/pull/39773 (work still to be done)

    - Libghostty powers a really popular and powerful terminal emulator for emacs (Ghostel): https://github.com/dakra/ghostel

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

    - And so much more: https://github.com/Uzaaft/awesome-libghostty

    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.

    I plan on tagging libghostty 1.0 in the next few months and declaring ABI stability at that point!

      yjftsjthsd-h 4 minutes ago

      > Libghostty now builds and is tested (in CI) for: [...] freestanding (i.e. direct on hardware with no OS).

      That's really cool, but I'm drawing a blank; what's it used for? Embedded terminal something?

      bombcar 17 minutes ago

      But could it do two rows of tabs?

      TrueDuality 13 minutes ago

      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.

  • cassianoleal 43 minutes ago

    I still don't understand the point of Ghostty, Kitty, Wezterm...

    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.

    The one feature I miss since moving to Linux and not having iTerm2 is tmux -CC integration. None of those offer it.

    To be clear, I'm not attempting to be dismissive. I really want to understand what it is that they bring.

      diath 17 minutes ago

      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.

      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.

      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.

      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.

      adrian_b 3 minutes ago

      I assume that this depends on your computer/GPU/GPU driver.

      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.

      At least in my computers (with NVIDIA GPUs and Gentoo Linux), kitty was many times faster than Konsole and Ghostty even faster.

      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.

      pritambaral 5 minutes ago

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

      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.

      > tmux -CC integration

      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.

      reissbaker 23 minutes ago

      A couple of annoyances I've had shipping CLI apps to Konsole users:

      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.

      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.

      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.

      sigbottle 38 minutes ago

      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.

      Having having an industry player like hashimoto's superlogical driving terminal features is the extreme version of that

        alsetmusic 32 minutes ago

        > Ghostty's pure reusable terminal state machine being a source of truth

        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.

          B4uler5 12 minutes ago

          I assume the quote is referring to libghostty. In which case a lot of different tools like Dotnet, 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.

          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.

          sigbottle 15 minutes ago

          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.

          A lot of other terminal emulators can expose similar reusable things (alacritty comes to mind) but libghostty is the most well supported one

      BorisMelnik 41 minutes ago

      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.

        xcrjm 33 minutes ago

        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.

      ravenstine 30 minutes ago

      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.

      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.

      slowin 35 minutes ago

      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.

      paride5745 34 minutes ago

      I use Linux at home and Mac at work. I use Ghostty simply to have the same terminal on both systems.

      lioeters 24 minutes ago

      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.

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

      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.

      flohofwoe 22 minutes ago

      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.: https://github.com/floooh/chipz-kitty (needs zig-0.17.0).

        lioeters 9 minutes ago

        > chipz-kitty: Emulators in terminal experiment.

        Cool! How fun, I'm a big fan of your work and will enjoy learning from this project too. (:

      ada-h00k 17 minutes ago

      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.

      hxugufjfjf 26 minutes ago

      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?

        cassianoleal 16 minutes ago

        You could, but my answer would probably skew your opinion about as much as yours did mine. :D

        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.

      bombcar 21 minutes ago

      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.

      prinny_ 28 minutes ago

      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.

      hexasquid 25 minutes ago

      Can konsole do the fancy shader and inline images? I think that's all that distinguishes the others but I may be overlooking things.

        cassianoleal 16 minutes ago

        I have no idea what that is or why I would want it.

          the_mitsuhiko 12 minutes ago

          I'm not sure why you want shaders, but if you use a coding agent in the terminal you definitely want image support. Otherwise it's very hard to see what the agent is seeing.

      tetraodonpuffer 20 minutes ago

      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.

      himata4113 38 minutes ago

      vouch this comment since this is a pretty common question people have, I don't believe it should be dead.

        paaloeye 37 minutes ago

        I do believe it should be dead

      paaloeye 38 minutes ago

      Ghostty is so much better than iTerm2! Don't get me started...

        wpm 25 minutes ago

        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.

        There was also some pretty noticeable differences in character rendering between the two with identical-as-I-could-make-them font settings.

          paaloeye 9 minutes ago

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

          I've tested a number of Terminal Emulators on macOS and Ghostty's rendering is always superior.

          You should give 1.4 a try.

          paaloeye 20 minutes ago

          It just works. — Steve Jobs

          Ref: https://arne.me/blog/we-need-more-zero-config-tools

            wpm 16 minutes ago

            Yeah except when it doesn't. I shouldn't need to reference documentation to change my terminal font.

              paaloeye 5 minutes ago

              Honestly, iTerm's settings were always a mess in my opinion.

              I feel like good tools should be invisible and Ghostty's lack of fully fledged Settings app is a feature, not a bug.

              Just open it in Kakoune/NeoVim and change with a speed of thoughts. Never used any third-party Settings apps though.

              Ref: https://news.ycombinator.com/item?id=48858121

      micromacrofoot 28 minutes ago

      cute little mascots

  • teroshan 28 minutes ago

    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.

    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.

    I'm eying Kitty though.

  • Hitech-Redneck 28 minutes ago

    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

  • selectnull 21 minutes ago

    At this point, I'm really looking forward to Rex.

    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.

    Rex will allow me to use my old workflow again.

  • larodi 15 minutes ago

    Escape codes are the new html for browsers now called terminal emulators. What a wonderful time to be alive, but very suspicious also :D

      rvz a minute ago

      > Escape codes are the new html for browsers now called terminal emulators.

      No it isn't and that isn't a good thing in the long run.

      There should not be any more complexity in a terminal emulator that will just lead attackers to craft RCEs exploits to your terminal to steal your secrets on your computer just because "Its cool" and has hundreds of escape codes.

  • Lerc 27 minutes ago

    I have quite enjoyed using the kitty image protocol in interesting ways.

    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.

      entropie 19 minutes ago

      Any source/screenshots?

  • hmokiguess 28 minutes ago

    I have replaced Ghostty with Rex from Superlogical, it's great and I really like the iOS app too.

  • hippycruncher22 39 minutes ago

    Love Ghostty!

  • deaux 29 minutes ago

    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.

      SomeonesAccount 18 minutes ago

      Sure enough, one minute later he posted a comment lol

  • lifeisloving 22 minutes ago

    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.

    Its honestly perfect as it is, just nerd performance tweaks imo.

  • kettlecrisp99 33 minutes ago

    Wrote a VT parser once, bracketed paste edge cases ate a whole week. Respect.