CLI tool
ghostty-org/ghostty avatar
ghostty-org/ghostty

Ghostty: A Terminal Emulator That Refuses the Speed Versus Features Trade-Off

Ghostty is a fast, feature-rich, and cross-platform terminal emulator that uses platform-native UI and GPU acceleration.

61,091 stars3,442 forksZigMIT

At a glance

What is it?
Ghostty is a cross-platform terminal emulator written in Zig that pairs GPU-accelerated rendering with a feature-rich, native UI. Its core claim is that you no longer have to choose between speed, features, and platform integration, and it backs that up with a library for embedding terminals.
Who is it for?
Ghostty is for developers and power users who want a fast terminal that also feels native on macOS or Linux and who value modern terminal features like the Kitty graphics protocol. It is not for you if you need Windows support today (the README lists Windows only for the libghostty-vt library) or if you require a stable, non-nightly release, since the only release listed is a nightly 'tip' from 2022.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly Zig, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 14, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The Problem: Terminals Force a Choice Between Speed, Features, and Native Feel

Most terminal emulators make you pick two of three things. Fast ones like Alacritty are lean but lack rich features. Feature-rich ones like iTerm2 can feel slower. Ghostty's core argument is that this trade-off is unnecessary. It positions itself as fast, feature-rich, and native, with a shared core in Zig and platform-specific front ends. The target user is someone who spends all day in a terminal and wants both performance and modern conveniences like tabs, splits, and image protocols, without sacrificing the look and behavior of their operating system.

How Ghostty Achieves Speed: Threads, SIMD, and GPU Rendering

Ghostty's performance comes from a multi-threaded architecture. According to the README, each terminal has a dedicated read thread, write thread, and render thread. The read thread uses a heavily optimized parser that leverages CPU-specific SIMD instructions. Rendering uses OpenGL on Linux and Metal on macOS. This is not a single-threaded event loop with a canvas; it is a pipeline designed to keep input, output, and drawing from blocking each other. The README claims Ghostty and Alacritty are usually within a few percentage points on benchmarks, and both are roughly 100x faster than Terminal.app and iTerm. That is a bold claim, and the documentation does not provide the benchmark methodology, so treat it as a directional statement rather than a verified number.

Native UI as a Feature, Not an Afterthought

Ghostty does not aim for a least-common-denominator interface. The macOS app is a true SwiftUI application with menu bars, a settings GUI, and support for AppleScript and Apple Shortcuts. The Linux app is built with GTK and integrates with systemd for features like always-on and single-instance windows with cgroup isolation. This is a deliberate design choice: the shared Zig core handles terminal logic, while each platform gets its own native shell. The result is that Ghostty feels like it belongs on each OS, but it also means the two platforms can diverge in maturity. The README implies the macOS experience is more complete, and the Linux version may lag in settings GUI polish.

Getting Ghostty: Downloads, Nightly Builds, and the Library Path

There is no single command to install Ghostty in the README. The download page at ghostty.org/download is the official route. The only release listed in the repository metadata is a nightly 'tip' from November 2022, which signals that this is a project in active development rather than a stable release. For developers who want to embed a terminal, Ghostty offers libghostty, a C and Zig library. The README points to libghostty-vt as the first component, usable today for Zig and C on macOS, Linux, Windows, and WebAssembly. The example directory and the Ghostling project are the recommended starting points for integration. If you want to build from source, the HACKING.md file is the place to look, but the README does not list the exact build commands, so you will have to consult that document.

Where Ghostty Falls Short: Windows, Stability, and the Unfinished Roadmap

Ghostty has real limitations. First, Windows is not supported for the standalone app; the README only claims Windows compatibility for libghostty-vt, not for the full terminal emulator. Second, the project is not in a stable release state. The only release is a nightly build, which means you are signing up for frequent changes and potential breakage. Third, the roadmap shows that Ghostty-only terminal control sequences are still marked as not done. That is a feature, not a bug, but it means Ghostty does not yet have its own unique escape sequences. If you need a terminal that has been battle-tested for years in production, or if you rely on Windows for your daily work, Ghostty is the wrong tool today.

The Alternative: Alacritty and the Feature Trade-Off

The README itself names Alacritty as the closest performance competitor. Alacritty is a GPU-accelerated terminal written in Rust, and it is famous for being minimal and fast. The key difference is philosophy: Alacritty intentionally omits many features like tabs and splits, relying on external multiplexers such as tmux. Ghostty, by contrast, includes multi-window, tabbing, and splits directly in the app. So if you value a lean, hackable terminal that you pair with your own window manager, Alacritty is a solid choice. If you want those features built in and a native UI, Ghostty is designed to fill that gap. The trade-off is that Alacritty is stable and widely deployed, while Ghostty is still in nightly territory.

Maintenance and License: MIT, Zig, and a Young Codebase

Ghostty is licensed under the MIT License, which is permissive and allows commercial use with attribution. The project is written in Zig, a language that is evolving quickly, so upgrading Ghostty may require tracking Zig compiler changes. The README does not provide a changelog or upgrade guide, so you will need to follow the repository's commit history. The last push in the provided metadata is from November 2022, but that is the date of the tip release, not necessarily the last commit to main. The roadmap lists several completed steps, which suggests active progress, but the lack of a stable release means you should expect to rebuild often. Before adopting Ghostty, check the HACKING.md file for build dependencies and the current state of the project on the website.

Editorial conclusion

Ghostty is for developers and power users who want a fast terminal that also feels native on macOS or Linux and who value modern terminal features like the Kitty graphics protocol. It is not for you if you need Windows support today (the README lists Windows only for the libghostty-vt library) or if you require a stable, non-nightly release, since the only release listed is a nightly 'tip' from 2022. Before adopting it, verify the current state of the roadmap, especially the unfinished Ghostty-only terminal control sequences, and check whether the Linux GTK build has caught up to the macOS SwiftUI experience in terms of settings GUI and systemd integration.

Official sources

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Community notes

Community notes