Ghostty作者がlibghostty-vt 1.0を告知 ライブラリとC ABIが安定版に

Ghostty作者がlibghostty-vt 1.0を告知 ライブラリとC ABIが安定版に ITニュース

ターミナルエミュレーター Ghostty の作者 Mitchell Hashimoto 氏が、2026年11月6日にブログで、Ghostty の中核から切り出した C ライブラリ「libghostty-vt」の 1.0 を告知しました。ターミナル表示を自分のアプリに組み込む開発者と、OS・ディストリビューションでパッケージを作る人に関係する話で、JetBrains IDE の内蔵ターミナル(2026.3 から)も libghostty で動くと JetBrains が発表しているので、その利用者にも関わります。

結論から言うと、1.0 で、ライブラリ本体と C ABI の両方が安定(stable)になった、と作者は書いています。 1.0 からはセマンティックバージョニングに従い、厳格な ABI 互換を約束するとしています。目的は、配布する側が安心してパッケージ化でき、開発者が安心して動的リンクできるようにすること、と説明されています。

出典は、作者のブログ Libghostty 1.0(Mitchell Hashimoto 氏、英語)、公式リポジトリのタグ vt-1.0.0(GitHub、英語)、公式ドキュメントの libghostty-vt(英語) と Stability のページ(英語) です。タグ vt-1.0.0 は、2026-11-06 22:55 UTC(日本時間 11月7日 7:55)に Mitchell Hashimoto 氏の名で作られています。

Ghostty の中核ライブラリ libghostty-vt とは

libghostty は、Ghostty の中核から直接切り出した、移植性が高く高性能なターミナルエミュレーション用の C ライブラリ(portable, high-performance C library for terminal emulation)です。

公式ドキュメントは、libghostty-vt で作れるものとして、次のようなものを挙げています。

  • ターミナルエミュレーター・マルチプレクサ
  • Web ターミナルとリモートセッション
  • セッションの録画と再生
  • TUI アプリのテスト
  • TUI の表示を読むエージェントや自動化

利用状況は追跡していないものの、推定で(by our best estimates)毎日数千万人が使っている、と公式ドキュメントは書いています。

Ghostty の libghostty-vt 1.0 で何が約束されたか

公式ドキュメントの Stability のページによると、ある 1.x でビルドしたプログラムは、以降のすべての 1.x で動き続ける、とされています。決まりは次のとおりです。

項目 内容
マイナーリリースで足せるもの 新しい関数・新しい型・新しい enum 値・サイズ付き構造体の末尾への新しいフィールドの 4 種類だけ
しないこと 削除・サイズ変更・並べ替え・型変更
動作を変えるとき 新しい名前の関数として出し、古い関数は次のメジャーバージョンまで GHOSTTY_DEPRECATED を付ける
約束の対象外 スナップショットのバイト形式(どのリリースでも変わりうる。may change in any release)

お弁当箱でいえば、仕切りの位置と大きさは変えず、おかずを足すときは端の空きにだけ入れる、という約束です。前の弁当箱に合わせて作ったプログラムが、そのまま使い続けられるようにする考え方ですね。

注意したいのは、スナップショットのバイト形式が約束の外にあることです。保存したスナップショットを別の版で読み込むような使い方をするなら、版ごとに変わりうる前提で作っておきたいところです。

この方針は、CI で強制していると作者は書いています。Linux では libabigail で記録済みの基準と比べ、macOS と WebAssembly では型の一覧(golden type manifests)と比べる、という仕組みです。

Ghostty アプリとは別に、配布しやすい形もそろえた

作者によると、1.0 では、主要な OS・ディストリビューションが標準の公式ツールでパッケージ化できるよう、ビルドの仕組み・tarball・依存ライセンスの一覧・ドキュメントなども用意しました。

  • libghostty は、Ghostty アプリとは別のリリースサイクルを持つ
  • 各リリースで、署名付きのソース tarball と、依存の Zig パッケージをまとめた tarball を出す
  • 配布する側が、完全にオフラインでビルドできる

ライセンスは MIT です。実行時に必要なのは libc だけで、libc なし(freestanding)でもビルドできます。依存ツリーにコピーレフトのコードは無い、と作者は書いています。

Ghostty 由来のライブラリが CI で試されている環境

