TL;DR
Get business pricing on monitors, keyboards and dev gear
- Business-only prices and quantity discounts
- Tax-exempt purchasing
- Multiple users, one account, clear invoices
Mitchell Hashimoto announced libghostty-vt 1.0, establishing semantic-versioning and ABI compatibility commitments for the portable C terminal-emulation library. He says it is already used in products including JetBrains IDEs and Vercel’s Turborepo; the release also adds tools and files intended to support distribution packaging.
Mitchell Hashimoto announced libghostty-vt 1.0, the first release of Ghostty’s portable terminal-emulation library with a stable C application binary interface (ABI). The milestone gives software developers and package maintainers a defined compatibility commitment for using the library independently of the Ghostty terminal application.
Hashimoto describes libghostty-vt as a high-performance C library extracted from Ghostty’s core. Under the 1.0 policy, it follows semantic versioning and promises strict ABI compatibility, allowing applications to link against the library and distributions to package it with greater confidence that updates will not silently break binary compatibility.
The release includes signed source tarballs and a companion dependencies tarball, designed to let distributions build the library offline. Its build system installs shared and static libraries, headers, pkg-config files and a CMake package configuration, while supporting common installation settings such as –prefix and DESTDIR. Hashimoto says the library is MIT-licensed and requires only libc at runtime, with an option to build without libc.
Hashimoto reports that libghostty-vt is already used in a range of projects. He says the terminal in JetBrains IDEs now runs on it and cites more than 12.5 million active users, based on a report from JetBrains. Other examples he names include Vercel’s Turborepo, OrbStack and Ghostel. These adoption figures and examples come from his announcement; they are not independently verified here.
A Compatibility Promise for Terminal Tools
The 1.0 ABI commitment addresses a practical barrier to adopting a C library: projects and operating-system distributions need to know whether a library update will remain compatible with software already built against it. A stable interface can make it easier to package libghostty-vt separately, distribute applications that depend on it, and update the library without requiring every user to rebuild their software.
That matters because terminal emulation is used across developer tools, from IDEs and shell interfaces to text-based applications. If more projects share a common implementation, developers may be able to reuse the same terminal behavior rather than maintaining separate emulators. Hashimoto’s list of adopters suggests that use already extends beyond Ghostty, though the release does not by itself establish that all products have identical capabilities or will remain users of the library.
The packaging work is also relevant to organizations that build software for multiple platforms. A dedicated release cycle, dependency inventory and offline build path provide components that package maintainers commonly need. The announcement says the library’s dependency tree contains no copyleft code and that dependencies are recorded with version, license and hash information; those details may simplify review, but each packager will still need to evaluate the library for its own policies.
Popular right now

Roborock Q7 M5+ Robot Vacuum and Mop with Self-Emptying Dock

Dyson V15 Detect Cordless Vacuum

Samsung 75-Inch Class The Frame QLED 4K Art TV (LS03HE, 2026)
As an affiliate, we earn on qualifying purchases.
Ghostty is a terminal application whose core includes terminal-emulation code. Hashimoto says the library was extracted so that other software could use that functionality directly. In a post a little over a year before the 1.0 announcement, he described the project as having a Zig module but no C API, with Ghostty itself as its only consumer. He says the C API has since become a complete terminal emulator and gained users in free and commercial products.
The library’s API design is intended to support the stability pledge. Hashimoto says objects are exposed through opaque handles, while groups of values use enum-keyed accessors so new values can be added without creating a new exported symbol for each one. The announcement also describes compatibility checks in continuous integration: ABI comparisons against a committed baseline on Linux and type manifests on macOS and WebAssembly. On ELF systems, exported symbols are versioned so a dynamic loader can reject certain mismatches at load time.
Hashimoto identifies Neovim as a prospective adopter: he says a pull request to replace libvterm with libghostty-vt has been approved, with maintainers waiting for a tagged release before merging so distributions can package the dependency separately. He also says KDE developers are experimenting with a Konsole replacement. Those accounts describe projects at different stages, not completed deployments.
““1.0 means libghostty-vt follows semantic versioning and has strict ABI compatibility promises.””
— Mitchell Hashimoto, in the libghostty-vt 1.0 announcement
Adoption and Compatibility in Practice
The announcement does not provide independently audited usage totals or a detailed breakdown of how many products use the library in production. The cited figure of more than 12.5 million JetBrains active users is attributed to a JetBrains report and does not necessarily mean every one of those users has run a libghostty-powered terminal during a specified period. Hashimoto also does not quantify the broader claim that library users outnumber Ghostty application users.
It remains to be seen how quickly distributions package the release and how many announced integrations ship in stable products. The Neovim change is described as an approved pull request awaiting a tagged release, while the KDE work is described as experimentation. The source material also does not detail the duration of the ABI commitment or list every platform and distribution tested against the new packaging system.
Packaging and Integrations After 1.0
The immediate next step is for distribution maintainers and application developers to evaluate the 1.0 release, build it with the supplied tarballs and add it to their packaging or dependency workflows. Neovim maintainers can consider merging the approved integration now that a tagged release is available, according to Hashimoto’s account. Other projects named in the announcement may continue testing or ship integrations on their own schedules.
Future releases will show how the ABI policy works as the library adds functionality and how broadly the packaging support is adopted. The announcement establishes the release terms and describes existing users, but it does not set a timetable for specific downstream projects or provide a separate roadmap for later versions.
Key Questions
What is libghostty-vt 1.0?
It is version 1.0 of a portable C terminal-emulation library extracted from Ghostty’s core. The release establishes semantic-versioning and ABI compatibility commitments.
Does libghostty-vt 1.0 mean the Ghostty app is at version 1.0?
No. The announcement concerns the library’s own release cycle, which Hashimoto says is separate from the Ghostty application.
Which projects are reported to use the library?
Hashimoto names JetBrains IDEs, Vercel’s Turborepo, OrbStack and Ghostel, among others. He describes a proposed Neovim integration and KDE experimentation separately, so those should not be treated as completed deployments based on this announcement alone.
What does the stable C ABI provide?
An ABI compatibility policy is intended to let compiled applications keep working across compatible library updates and give distributions confidence when packaging the library. The 1.0 release documents that commitment and describes automated checks used to enforce it.
What remains unverified about adoption?
The user and project figures in the announcement are attributed to Hashimoto or, for the JetBrains figure, a report he cites. The source does not provide an independent audit, a defined measurement period for all adoption claims, or a schedule for every planned integration.
Source: mitchellh.com
