DeBlasis.GhosttyVt
1.3.2-ci.202606240454.4789bbdb
dotnet add package DeBlasis.GhosttyVt --version 1.3.2-ci.202606240454.4789bbdb
NuGet\Install-Package DeBlasis.GhosttyVt -Version 1.3.2-ci.202606240454.4789bbdb
<PackageReference Include="DeBlasis.GhosttyVt" Version="1.3.2-ci.202606240454.4789bbdb" />
<PackageVersion Include="DeBlasis.GhosttyVt" Version="1.3.2-ci.202606240454.4789bbdb" />
<PackageReference Include="DeBlasis.GhosttyVt" />
paket add DeBlasis.GhosttyVt --version 1.3.2-ci.202606240454.4789bbdb
#r "nuget: DeBlasis.GhosttyVt, 1.3.2-ci.202606240454.4789bbdb"
#:package DeBlasis.GhosttyVt@1.3.2-ci.202606240454.4789bbdb
#addin nuget:?package=DeBlasis.GhosttyVt&version=1.3.2-ci.202606240454.4789bbdb&prerelease
#tool nuget:?package=DeBlasis.GhosttyVt&version=1.3.2-ci.202606240454.4789bbdb&prerelease
DeBlasis.GhosttyVt
Unofficial .NET bindings for libghostty-vt — the standalone virtual terminal parser extracted from the Ghostty terminal emulator.
Use this package to parse VT escape sequences, inspect the terminal grid, encode keyboard/mouse input, and embed a terminal engine in any .NET application — without pulling in the full Ghostty GUI.
This is a community port. It is not affiliated with, endorsed by, or maintained by the Ghostty project or Mitchell Hashimoto.
Install
dotnet add package DeBlasis.GhosttyVt
Native runtimes for win-x64, linux-x64, and osx-arm64 are bundled — no extra setup.
Quick example
using Ghostty.Vt;
// Create an 80x24 terminal
using var terminal = new Terminal(80, 24);
// Feed it VT sequences (e.g. output captured from a PTY)
terminal.VTWrite("\x1b[31mHello, \x1b[1mWorld!\x1b[0m");
// Inspect the rendered grid
using var renderState = new RenderState();
terminal.UpdateRenderState(renderState);
foreach (var row in renderState.Rows)
{
foreach (var cell in row.Cells)
{
// cell.Codepoint, cell.Style, cell.Foreground, cell.Background, ...
}
}
What's in the box
| Type | Purpose |
|---|---|
Ghostty.Vt.Terminal |
Create terminals, write VT sequences, read state |
Ghostty.Vt.RenderState |
Inspect the screen grid — rows, cells, colors, cursor |
Ghostty.Vt.KeyEncoder |
Encode keyboard events into VT escape sequences |
Ghostty.Vt.MouseEncoder |
Encode mouse events into VT sequences |
Ghostty.Vt.OscParser |
Parse OSC (Operating System Command) sequences |
Ghostty.Vt.SgrParser |
Parse SGR (Select Graphic Rendition) attributes |
Ghostty.Vt.Formatter |
Format grid content as plain text, HTML, or VT |
Ghostty.Vt.KittyGraphics |
Query Kitty image-protocol placements |
Ghostty.Vt.GridRef |
Reference and compare grid positions |
Ghostty.Vt.Focus |
Focus reporting |
Ghostty.Vt.Paste |
Bracketed paste encoding |
Supported platforms
| Platform | Runtime ID | Native library |
|---|---|---|
| Windows x64 | win-x64 |
ghostty-vt.dll |
| Linux x64 (glibc 2.31+) | linux-x64 |
libghostty-vt.so |
| macOS ARM64 | osx-arm64 |
libghostty-vt.dylib |
Target framework: net9.0. AOT-compatible. P/Invoke via LibraryImport (source-generated).
Versioning
Package versions track the upstream Ghostty version they were built against. Pre-release builds (*-ci.{timestamp}.{sha}) are produced by a daily sync workflow that rebuilds against the latest ghostty-org/ghostty@main.
The ghostty-upstream.json file in the repository pins the exact upstream commit each release was cut from.
Links
- Source & issues: https://github.com/deblasis/libghostty-vt-dotnet
- Examples:
examples/in the repo — Formatter, Render, Effects, Benchmark, and more - Upstream Ghostty: https://github.com/ghostty-org/ghostty
License
MIT — see LICENSE. Ghostty itself is also MIT-licensed.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net9.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.3.2-ci.202606240454.4789bbdb | 43 | 6/24/2026 |
| 1.3.2-ci.202606230451.65744ffe | 50 | 6/23/2026 |
| 1.3.2-ci.202606210513.4749c4e9 | 62 | 6/21/2026 |
| 1.3.2-ci.202606200458.5d0a82ba | 52 | 6/20/2026 |
| 1.3.2-ci.202606190516.49a91815 | 56 | 6/19/2026 |
| 1.3.2-ci.202606180507.adce7b90 | 59 | 6/18/2026 |
| 1.3.2-ci.202606170513.e8e7fea1 | 50 | 6/17/2026 |
| 1.3.2-ci.202606150516.fdbf9ff3 | 56 | 6/15/2026 |
| 1.3.2-ci.202606110505.5659cef4 | 53 | 6/11/2026 |
| 1.3.2-ci.202606090454.69095e29 | 52 | 6/9/2026 |
| 1.3.2-ci.202606080506.2ba5e6b9 | 52 | 6/8/2026 |
| 1.3.2-ci.202606070504.7092b394 | 51 | 6/7/2026 |
| 1.3.2-ci.202606060449.f146db55 | 58 | 6/6/2026 |
| 1.3.2-ci.202606050500.42fcd58d | 61 | 6/5/2026 |
| 1.3.2-ci.202606040509.bfe633a9 | 56 | 6/4/2026 |
| 1.3.2-ci.202606030512.629838b9 | 54 | 6/3/2026 |
| 1.3.2-ci.202606020507.5758e149 | 51 | 6/2/2026 |
| 1.3.2-ci.202606010512.16f2fdc9 | 54 | 6/1/2026 |
| 1.3.2-ci.202605300447.2c62d182 | 59 | 5/30/2026 |
| 1.3.2-ci.202605290459.cb36966a | 75 | 5/29/2026 |