TL;DR
Get the latest gadgets delivered free with Prime
- Fast, free delivery on millions of items
- Prime Video, Amazon Music and more included
- Member-only deals all year
Mitchell Hashimoto announced libghostty-vt 1.0, marking a stable release for the portable C terminal-emulation library extracted from Ghostty. The release establishes ABI compatibility commitments and adds distribution-focused packaging support; Hashimoto says the library is already used by products including JetBrains IDEs and Turborepo.
Libghostty-vt, the portable C terminal-emulation library developed from Ghostty’s core, has reached version 1.0, project creator Mitchell Hashimoto announced. The release sets a stable application binary interface (ABI) and adds packaging support intended to let operating-system distributions and software developers depend on the library with greater confidence.
Hashimoto said the library’s C API is now a complete terminal emulator used in production across hundreds of products, including free and commercial software. He cited a JetBrains report putting the number of active users of its IDEs at more than 12.5 million; the report describes the terminal in JetBrains IDEs as running on libghostty. That user figure is attributed to JetBrains and does not establish how many people use the library through other products.
The release applies semantic versioning and promises ABI compatibility, allowing applications to link against the library while maintainers evolve it. Hashimoto described design measures intended to support that policy, including opaque object handles, version-tolerant data structures and continuous ABI checks. On ELF systems, he said, exported symbols are versioned so a dynamic loader can reject a mismatched library.
Version 1.0 also includes signed source tarballs, a separate dependencies tarball for offline builds, headers, shared and static libraries, pkg-config files and a CMake package configuration. The library is MIT licensed, Hashimoto said, and requires only libc at runtime, with an option to build without it. Its dependency tree includes permissively licensed components, with licensing and version information provided in a machine-readable manifest.
The release gives software makers a versioned C library they can package and link to instead of implementing terminal emulation independently. Terminal behavior affects developer tools such as IDEs, shells and text-based interfaces; a shared implementation can let projects reuse the same engine while fixing bugs in one place. That is a potential benefit, not a guarantee that all products using the library will behave identically.
For operating-system distributors, the ABI policy and build materials address practical barriers to shipping a library as a system dependency. Offline build support, documented installation conventions and dependency-license metadata can make packaging and review easier. The 1.0 label signals that the project is making compatibility commitments, not that the software is bug-free or that every future change will be compatible without limits.
The reported adoption suggests the project has grown beyond Ghostty itself. Hashimoto lists uses in JetBrains IDEs, Vercel’s Turborepo, devenv and OrbStack, as well as community projects and language bindings. Each example reflects a different integration, so the breadth of use does not by itself establish a common release schedule or identical feature set.
Products Worth Considering

Logitech MX Mechanical Wireless Illuminated Keyboard, Tactile Quiet, Graphite

Apple MacBook Air 13-inch Laptop with M5 Chip, 16GB Memory, 512GB SSD, Liquid Retina Display, and Touch ID – Midnight

Jackery Explorer 300 Portable Power Station, 292Wh
As an affiliate, we earn on qualifying purchases.
From Ghostty Core to Library
Ghostty began in 2022 as a terminal application project. In an earlier post, Hashimoto described libghostty as an effort to make the terminal-emulation core available to other software. At that point, he wrote, the Zig module had been merged, but there was no C API and Ghostty was the only consumer.
Since then, the project has developed a C interface and attracted outside users. Hashimoto says Neovim has an approved pull request to replace libvterm with libghostty-vt, but maintainers were waiting for a tagged release so distributions could package the dependency separately. He also says KDE developers are experimenting with a Konsole replacement. Those examples are at different stages: an approved pull request and an experiment are not the same as a shipped product.
The 1.0 release is separate from Ghostty’s application release cycle. Its standalone tarballs contain the files and dependencies needed for the library, according to Hashimoto, and the packaging documentation is included with them. This separation lets distributors and downstream projects handle the library independently of the terminal application.
“The 1.0 release means both the library itself and the C ABI are now stable.”
— Mitchell Hashimoto, Ghostty creator
Adoption and Compatibility Limits
The source report does not provide an independently verified count of products, deployments or end users, and it does not detail how Hashimoto measured the claim that libghostty is used across hundreds of products. The 12.5 million active-user figure is attributed to JetBrains and refers to its IDE users, not a count of people confirmed to use libghostty directly.
It is also unclear which downstream projects will ship versions based on 1.0, or when. Neovim’s proposed change still depends on maintainer action, while KDE’s work is described as an experiment. The announcement does not give a detailed support period, a schedule for future releases or a list of platform-specific ABI guarantees beyond the checks it describes.
Hashimoto says the ABI is stable, but the source does not claim that every future feature will be available on every platform or that applications will never need changes. Downstream developers and distributors will need to review the release documentation and test the library in their own build and runtime environments.
Downstream Packaging and Releases
The immediate next step is for distributors and application maintainers to evaluate the 1.0 tarballs and packaging documentation, then make the library available through their standard build and distribution processes. The signed source archive and companion dependencies archive are designed to support those builds, including offline packaging.
Neovim maintainers can now assess the tagged release for the proposed dependency change, while other projects may decide whether to adopt or update their integrations. The library has its own release cycle, separate from Ghostty, so downstream users should follow libghostty-vt’s releases and compatibility notes rather than assume updates will coincide with changes to the application.
The announcement does not set dates for those downstream decisions. Adoption will become clearer as projects merge changes, distributions publish packages and maintainers report how the stable ABI works across supported systems.
Key Questions
What is libghostty-vt 1.0?
It is the first 1.0 release of libghostty-vt, a portable C library for terminal emulation extracted from Ghostty. The project says both the library and its C ABI are now stable.
What does the stable C ABI mean for developers?
An ABI defines how compiled programs interact with a library. The project’s compatibility policy is intended to let developers and distributors update or package libghostty-vt without breaking applications that link against it, subject to the policy and release documentation.
Which products are reported to use the library?
Hashimoto names the terminal in JetBrains IDEs, Vercel’s Turborepo, devenv, OrbStack and other projects. He also describes a proposed Neovim change and KDE experimentation; those are not described as completed, shipped integrations.
Is libghostty-vt only for Ghostty?
No. The project was extracted from Ghostty, but the 1.0 announcement describes it as a standalone library for other applications. It has its own release cycle and distribution-oriented build materials.
What license and runtime requirements does it have?
Hashimoto says libghostty-vt is MIT licensed and needs only libc at runtime. He also says it can be built freestanding, without libc, and that dependency and license details are supplied in a machine-readable manifest.
Source: mitchellh.com
