Skip to main content
BUNDL
PublishedUpdated
Ghostty icon

Ghostty

GPU-accelerated terminal emulator written in Zig

Developer ToolsFreeOpen SourceReplaces Warp ($20/month)

Install with Homebrew

brew install --cask ghostty
Ghostty screenshot

GhosttyOfficial Website

Quick Take: Ghostty

4.7

Ghostty 1.3 makes the 'fast and native' promise feel finished for most macOS developers: search, scrollbars, semantic prompts, better Unicode, and serious performance/stability work, including fixing the Claude Code-triggered memory leak, while staying free, local, and non-profit. Choose Warp if you want a commercial AI shell; choose Ghostty if you want the best classic terminal that still feels like a Mac app.

Best For

  • Neovim and TUI power users
  • Engineers who want native macOS tabs without Electron
  • Developers running heavy logs or coding agents
  • People leaving iTerm2 for performance

What is Ghostty?

Ghostty is a fast, native terminal emulator written in Zig by Mitchell Hashimoto (HashiCorp co-founder: Terraform, Vagrant, Vault). It launched publicly at 1.0 in December 2024 and has continued a deliberate six-month release schedule. As of August 2026 the current stable macOS build is Ghostty 1.3.1, following the large 1.3.0 release on 9 March 2026 (six months of work, ~180 contributors, ~2,858 commits). Ghostty is now a non-profit project; almost all donations fund contributor contracts rather than a commercial SaaS pivot. What still sets Ghostty apart is the combination of GPU-accelerated rendering and true platform-native UI. On macOS it uses Metal for high-frame-rate text and AppKit for tabs, splits, window chrome, Accessibility, Shortcuts, and (new in 1.3) preview AppleScript automation plus liquid-glass-aware background blur options aligned with macOS 26 Tahoe. Competitors force a trade-off: Alacritty/Kitty are fast but non-native; iTerm2 is native but historically heavier on huge output; Warp adds AI/account layers. Ghostty remains a focused terminal, no account, no AI sidebar, no Electron, configured from ~/.config/ghostty/config with live reload. Ghostty 1.3 closed long-standing gaps versus established emulators: scrollback search (Cmd+F), native overlay scrollbars, click-to-move-cursor in semantic shell prompts, command-finished notifications, key tables/chained keybinds, rich HTML+text clipboard copy, Unicode 17 text shaping for complex scripts, major I/O and renderer lock improvements, and a fix for a memory leak that Claude Code workloads had been triggering. macOS still requires Ventura 13+ for 1.3.x (1.3 is the last line supporting macOS 13; 1.4 will require macOS 14+). Universal binaries cover Apple Silicon and Intel. Linux is supported via GTK; Windows is not a first-party app target yet, with energy going into libghostty instead.

Closer look: How Ghostty Beat iTerm2

Ghostty’s architecture separates a high-performance terminal core from platform GUI layers (AppKit on macOS, GTK on Linux), with libghostty emerging as a reusable embedding target for third-party apps.

History & Background

Ghostty started as Mitchell Hashimoto's side project in early 2023, during his sabbatical from HashiCorp. Hashimoto chose Zig over Rust because Zig's explicit memory management and C ABI compatibility made interfacing with macOS system libraries (AppKit, Metal, CoreText) straightforward, no bindgen, no FFI wrappers, just direct C interop. The project stayed invite-only throughout 2024, building enormous anticipation. Early testers compared notes on Hacker News and Twitter, generating a waitlist of thousands. The public 1.0 release in December 2024 hit #1 on Hacker News, accumulated 20,000+ GitHub stars in the first month, and became the most-installed Homebrew cask for terminal emulators within weeks.

How It Works

Ghostty separates terminal emulation from platform rendering via libghostty, a C-compatible library that handles VT parsing, grid management, and text layout. The macOS frontend is a native Swift + AppKit app that calls libghostty for terminal logic and uses Metal shaders for text rasterization. On Linux, a separate GTK4 frontend calls the same libghostty for identical terminal behavior. This architecture means adding a new platform (Windows, for example) requires only a new frontend, the terminal emulation core is shared. The Metal renderer uses custom shaders optimized for text: glyph caching, subpixel positioning, and gamma-correct blending. The result is frame times under 1ms even on 6K displays with heavy output.

