Ghostty
GPU-accelerated terminal emulator written in Zig
Install with Homebrew
brew install --cask ghostty
Ghostty — Official Website
Quick Take: Ghostty
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.
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.
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.
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.
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-fontsto see all detected fonts before configuring font-family. - • Set
window-save-state = alwaysto restore all tabs and splits when Ghostty relaunches after a restart or update. - • Use
keybind = global:cmd+grave_accent=toggle_quick_terminalfor 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.
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.
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.
Kitty
GPU-accelerated and protocol-rich, but less AppKit-native on macOS. Ghostty aims at native UI plus similar graphics protocol coverage.
Alacritty
Minimal and fast, fewer integrated tabs/splits conveniences. Ghostty is more 'daily driver' complete after 1.3.
Apple Terminal
Built-in and fine for light use; lacks Ghostty’s throughput, graphics protocol, and modern keybind power features.
Pricing
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
More Tutorials
Ghostty Terminal: A Complete Setup Guide for Modern Mac Development
WEBdoze • 27.4K views
My New Terminal for 2025 — setup, neovim, and TMUX, oh my!
chantastic • 35.3K views
Ghostty - The BEST Terminal!?
Better Stack • 112.2K views
Frequently Asked Questions about Ghostty
About the Author
Expert Tips for Ghostty
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.
Creator notes emphasize rare macOS accessibility exposure (screen contents + structure) that helps assistive tech and permitted AI tools, not just raw FPS.
1.3’s explicit Claude Code memory-leak fix matches real agentic workloads that stress scrollback page sizes.
Related Technologies & Concepts
Related Topics
Sources & References
Fact-CheckedLast 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]
- 1Download Ghostty
Accessed Aug 9, 2026
- 2Ghostty 1.3.0 Release Notes
Accessed Aug 9, 2026
- 3Ghostty home
Accessed Aug 9, 2026
- 4Ghostty vs iTerm2 2026 comparison
Accessed Aug 9, 2026
- 5Mitchell Hashimoto on macOS accessibility for Ghostty
Accessed Aug 9, 2026
- 62026 Mac terminal setup with Ghostty
Accessed Aug 9, 2026
- 7Ghostty GitHub organization
Accessed Aug 9, 2026
Research queries: Ghostty terminal Mac 2026