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 stable releases for the terminal-emulation library and its C ABI. He says the library is already used by JetBrains IDE terminals and other projects, while the release adds tools and documentation for distribution packaging.
Mitchell Hashimoto announced libghostty-vt 1.0, a release that makes the C library’s application binary interface (ABI) stable and sets formal compatibility expectations for programs and package maintainers. The library, extracted from the Ghostty terminal project, is already used in products including JetBrains IDE terminals, according to Hashimoto.
Hashimoto describes libghostty-vt as a portable, high-performance C library for terminal emulation. Version 1.0 applies semantic versioning and an enforced ABI policy, intended to let developers dynamically link the library and let operating-system distributions package it without unexpected compatibility breaks. The release is separate from the Ghostty application’s own version and release cycle.
The library’s C API has grown from an earlier Zig module into what Hashimoto calls a complete terminal emulator. He says it is now running in production for millions of people across hundreds of free and commercial products. His examples include the terminal built into JetBrains IDEs, Vercel’s Turborepo, devenv, OrbStack and Ghostel, along with experimental work on a Konsole replacement.
The 1.0 release also supplies source and dependency tarballs, build and installation support, documentation and licensing metadata. The build installs shared and static libraries, headers, pkg-config files and a CMake package configuration. Hashimoto says distributions can build from the release materials offline, and that the library is MIT-licensed with no runtime requirement beyond libc.
A Stable Base for Terminal Tools
A stable C ABI can reduce the maintenance burden for projects that want terminal emulation without maintaining a full emulator themselves. With compatibility rules in place, applications can depend on a separately packaged library rather than copying or tightly coupling to its source. That may make it easier for the library to be updated independently across software and operating-system distributions.
The reported adoption suggests the project’s reach is broader than Ghostty itself. Hashimoto says JetBrains IDE terminals now use libghostty and cites a JetBrains report of more than 12.5 million active users. That figure describes the reported user base of those IDE products; it is not a separately measured count of people who have used the library. Other named adopters and community bindings point to use in developer tools, terminal interfaces and language ecosystems.
For readers who maintain or use those tools, the practical change is not a new terminal application but a more stable foundation that developers can build against. Whether that results in broader adoption, fewer compatibility problems or improvements users can see will depend on individual projects and their releases.
Products Worth Considering

Logitech MX Mechanical Wireless Illuminated Keyboard, Tactile Quiet, Graphite

Jackery Explorer 1000 v2 Portable Power Station, 1070Wh, 1500W

LG UltraGear 32GX850A-B 32-inch 4K UHD OLED Gaming Monitor
As an affiliate, we earn on qualifying purchases.
From Ghostty Core to Library
Hashimoto says he first wrote about libghostty a little over a year before the 1.0 announcement. At that stage, its Zig module had been merged, but the C API did not exist and Ghostty was its only consumer. The new milestone reflects the expansion from that internal starting point to a separately released library with a public C interface.
One example in Hashimoto’s report is Neovim. He says an approved pull request would replace libvterm with libghostty-vt, including a fix for a long-standing scrollback reflow issue when resizing. Neovim maintainers were waiting for a tagged release so distributions could package the dependency separately. The 1.0 release provides that tag, but the source does not say the change has since been merged.
Hashimoto also describes implementation choices intended to support compatibility: opaque handles, enum-keyed accessors, size-aware structures and reserved padding. Continuous integration checks changes against ABI baselines on Linux, macOS and WebAssembly; he says exported symbols are versioned on ELF platforms. Those are project-reported design and testing details, not an independent assessment of ABI performance.
““The C API is a complete terminal emulator.””
— Mitchell Hashimoto, Ghostty creator
Adoption and Compatibility in Practice
The adoption figures and examples in the source come from Hashimoto’s report. It does not provide a consolidated, independently verified count of applications, deployments or active users of the library. The cited figure of more than 12.5 million refers to JetBrains IDE users, according to a JetBrains report cited by Hashimoto, not necessarily to unique users who have opened the terminal feature.
It is also not clear which projects will ship versions based on 1.0, when Neovim’s proposed replacement will be merged, or how widely the new packaging materials will be adopted by distributions. ABI guarantees set expectations for compatible releases, but the source does not describe long-term performance comparisons or report independent testing of the policy.
Packagers and Projects Take Up 1.0
The next steps depend on downstream maintainers: distributions can assess the source and dependency tarballs for packaging, while application developers can test the stable C API and select a version appropriate for their products. The release’s separate cycle means libghostty-vt can receive updates independently of Ghostty, subject to the project’s stated compatibility policy.
For Neovim, the tagged release removes the packaging prerequisite Hashimoto identified, but maintainers still control whether and when the proposed change is merged. The source does not announce a schedule for that decision or for other downstream adoption. Future project releases and packaging work will show how the stated ABI commitments operate in practice.
Key Questions
What is libghostty-vt 1.0?
It is the 1.0 release of Ghostty’s portable C terminal-emulation library. The milestone establishes stable versioning and ABI commitments for the library’s C interface.
What does a stable ABI mean for developers?
An ABI defines how compiled programs interact with a library. Hashimoto says libghostty-vt 1.0 uses strict compatibility promises so developers can dynamically link against it and packagers can distribute it with clearer expectations about compatibility.
Which products are reported to use the library?
Hashimoto names JetBrains IDE terminals, Turborepo, devenv, OrbStack and Ghostel, among other projects. He also describes experimental work on a Konsole replacement. The source does not independently verify every listed use.
Does the 1.0 release mean Neovim has switched?
No. Hashimoto says an approved pull request proposes replacing libvterm with libghostty-vt and that maintainers were waiting for a tagged release. The source does not confirm that the change has been merged.
What licensing and runtime requirements does the library have?
Hashimoto says libghostty-vt is MIT-licensed and needs only libc at runtime. He also says it can be built freestanding and that its dependencies are permissively licensed.
Source: mitchellh.com
