NewsLab
Oct 27 18:34 UTC

Ghostty 1.4.0 (ghostty.org)

198 points|by deaux||76 comments|Read full story on ghostty.org

Comments (76)

74 shown
  1. 1. cassianoleal||context
    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.

  2. 2. BorisMelnik||context
    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.
  3. 3. xcrjm||context
    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.
  4. 4. sigbottle||context
    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

  5. 5. alsetmusic||context
    > 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.

  6. 6. sigbottle||context
    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

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

  8. 8. himata4113||context
    vouch this comment since this is a pretty common question people have, I don't believe it should be dead.
  9. 9. paaloeye||context
    I do believe it should be dead
  10. 10. paaloeye||context
    Ghostty is so much better than iTerm2! Don't get me started...
  11. 11. wpm||context
    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.

  12. 12. paaloeye||context
    It just works. — Steve Jobs

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

  13. 13. wpm||context
    Yeah except when it doesn't. I shouldn't need to reference documentation to change my terminal font.
  14. 14. paaloeye||context
    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

  15. 15. paaloeye||context
    > 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.

  16. 16. slowin||context
    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.
  17. 17. paride5745||context
    I use Linux at home and Mac at work. I use Ghostty simply to have the same terminal on both systems.
  18. 18. ravenstine||context
    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.

  19. 19. mixmastamyk||context
    Funny, I won’t use a term emulator unless it has a good GUI config. Even SGI and Windows Command prompt had them in the 90s.

    Also the konsole context menu and default toolbar are a mess.

  20. 20. micromacrofoot||context
    cute little mascots
  21. 21. prinny_||context
    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.
  22. 22. hxugufjfjf||context
    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?
  23. 23. cassianoleal||context
    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.

  24. 24. hexasquid||context
    Can konsole do the fancy shader and inline images? I think that's all that distinguishes the others but I may be overlooking things.
  25. 25. cassianoleal||context
    I have no idea what that is or why I would want it.
  26. 26. the_mitsuhiko||context
    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.
  27. 27. lioeters||context
    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.

  28. 28. reissbaker||context
    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.

  29. 29. flohofwoe||context
    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).
  30. 30. lioeters||context
    > 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. (:

  31. 31. bombcar||context
    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.
  32. 32. tetraodonpuffer||context
    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.
  33. 33. diath||context
    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.

  34. 34. ada-h00k||context
    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.
  35. 35. pritambaral||context
    > 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.

  36. 36. adrian_b||context
    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.

    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.

  37. 37. iberator||context
    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.

    Xterm failed me :( Tabby just works.

  38. 38. olejorgenb||context
    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)
  39. 39. n6242||context
    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.
  40. 40. christophilus||context
    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.
  41. 41. hippycruncher22||context
    Love Ghostty!
  42. 42. kettlecrisp99||context
    Wrote a VT parser once, bracketed paste edge cases ate a whole week. Respect.
  43. 43. deaux||context
    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.
  44. 44. SomeonesAccount||context
    Sure enough, one minute later he posted a comment lol
  45. 45. mitchellh||context
    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!

  46. 46. bombcar||context
    But could it do two rows of tabs?
  47. 47. TrueDuality||context
    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.
  48. 48. yjftsjthsd-h||context
    > 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?

  49. 49. mitchellh||context
  50. 50. yjftsjthsd-h||context
    Okay, that's fun:) ...so if I use this on an ESP* with a physical display and keyboard attached, at what point does it stop counting as a terminal emulator again?:)
  51. 51. Imustaskforhelp||context
    > Libghostty now builds and is tested (in CI) for: [...] freestanding (i.e. direct on hardware with no OS).

    I am really impressed. When I had read your original comment, I literally shouted oye! (meaning woah) because of how interesting it felt. Glad that I can see the demo as well.

    But aside from the fun little demo, what are the real use cases that we can think of as well.

    here are some that I have thought of

    1. SSH'ing into a terminal (VPS) or being able to view what the AI agents are doing on that VPS and controlling them very thinly in your pocket.

    2. I have a slight dream that I'd like to chip in but I always wanted to create something like monkeytype but on embedded-hardware. Something which can just plug to TV's and people can connect a keyboard and start to type.

    3. Or another idea but being a book reader and having it connect to some library resource

    (2) & (3) for the underdeveloped regions.

    Maybe (1) can be good as well and could very well be a small computer terminal which can teach/help the underdeveloped regions.

    I live in India and I see it first hand how genuinely just want to create some extremely minimalist software on extremely cheap hardware to make funding of them easier and more scalable.

    This also makes the constraints work good as one of the govt's basically spent a lot of money providing mid/high end tablets to every children and it turned out to be quite catastrophic because although it was kiosked because it was just intended to watch videos or read resources.

    Children paid people to crack it and then started using instagram on it. My mother is a govt. teacher and she strongly thinks that it was a waste of resources and even the parents of the children and local village meeting committees think so as well. I remember reading some local news articles about villages conducting meetings on how to prevent their children from such instagram addiction so quickly after the tabs were given.

    I would like to hope that maybe someday someone creates the more optimal solution to the problems that I discussed and libghostty comes handy to the situation. Thanks for making it and have a nice day :-D

  52. 52. latchkey||context
    the web version powers our quickstart via a cloudflare websocket and some custom patches (only on desktop): https://hotaisle.xyz/quick-start

    it is all open source: https://github.com/hotaisle/hotaisle-website

  53. 53. twelvenmonkeys||context
    Thanks for the work on getting libghostty 1.4 out! :D

    Wanted to add too that I can't wait for xterm to eventually support libghostty, you've been super supportive providing feedback!

    https://github.com/xtermjs/xterm.js/issues/5686

  54. 54. teroshan||context
    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.

  55. 55. Hitech-Redneck||context
    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
  56. 56. awkwardleon||context
    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 <https://ghostty.org/docs/features/ssh>. More permanently, copy terminfo to the remote machine, see <https://ghostty.org/docs/features/ssh>.
  57. 57. hmokiguess||context
    I have replaced Ghostty with Rex from Superlogical, it's great and I really like the iOS app too.
  58. 58. Lerc||context
    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.

  59. 59. entropie||context
    Any source/screenshots?
  60. 60. a34729t||context
    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.
  61. 61. lifeisloving||context
    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.

  62. 62. selectnull||context
    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.

  63. 63. larodi||context
    Escape codes are the new html for browsers now called terminal emulators. What a wonderful time to be alive, but very suspicious also :D
  64. 64. rvz||context
    > Escape codes are the new html for browsers now called terminal emulators.

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

  65. 65. jwr||context
    Ghostty is so great. 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.

    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.

  66. 66. gateauxd||context
    Been a convert for a while it's so snappy
  67. 67. enriquto||context
    > Building Ghostty from source is not recommended for most users.

    Why is that? It reminds me of the XFree86 times when building from source was some unstable, fancy thing that was severely frowned upon.

  68. 68. sgt||context
    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.
  69. 69. eclipticplane||context
    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: https://github.com/ghostty-org/ghostty/discussions/11159
  70. 70. arjie||context
    Libghostty is a masterpiece dude. So easy to embed, nice bindings, and it's so fast.
  71. 71. Graziano_M||context
    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.
  72. 72. forza2026||context
    Very excited for this feature
  73. 73. sgt||context
    Now if I could only upgrade it without powering down my current Ghostty
  74. 74. jaywcarman||context
    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 .

    [1]: https://sw.kovidgoyal.net/kitty/kittens/hints/

    [2]: https://github.com/ghostty-org/ghostty/discussions

    [3]: https://github.com/ghostty-org/ghostty/discussions/2394