Vibeleaderboard
Index / app
Visit github.com
Category
Developer Tools
Rank
Type
APP
Interfaces
Desktop
Latest release
tip
Date

About

Ghostty is a fast, feature-rich, native terminal emulator that refuses to trade speed for features or a native UI. It ships as a GUI app and as libghostty, a cross-platform, embeddable terminal library.

What it does

Ghostty runs terminal programs, interprets legacy and modern control sequences, and maintains the screen state they produce. Its desktop applications add windows, tabs, and splits. Developers can also use its terminal engine to parse sequences, format terminal contents, manage styles, and build custom renderers.

Why it's ranked here

Ghostty makes a strong case through breadth backed by concrete architecture. It combines extensive terminal compatibility with dedicated read, write, and render threads, SIMD parsing, and platform-specific graphics. The same tested terminal engine is exposed to embedders, although that library interface remains unsettled.

What's good

The desktop experience respects each operating system instead of flattening both into one generic interface. macOS gets SwiftUI, Metal, CoreText, AppleScript, and Shortcuts integration. Linux gets GTK, OpenGL, and optional systemd integration. Both applications support multiple windows, tabs, splits, renaming, and coloring.

Tradeoffs

The embeddable library is usable, but its API signatures remain in flux, it has no tagged version, and its documentation is still improving. Windows and WebAssembly support apply to the library, not the described desktop application. Crash reports may contain sensitive stack memory and require an explicit upload.

How to use it well

Pick Ghostty for daily terminal work on macOS or Linux when native controls, strong protocol coverage, and organized multi-pane workflows matter. Use the library when building terminal-aware software in C or Zig. It does not provide a described Windows desktop terminal, and library adopters must tolerate API changes.

Technical notes+

The Makefile directs developers to zig build, while macos/Sources/App/main.swift initializes GhosttyKit, dispatches + CLI actions, and then enters the AppKit application lifecycle. The C surface is demonstrated extensively under example/: example/c-vt/src/main.c parses OSC commands, example/c-vt-sgr/src/main.c parses text attributes, example/c-vt-cmake/src/main.c maintains and formats terminal state, example/c-vt-render/src/main.c exposes dirty-state, cursor, selection, palette, and row iteration for custom rendering, and example/c-vt-snapshot/src/main.c demonstrates full and incremental terminal snapshots. example/c-vt-effects/src/main.c shows callbacks for PTY writes, bells, title changes, clipboard writes, and bounded capture of unknown sequences.

Observed

Languages
The shared core is written in Zig, the macOS application uses SwiftUI, and the public library supports C and Zig consumers.
Application platforms
Desktop applications are described for macOS and Linux, using SwiftUI and GTK respectively.
Library platforms
The terminal library supports macOS, Linux, Windows, and WebAssembly.
Interfaces
Ghostty provides a native GUI, CLI actions prefixed with a plus sign, and a C-compatible embeddable library.
Build surface
The repository directs developers to build with Zig.
Library dependency model
The embeddable C and Zig library is described as zero dependency.
Examples
The supplied repository text includes C examples for parsing, formatting, rendering, colors, paste safety, effects, modes, streams, and snapshots.
Crash reporting
Crash reports are stored locally, are not uploaded automatically, and use Sentry envelope format.

Read from README.md, Makefile, macos/Sources/App/main.swift, example/c-vt/src/main.c, example/c-vt-sgr/src/main.c, example/c-vt-cmake/src/main.c, example/c-vt-modes/src/main.c, example/c-vt-paste/src/main.c, example/c-vt-colors/src/main.c, example/c-vt-render/src/main.c, example/c-vt-static/src/main.c, example/c-vt-stream/src/main.c, example/c-vt-effects/src/main.c, example/c-vt-snapshot/src/main.c, example/c-vt-formatter/src/main.c.

What it can do

  • Execute terminal commands and programs

    Command line instructions and programs → Terminal output and program execution results

  • Manage multiple terminal sessions with tabs

    User tab creation and switching commands → Multiple organized terminal tab interfaces

  • Split terminal interface into multiple panes

    User pane split commands → Divided terminal workspace with multiple command areas

  • Open and manage multiple terminal windows

    User window creation requests → Separate terminal window instances

  • Parse and render terminal escape sequences and styles

    Raw terminal data with escape codes → Formatted and styled terminal display

  • Embed terminal functionality into other applications

    Application integration via libghostty library → Terminal capabilities within host applications

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.