<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/libghostty-1-0-nv0vsbdl3" -->

---
title: Libghostty 1.0 | daily.dev
description: Libghostty, the C library for terminal emulation extracted from Ghostty, has reached version 1.0 with a stable, semantically versioned ABI. JetBrains IDEs now...
canonical: https://daily.dev/posts/libghostty-1-0-nv0vsbdl3
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Libghostty 1.0 | daily.dev
og:description: Libghostty, the C library for terminal emulation extracted from Ghostty, has reached version 1.0 with a stable, semantically versioned ABI. JetBrains IDEs now...
og:url: https://daily.dev/posts/libghostty-1-0-nv0vsbdl3
og:image: https://api.daily.dev/og/posts/nv0VSBDL3.png
og:image:alt: Libghostty 1.0
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Libghostty 1.0

**[Mitchell Hashimoto](https://daily.dev/sources/mitchellh)** · 9 min read · 2 upvotes · 0 comments

## Summary

Libghostty, the C library for terminal emulation extracted from Ghostty, has reached version 1.0 with a stable, semantically versioned ABI. JetBrains IDEs now use it, reaching over 12.5 million active users, and Neovim has an approved pull request to replace libvterm with it. Vercel's Turborepo, devenv and OrbStack already embed it, and community bindings exist for many languages. The library is MIT licensed, needs only libc by default, can be built freestanding, and supports Linux, macOS, iOS, Windows, Android, FreeBSD and WebAssembly. A test ran 10,000 active terminals on a 4-core, 8GB Linux server.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://mitchellh.com/writing/libghostty-1-0>

## Questions this post answers

### What is libghostty-vt and why would I use it instead of writing my own terminal emulator?

Libghostty-vt is a portable, MIT-licensed C library for terminal emulation extracted from the Ghostty terminal, now at a stable 1.0 release with a guaranteed ABI. It needs only libc by default, can be built freestanding, and lets you build a full-featured terminal in roughly 1,500 lines of C with bindings available for Rust, Go, JavaScript, Swift, Python, .NET, Elixir, Dart, and Java.

_Developers evaluating terminal emulation options can follow libghostty coverage on daily.dev before committing to a library._

### Which major products already use libghostty for their terminal emulation?

JetBrains IDEs including IntelliJ, PyCharm, and GoLand now run their terminal on libghostty, reaching over 12.5 million active users. Neovim has an approved pull request to replace libvterm with it, KDE is building a Konsole replacement on it, and Vercel's Turborepo, devenv, OrbStack, and tools like herdr and cmux also embed it.

_Teams weighing a switch to libghostty can track real-world adoption stories on daily.dev._

### Does libghostty-vt have any copyleft or C++ standard library dependencies I need to worry about for licensing?

No, libghostty-vt has no copyleft code anywhere in its dependency tree. It compiles in permissively licensed dependencies only: simdutf and Google Highway for SIMD (both built without libc++), a compact Unicode grapheme table, and Wuffs for image decoding in the Kitty graphics protocol, with every dependency listed in a machine-readable manifest with version, SPDX license, and hash.

_Engineers vetting dependency licenses before adoption can verify details like this through daily.dev._

## Community take

How the wider developer community reacted, aggregated from 2 discussions and 101 comments across hackernews, lobsters (as of 2026-11-07).

**TL;DR:** The release is met with strong enthusiasm as a production-ready, well-documented C library that's already been embedded into multiple terminals and IDEs, with side discussion comparing it to Rex, iTerm2, and other terminal projects.

**Sentiment:** 78% positive · 17% mixed · 5% skeptical

**The case for**

- Several people say it dramatically improved embedding terminal emulation into their own apps (Emacs, Sublime Text, MUD clients, KDE embedders), saving significant effort.
- Many praise the documentation and API design as exemplary for a C library.
- Commenters highlight real-world adoption (JetBrains, Emacs's Ghostel, foot-macos) as proof the library delivers on its promises.
- Some appreciate that a long 0.x project finally reached a stable 1.0.

**The pushback**

- Some note Zig's own instability could create friction or packaging constraints even though the C ABI is stable.
- A tester found no measurable performance gain over existing tools for a non-typical use case (MUD client) and noted its terminal grid model doesn't fit well there.
- A few raise concerns about long-term financial sustainability of the project.

**By community**

- hackernews (positive): Overwhelmingly congratulatory and enthusiastic, with extensive tangential discussion about Ghostty/Rex, Zig, and terminal emulator comparisons.
- lobsters (mixed): Praises the milestone but raises a practical concern about Zig's instability affecting packaging despite the stable C ABI.

**Hottest debate:** Whether Zig's lack of language stability will eventually cause friction for packagers and distributors despite the library's stable C ABI.

**Open questions**

- Will Zig's instability eventually complicate packaging libghostty for distros like Debian?
- Is Rex meant to fully replace Ghostty, or will they coexist as separate products built on libghostty?

**Highlights**

> Many common ways for the financing of an free and open source project to be sustainable (The main keyword) in the mid to long term: 1) A non-profit company that has full-time employees but supported via sponsorships: (gnu project, mastodon, omarchy, zig) 2) Multiple for-profit companies that each have full-time employees contributing to an open source project that they all use: (ocaml, linux, rust) 3) An ultra high net worth individual that has full-time contributors to open source and supported via a non-profit (signal, ghostty) 4) A for-profit company that has dedicated full-time employees that have full support and own the direction of the open source project (go, swift, java) 5) VC funded open source projects (Herdr, Bun, Deno, Burno, Atuin) All other options such as low donations like "buy me a coffee", ko-fi, are completely unsustainable, now that AI agents exist.
> — [rvz on hackernews · 1 comments](https://news.ycombinator.com/item?id=50401845)

> One area where Ghostty really shines is with fancy TUI programs like the pi agent. Pi has a relatively recent tuiMode "fullscreen" feature, and it's been exceptional. Showing inline images with the Kitty graphics protocol has been a huge improvement too -- I love it when a model calls `read` on an image file and I get to see the results in my terminal. The OSC-8 hyperlink support is super cool too. Viewport scrolling is super fast, and pi can hide/show the scrollbar as you need it.
> — [spudlyo on hackernews · 1 comments](https://news.ycombinator.com/item?id=50401356)

> In the world of AI (slop or not), why won’t people write their own subset of terminal emulators, just for their own need? Probably faster without waiting for 3rd party to fix bugs and merge patches, no?
> — [didip on hackernews · 1 comments](https://news.ycombinator.com/item?id=50402513)

> Yes of course the C API hides Zig, but the library itself will require some specific version of the Zig language to build, since Zig is not stable. I guess this will put some constraints on packagers if nothing else
> — [gignico on lobsters · 1 points](https://lobste.rs/s/0ouxwf/libghostty_1_0#c_5oaizr)

> Tried libghostty-vt 1.0 as Mudlet's ANSI decoder - no measurable speed gain in tests and its terminal grid doesn't suit a MUD client (UTF-8 only, scrollback can't be edited), but I reckon it'd make a great terminal pane for cursor-addressed game screens.
> — [VadimPR on hackernews](https://news.ycombinator.com/item?id=50401419)

**Source threads**

- [hackernews](https://news.ycombinator.com/item?id=50399933) · 532 points · 98 comments
- [lobsters](https://lobste.rs/s/0ouxwf/libghostty_1_0) · 64 points · 3 comments

## Similar posts on daily.dev

- [Ghostty terminal is now available in the Ubuntu repos](https://daily.dev/posts/ghostty-terminal-is-now-available-in-the-ubuntu-repos-dkzeydunw) · omg\! ubuntu\! · 69 upvotes · 2 comments
- [coder/ghostty-web: Ghostty for the web with xterm.js API compatibility](https://daily.dev/posts/coder-ghostty-web-ghostty-for-the-web-with-xterm-js-api-compatibility-qugdhfiyh) · Hacker News · 61 upvotes · 1 comments

---

Tags: [#open-source](https://daily.dev/tags/open-source), [#c](https://daily.dev/tags/c), [#cli](https://daily.dev/tags/cli)

[View this post on daily.dev](https://daily.dev/posts/libghostty-1-0-nv0vsbdl3)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Libghostty 1.0","url":"https://daily.dev/posts/libghostty-1-0-nv0vsbdl3","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/libghostty-1-0-nv0vsbdl3"},"datePublished":"2026-11-06T23:32:43.854Z","dateModified":"2026-11-07T08:29:12.020Z","description":"Libghostty, the C library for terminal emulation extracted from Ghostty, has reached version 1.0 with a stable, semantically versioned ABI. JetBrains IDEs now...","image":"https://media.daily.dev/image/upload/s--0_ODbtD2--/f_auto/v1722860399/public/Placeholder%2008","thumbnailUrl":"https://media.daily.dev/image/upload/s--0_ODbtD2--/f_auto/v1722860399/public/Placeholder%2008","isAccessibleForFree":true,"articleSection":"Mitchell Hashimoto","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Mitchell Hashimoto","logo":"https://media.daily.dev/image/upload/s--9zTxbLer--/f_auto/v1735476334/logos/mitchellh","url":"https://daily.dev/sources/mitchellh"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/libghostty-1-0-nv0vsbdl3","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":2},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"open-source,c,cli","timeRequired":"PT9M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Mitchell Hashimoto","item":"https://daily.dev/sources/mitchellh"},{"@type":"ListItem","position":3,"name":"Libghostty 1.0"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/libghostty-1-0-nv0vsbdl3#faq","mainEntity":[{"@type":"Question","name":"What is libghostty-vt and why would I use it instead of writing my own terminal emulator?","acceptedAnswer":{"@type":"Answer","text":"Libghostty-vt is a portable, MIT-licensed C library for terminal emulation extracted from the Ghostty terminal, now at a stable 1.0 release with a guaranteed ABI. It needs only libc by default, can be built freestanding, and lets you build a full-featured terminal in roughly 1,500 lines of C with bindings available for Rust, Go, JavaScript, Swift, Python, .NET, Elixir, Dart, and Java. Developers evaluating terminal emulation options can follow libghostty coverage on daily.dev before committing to a library."}},{"@type":"Question","name":"Which major products already use libghostty for their terminal emulation?","acceptedAnswer":{"@type":"Answer","text":"JetBrains IDEs including IntelliJ, PyCharm, and GoLand now run their terminal on libghostty, reaching over 12.5 million active users. Neovim has an approved pull request to replace libvterm with it, KDE is building a Konsole replacement on it, and Vercel's Turborepo, devenv, OrbStack, and tools like herdr and cmux also embed it. Teams weighing a switch to libghostty can track real-world adoption stories on daily.dev."}},{"@type":"Question","name":"Does libghostty-vt have any copyleft or C++ standard library dependencies I need to worry about for licensing?","acceptedAnswer":{"@type":"Answer","text":"No, libghostty-vt has no copyleft code anywhere in its dependency tree. It compiles in permissively licensed dependencies only: simdutf and Google Highway for SIMD (both built without libc++), a compact Unicode grapheme table, and Wuffs for image decoding in the Kitty graphics protocol, with every dependency listed in a machine-readable manifest with version, SPDX license, and hash. Engineers vetting dependency licenses before adoption can verify details like this through daily.dev."}}]}
```

