Ghostty — Fast Feature-Rich Cross-Platform Terminal Emulator
Ghostty is a fast, feature-rich, and cross-platform terminal emulator that uses platform-native UI and GPU acceleration. Written in Zig by Mitchell Hashimoto (co-founder of HashiCorp). Combines native OS feel with terminal power user features.
What it is
Ghostty is a cross-platform terminal emulator written in Zig by Mitchell Hashimoto, co-founder of HashiCorp. It uses platform-native UI elements (AppKit on macOS, GTK on Linux) combined with GPU-accelerated text rendering. Unlike Alacritty which strips features for speed, Ghostty aims to be both fast and feature-rich, with native tabs, splits, and OS integration.
Ghostty targets developers who want terminal rendering speed comparable to Alacritty but with built-in window management features and native OS integration.
How it saves time or tokens
Ghostty eliminates the need for tmux or a tiling window manager for basic multi-pane workflows. Native tabs and splits work with OS keyboard shortcuts. GPU rendering keeps output smooth during heavy builds or log tailing. The native UI means system features like notifications, clipboard, and font rendering work correctly without configuration.
How to use
- Install Ghostty:
brew install --cask ghostty # macOS
- Configure via the config file:
# ~/.config/ghostty/config
font-family = JetBrains Mono
font-size = 14
theme = catppuccin-mocha
window-padding-x = 8
window-padding-y = 8
cursor-style = bar
- Use built-in splits and tabs:
Cmd+D # Split right
Cmd+Shift+D # Split down
Cmd+T # New tab
Cmd+W # Close pane
Example
A complete Ghostty configuration:
# ~/.config/ghostty/config
font-family = Fira Code
font-size = 13
font-feature = calt
font-feature = liga
theme = tokyo-night
background-opacity = 0.95
window-padding-x = 10
window-padding-y = 10
window-decoration = true
cursor-style = bar
cursor-style-blink = true
shell-integration = zsh
confirm-close-surface = false
Related on TokRepo
- AI coding tools — developer tools and terminal utilities
- Featured workflows — curated developer resources
Common pitfalls
- Ghostty is relatively new and may have fewer themes and plugins than established terminals like iTerm2 or Kitty. Check the theme gallery before switching.
- Linux support requires GTK4 and specific graphics drivers. Some distributions may need manual dependency installation.
- Font ligature support exists but requires explicit font-feature configuration in the config file.
Frequently Asked Questions
Alacritty is minimalist with no tabs or splits, relying on tmux. Ghostty includes native tabs, splits, and OS integration while maintaining comparable GPU rendering speed. Ghostty is written in Zig; Alacritty in Rust.
Yes. Enable ligatures with font-feature = calt and font-feature = liga in the config file. Use a ligature-supporting font like Fira Code or JetBrains Mono.
Yes. Ghostty is open source. The source code is available on GitHub under a permissive license.
Ghostty runs on macOS and Linux. Windows support is planned but not yet available. macOS uses native AppKit; Linux uses GTK4.
Yes. Ghostty supports most features iTerm2 users expect: tabs, splits, profiles, and shell integration. The configuration syntax differs but covers similar options. Some advanced iTerm2 features like triggers and profiles may not have direct equivalents.
Citations (3)
- Ghostty GitHub— Ghostty is built in Zig by Mitchell Hashimoto
- Ghostty Website— Uses platform-native UI with GPU-accelerated rendering
- Ghostty Documentation— Native tabs, splits, and shell integration
Related on TokRepo
Discussion
Related Assets
NAPI-RS — Build Node.js Native Addons in Rust
Write high-performance Node.js native modules in Rust with automatic TypeScript type generation and cross-platform prebuilt binaries.
Mamba — Fast Cross-Platform Package Manager
A drop-in conda replacement written in C++ that resolves environments in seconds instead of minutes.
Plasmo — The Browser Extension Framework
Build, test, and publish browser extensions for Chrome, Firefox, and Edge using React or Vue with hot-reload and automatic manifest generation.