Libghostty 1.0 gives Ghostty's terminal engine a stable C ABI
Mitchell Hashimoto's terminal library, extracted from Ghostty, now has a stable, semantically versioned C ABI. JetBrains, Neovim and Vercel's Turborepo already embed it.
Mitchell Hashimoto released libghostty-vt 1.0 on 6 November, a C library for terminal emulation extracted from his Ghostty terminal app. The headline change is stability: the library and its C ABI now follow semantic versioning with real compatibility promises, so distro packagers can ship it and application developers can dynamically link against it without their terminal breaking on the next update.
It’s MIT licensed, needs only libc by default, and can be built freestanding. It runs on Linux, macOS, iOS, Windows, Android, FreeBSD and WebAssembly, with community bindings for more than a dozen languages including Rust, Go, JavaScript, Swift, Python and .NET. Adoption is already real: JetBrains IDEs use it for over 12.5 million active users, Neovim has an approved pull request to replace libvterm with it, and Vercel’s Turborepo, devenv and OrbStack embed it too.
Why it matters: writing a correct terminal emulation layer is notoriously fiddly, which is why so many tools have historically shipped with their own buggy, partial implementation. A stable, portable, liberally licensed library removes the excuse. If you’re building a terminal, an IDE panel, or anything that shells out and renders the output, libghostty is now a dependency you can actually commit to rather than vendor and patch.