AIThis post was created with the assistance of artificial intelligence (AI).

TL;DR

Buying for a business?Offer from Amazon

Get business pricing on monitors, keyboards and dev gear

  • Business-only prices and quantity discounts
  • Tax-exempt purchasing
  • Multiple users, one account, clear invoices
As an affiliate, we earn on qualifying purchases.

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.

At a glance
announcementWhen: Announced with the libghostty-vt 1.0 re…
The developmentGhostty’s extracted terminal-emulation library has reached 1.0, with a stable C ABI and release packaging intended for wider adoption.

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.

As an affiliate, we earn on qualifying purchases.

From Ghostty Core to Shared Library

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

You May Also Like

The Update Used The Claude Code Name—Here’s What Cursor Users Can Check

A tampered Claude Code extension was available in Cursor’s marketplace for about 11 hours. Cursor says up to 5,000 users may have received it.

What AI Readers Should Know About Anthropic’s Claude Verification Work

Anthropic and Theorem say Claude proved no-crash properties for 239 fuzz-test entry points, while finding bugs and exposing limits in the method.

What Should A Transformer Model Integration Contract Include?

A small UMT5 test fixture caught an attention regression in Transformers, prompting Hugging Face to propose reusable checks for pull requests.

Postgres 19 Is Late Because So Many More Bugs Are Being Found Now

A PostgreSQL developer says a surge in AI-assisted bug reports and back-branch fixes has contributed to PostgreSQL 19’s delayed release.