作者のブログでは、CI でビルドとテスト(単体テストと全サンプルの実行)をしている環境として、次の 7 種類が挙がっています。

OS など アーキテクチャ
Linux(glibc・musl) x86_64 / aarch64
macOS 13+ x86_64 / aarch64
iOS 13+ aarch64
FreeBSD x86_64 / aarch64
Windows x86_64
Android aarch64 / x86_64 / arm
WebAssembly wasm32(freestanding)

Windows arm64 などは、ビルドだけでテストは設定されていません。

Windows 向けには、DLL(.pdb 付き)・インポートライブラリ・静的ライブラリが出ます。ビルドは GNU ABI ですが、MSVC のプログラムからもインポートライブラリでリンクでき、CI で確かめている、とのことです。

作者は、4 コア・8GB の Linux サーバーで、シェルが出力し続ける 1 万個のターミナルを動かしたと書いています。bash は libghostty-vt よりはるかに多くメモリを使って 8GB に収まらず、dash を使ったそうです。

JetBrains IDE など、Ghostty の部品の採用例

作者は採用例として、次のものを挙げています。

  • JetBrains IDE のターミナル(JetBrains の報告で 1,250 万人超の継続利用者、と作者が説明)
  • Neovim の承認済みプルリクエスト(libvterm を置き換える。タグ付きリリースを待ってからマージする方針)
  • KDE の開発者による、Konsole の代わりを作る実験
  • Vercel Turborepo、OrbStack など

ほかにも、awesome-libghostty の一覧は 100 件を大きく超える、と書いています。

JetBrains は 2026年10月に、JetBrains の公式ブログ(英語)で、2026.3 から IDE の内蔵ターミナルが libghostty で動くと発表しています。長年使ってきた JediTerm を置き換えるもので、2026.3 の EAP ビルドの作り直したターミナルで既定で有効になり、Beta・RC・安定版でも有効のままにする、としています。2026.3 の安定版の提供時期は、JetBrains のこの発表には書かれていません。

同じ記事で JetBrains は、Kitty keyboard protocol に対応したことで、ターミナルのアプリが Enter・Shift+Enter・Ctrl+Enter を区別でき、キーを離した・押し続けたイベントも受け取れると説明しています。例として、Claude Code・Codex・Pi などの CLI の AI エージェントや、fish シェルが挙がっています。

Ghostty のライブラリで、誰が何をしておきたいか

立場 やっておきたいこと
JetBrains IDE の利用者 2026.3 の内蔵ターミナルは libghostty が既定。問題があれば、Find Action から Registry を開き、terminal.use.ghostty.emulator をオフにすると JediTerm に戻せる
ターミナル表示を組み込みたい開発者 lib.ghostty.org の Installing と Your First Terminal から始める。作者は、約 1,500 行の C でターミナルを作れる例(ghostling)も示している
動的リンクで使う開発者 1.x の間は ABI 互換が約束されている。ただしスナップショットのバイト形式は対象外なので、版をまたいで使うなら注意する

JetBrains の切り替えは、新しい定食が口に合わなければ、いつもの定食に戻せる仕組みが残っている、ということです。

作者は今後について、libghostty-vt は汎用ライブラリなので安定性を重視しつつ、存在するターミナルのプロトコルをできるだけ実装していく(有効・無効は選べる)としています。

まとめ

  • 2026年11月6日、Ghostty の作者が、中核から切り出した C ライブラリ libghostty-vt の 1.0 を告知した。ライブラリ本体と C ABI の両方が安定になった、と作者は書いている
  • 公式ドキュメントでは、ある 1.x でビルドしたプログラムは以降のすべての 1.x で動き続けるとし、マイナーリリースで足せるのは 4 種類だけ。スナップショットのバイト形式は対象外
  • 署名付きのソース tarball などで、配布する側が完全にオフラインでビルドできる。ライセンスは MIT
  • JetBrains は 2026年10月に、2026.3 から IDE の内蔵ターミナルが libghostty で動くと発表している

使う側は、1.x の互換の約束と、その対象外(スナップショットのバイト形式)をセットで押さえておきたいですね。

2026年11月9日時点の情報です。ほかの IT の話題は、技術ネタカテゴリーからどうぞ。

ITもごはんも、腹八分目が長続きのコツ!

コメント