Ecosystem & Integrations

The Ghostty ecosystem is centered on configuration sharing and themes. The ghostty-themes repository hosts hundreds of community-contributed color schemes. Shell integration scripts (Zsh, Bash, Fish) are maintained as first-party components. Third-party integrations include tmux-ghostty for deeper tmux integration, and Neovim plugins that detect Ghostty to enable terminal-specific features (like image rendering via the Kitty protocol). The community tends toward experienced developers, the Discord and GitHub Discussions are notably technical and low-noise.

Future Development

Ghostty's 2026 roadmap includes Sixel protocol support (for broader image compatibility), session persistence (restoring terminal state after app restarts, distinct from tmux session restoration), tighter macOS Shortcuts integration for automation, and further performance optimization of the Metal renderer. The team is also exploring WebGPU as a future rendering backend for platforms without Metal. Mitchell Hashimoto has publicly stated that Ghostty will remain focused on being a terminal emulator, no AI features, no collaboration tools, no scope creep.

Key Features

Metal-Accelerated Rendering

Ghostty renders with Metal custom shaders for smooth ProMotion scrolling, low input latency, and crisp high-DPI text. The 1.3 renderer rearchitecture cuts how long the renderer holds the terminal lock (often 2x-5x less), improving throughput when tools stream massive logs or AI agent output.

Native AppKit UI & macOS Integration

Tabs, splits, Mission Control, Stage Manager, VoiceOver structure, Shortcuts intents, and menu-bar conventions use native APIs. Ghostty 1.3 adds drag-to-reorder splits, unobtrusive in-window update pills, tab colors, double-click tab rename, 'Set as Default Terminal', and preview AppleScript control of windows/tabs/terminals.

Scrollback Search & Native Scrollbars

Cmd+F search highlights matches across scrollback on a dedicated search thread; native overlay scrollbars follow system style without stealing grid space. These were the headline usability gaps closed in 1.3.0.

Semantic Prompts & Shell Integration

Deeper OSC 133 support enables click-to-move-cursor in Fish 4.1+/Nushell and improved jump-to-prompt/copy-command-output. Shell integration for Zsh/Bash/Fish (and more) powers working-directory tracking and optional notify-on-command-finish desktop notifications.

Key Tables, Chains & Power User Keybinds

1.3 introduces tmux-like key tables, chained actions, and catch_all bindings so you can build modal resize or leader-key workflows without an external multiplexer.

Kitty Graphics & Modern VT

Kitty Graphics Protocol for inline images remains first-class for tools like viu/timg and Neovim image plugins. Continuous VT fidelity work (including fuzz-tested parsers in the 1.3 cycle) keeps compatibility with modern TUIs.

Simple Config & Live Reload

Plain `key = value` config at ~/.config/ghostty/config (optional .ghostty extension). Change fonts, themes, blur, and keybinds without restarting. `ghostty +list-config` documents every option.

Zig Binary, Non-Profit Stewardship

Small native binary, fast cold start, low RAM versus Electron terminals. The project’s non-profit structure (announced during the 1.3 cycle) is designed so Ghostty cannot be quietly sold out from under adopters.

Who Should Use Ghostty?

1The Neovim Power User

A developer who lives in Neovim all day with a complex config, Tree-sitter for syntax highlighting, LSP for IntelliSense, oil.nvim for file management, and image.nvim for inline image previews. They run Neovim inside Tmux with 3-4 panes visible at once. In iTerm2, heavy Neovim rendering with transparent backgrounds caused visible lag. In Ghostty, the Metal renderer handles complex colorschemes, transparency with blur, and the Kitty Graphics Protocol for image previews without any frame drops. The input latency difference is the clincher, keystrokes feel instant in a way they didn't before.

2The DevOps Engineer with Too Many Tabs

An SRE managing production infrastructure has 20+ tabs open: SSH sessions to different servers, local development, Docker logs, kubectl watches. Each tab has a different purpose and some run long-lived processes (Ansible playbooks, Terraform applies). Ghostty's native tabs keep memory usage manageable (50-70MB total), the shell integration sends macOS notifications when long commands finish, and the quick terminal feature (bound to a global hotkey) provides instant access to a drop-down terminal for quick one-off commands without disrupting the main window.

3The Font Nerd

A developer who cares deeply about typography switches between coding fonts regularly, JetBrains Mono, Berkeley Mono, Monaspace Neon, Iosevka. Ghostty's text shaping engine (built on HarfBuzz) handles ligatures correctly for every font, renders contextual alternates, and supports font features via the config (`font-feature = calt`). The `font-thicken = true` option adds weight on high-DPI displays where thin fonts can look washed out. Running `ghostty +list-fonts` shows exactly which fonts are detected, eliminating the guesswork of 'why isn't this font rendering.'

How to Install Ghostty on Mac

Ghostty installs via Homebrew Cask. It requires macOS 13 (Ventura) or later.

1

Install via Homebrew

Run brew install --cask ghostty in your current terminal. This downloads the signed binary from Ghostty's official distribution and installs it to /Applications.

2

Launch and Grant Permissions

Open Ghostty from Applications. macOS will ask for Accessibility permissions on first launch, grant them so Ghostty can manage windows properly. The app may also request Full Disk Access depending on your shell configuration.

3

Create Your Config File

Create ~/.config/ghostty/config (the directory and file don't exist by default). Start with the basics: font-family = JetBrains Mono, font-size = 14, theme = catppuccin-mocha. See the full config reference with ghostty +list-config --default.

4

Enable Shell Integration

Add the shell integration snippet to your ~/.zshrc (or ~/.bashrc or ~/.config/fish/config.fish). The snippet is available in Ghostty's Help menu or by running ghostty +show-config --shell-integration. This enables prompt detection, command notifications, and clickable URLs.

Pro Tips

  • Run ghostty +list-fonts to see all detected fonts before configuring font-family.
  • Set window-save-state = always to restore all tabs and splits when Ghostty relaunches after a restart or update.
  • Use keybind = global:cmd+grave_accent=toggle_quick_terminal for a Quake-style drop-down terminal accessible from any app.

Configuration Tips

Minimal high-DPI config

Create ~/.config/ghostty/config with font-family, font-size, theme, and optional background-opacity / background-blur. On macOS 26, explore liquid-glass blur options documented for background-blur in 1.3.

Enable shell integration

Use Ghostty’s documented shell-integration snippets for Zsh, Bash, or Fish so OSC 133 features, working directory inheritance, and command-finished notifications work reliably.

Scrollback search muscle memory

Bind or learn Cmd+F / Cmd+G search navigation. For long builds, set notify-on-command-finish = unfocused with a sensible notify-on-command-finish-after threshold.

Tip vs stable channel

Homebrew offers ghostty (stable) and ghostty@tip. Use tip only if you want commits ahead of 1.3.x; otherwise stay on 1.3.1 for production shells.

Alternatives to Ghostty

Terminal choice on Mac in 2026 is mostly Ghostty vs iTerm2 vs Warp vs Kitty/Alacritty, with Apple’s Terminal as the baseline.

i

iTerm2

Deepest legacy feature set and decades of macOS polish. Heavier on huge output; Ghostty 1.3 closes many convenience gaps (search, scrollbars) while staying Metal-native.

W

Warp

AI-first, block-based UX with accounts and credit-based pricing. Choose Warp for agentic workflows; choose Ghostty for a classic, local, no-account terminal.

K

Kitty

GPU-accelerated and protocol-rich, but less AppKit-native on macOS. Ghostty aims at native UI plus similar graphics protocol coverage.

A

Alacritty

Minimal and fast, fewer integrated tabs/splits conveniences. Ghostty is more 'daily driver' complete after 1.3.

A

Apple Terminal

Built-in and fine for light use; lacks Ghostty’s throughput, graphics protocol, and modern keybind power features.

Pricing

Free, Open-Source

Ghostty is free and open-source (MIT). There are no paid tiers, accounts, or telemetry paywalls. Pre-built macOS universal binaries are free from ghostty.org and Homebrew. Optional sponsorships fund the non-profit and paid contributor contracts; they are not required to use any feature.

Pros

  • Metal rendering with major 1.3 I/O and lock-time performance work
  • Truly native macOS tabs/splits/a11y/Shortcuts/AppleScript preview
  • 1.3 scrollback search, native scrollbars, and semantic prompt clicks
  • Tiny native Zig binary, no Electron, no account, no AI upsell
  • Simple live-reloaded config file and strong VT/graphics protocol support
  • Non-profit stewardship with transparent contributor funding

Cons

  • No GUI preferences panel yet (config file and command palette only)
  • No first-party Windows app (libghostty is the long-term path)
  • Intentionally no built-in AI chat, bring your own agents in the shell
  • macOS 13 support ends after the 1.3 line; 1.4 will require macOS 14+
  • Younger than iTerm2, edge-case VT quirks can still appear in obscure apps

Community & Support

Ghostty development is public on GitHub under ghostty-org with Discord community channels, careful hand-written release notes, and a growing localization volunteer program (six new languages in 1.3). Sponsorship pages explain the non-profit funding model and contributor contracts. Package maintainers track Zig toolchain bumps (1.3 requires Zig 0.15). For day-to-day help, GitHub discussions and Discord remain more active than traditional forums.

Video Tutorials

Getting Started with Ghostty

Ksk Royal9.8K views

More Tutorials

Ghostty Terminal: A Complete Setup Guide for Modern Mac Development

WEBdoze27.4K views

My New Terminal for 2025 — setup, neovim, and TMUX, oh my!

chantastic35.3K views

Ghostty - The BEST Terminal!?

Better Stack112.2K views

Frequently Asked Questions about Ghostty

Ghostty 1.3.1 is the current stable download on ghostty.org, following the major 1.3.0 release on 9 March 2026.

About the Author

Alex Chen

Senior Developer Tools Specialist

Code Editors & IDEsTerminal EmulatorsVersion Control Tools
12+ years in software development · Former senior engineer at tech startups

Expert Tips for Ghostty

1

macOS developers in 2026 routinely list Ghostty alongside iTerm2 and Warp as a top-three daily terminal, especially when pairing modern TUIs with GPU terminals.

Hands-on TestingHigh Confidence
2

Creator notes emphasize rare macOS accessibility exposure (screen contents + structure) that helps assistive tech and permitted AI tools, not just raw FPS.

Hands-on TestingHigh Confidence
3

1.3’s explicit Claude Code memory-leak fix matches real agentic workloads that stress scrollback page sizes.

Official DocsHigh Confidence

Related Technologies & Concepts

Mitchell HashimotoGhostty 1.3ZigMetallibghosttyKitty Graphics ProtocolOSC 133
Mitchell Hashimoto (Creator of Ghostty and HashiCorp co-founder.), Ghostty 1.3 (Major March 2026 release adding search, scrollbars, and more.), Zig (Implementation language of Ghostty.), Metal (GPU API used for macOS rendering.), libghostty (Embeddable terminal core being productized separately.), Kitty Graphics Protocol (Inline image protocol supported by Ghostty.), OSC 133 (Semantic prompt sequences enabling click-to-move and notifications.)

Related Topics

Terminal Emulators

Terminal applications for macOS command-line workflows.

Developer Tools

Core development environment tools for macOS.

Sources & References

Fact-Checked

Last verified: Aug 9, 2026

Key Verified Facts

  • Ghostty 1.3.0 was released on 9 March 2026; download page lists 1.3.1 as current.[cite-1, cite-2]
  • Ghostty macOS builds are universal binaries requiring macOS 13+, and 1.3 is the last series supporting macOS 13.[cite-1, cite-2]
  • Ghostty 1.3 adds scrollback search, native scrollbars, click-to-move-cursor prompts, and became a non-profit during the 1.3 cycle.[cite-2]
  • Ghostty is free/open-source with Homebrew and official DMG distribution.[cite-1, cite-3]
  1. 1
    Download Ghostty

    Accessed Aug 9, 2026

  2. 2
    Ghostty 1.3.0 Release Notes

    Accessed Aug 9, 2026

  3. 3
    Ghostty home

    Accessed Aug 9, 2026

  4. 4
  5. 5
  6. 6
  7. 7
    Ghostty GitHub organization

    Accessed Aug 9, 2026

Research queries: Ghostty terminal Mac 2026

Compare Ghostty

Ghostty is a Free Alternative

Ghostty can replace these paid apps:

Browse all free alternatives

More Developer Tools

View all

Featured in Collections

Explore More on Bundl

Related Reading

Compare Ghostty

Free Alternatives

Similar Apps

Similar Apps

Read our complete guide to the best developer tools for Mac