Ghostty
High-performance terminal emulator written in Zig with native platform integration.
Official WebsiteFeatures
Installation
brew install --cask ghosttyWhy Use Ghostty?
Ghostty is a next-generation terminal emulator developed by Mitchell Hashimoto, founder of HashiCorp. Written in the Zig language, it delivers remarkable performance through native UI and GPU acceleration.
Ultra-Fast Performance
Zig language optimization and GPU acceleration deliver speeds that surpass other terminals.
Native UI
Uses native UI for each platform. On macOS, uses Cocoa for full system integration.
Simple Configuration
Simple text-based configuration files. Intuitive and easy-to-understand configuration approach.
Latest Feature Support
Full support for latest features: Kitty graphics protocol, Sixel, ligatures, and color emoji.
Main Features
Performance
Ghostty is developed in Zig language with excellent memory efficiency and execution speed. GPU acceleration ensures smooth display of large log outputs and scrolling. Benchmarks show superior performance compared to Alacritty, Kitty, and iTerm2.
Native Platform Integration
Uses Cocoa/AppKit on macOS and GTK4 on Linux to provide native look and feel for each platform. Automatically adapts to system dark mode switching.

Source: ghostty.org
Screen Splitting and Tabs
Built-in native tab and pane splitting features. Build an efficient work environment without needing tmux.
Font Rendering
Features a high-quality font rendering engine. Fully supports ligatures, color emoji, and variable fonts.
Installation
macOS
# Install via Homebrew Cask
brew install --cask ghostty
# Download from official site
# https://ghostty.org/downloadLinux
# Arch Linux (AUR)
yay -S ghostty-git
# NixOS / Nix
nix-env -iA nixpkgs.ghostty
# Build from source (requires Zig)
git clone https://github.com/ghostty-org/ghostty.git
cd ghostty
zig build -Doptimize=ReleaseFast
# Flatpak (coming soon)
# flatpak install flathub org.ghostty.GhosttyBuild from Source
To try the latest features, you can build from source. Zig 0.13 or higher is required.
# Install Zig (macOS)
brew install zig
# Clone repository
git clone https://github.com/ghostty-org/ghostty.git
cd ghostty
# Build
zig build -Doptimize=ReleaseFast
# Install
sudo zig build install --prefix /usr/localBasic Configuration
Ghostty configuration files are placed at ~/.config/ghostty/config. Configuration uses a simple key = value format.
Basic Configuration File
# ~/.config/ghostty/config
# Font settings
font-family = "JetBrains Mono"
font-size = 14
# Color theme
theme = catppuccin-mocha
# Window settings
window-padding-x = 10
window-padding-y = 10
window-decoration = true
# Background transparency
background-opacity = 0.95
# Cursor settings
cursor-style = block
cursor-style-blink = true
# Mouse settings
mouse-hide-while-typing = true
# Scrollback lines
scrollback-limit = 10000
# Shell integration
shell-integration = detectColor Theme Configuration
Ghostty includes many built-in themes. Custom colors can also be configured.
# Use built-in theme
theme = dracula
# theme = tokyo-night
# theme = gruvbox-dark
# theme = nord
# theme = one-dark
# Custom color settings
# foreground = #c0caf5
# background = #1a1b26
# selection-foreground = #c0caf5
# selection-background = #33467c
# ANSI colors (0-15)
# palette = 0=#15161e
# palette = 1=#f7768e
# palette = 2=#9ece6a
# palette = 3=#e0af68
# palette = 4=#7aa2f7
# palette = 5=#bb9af7
# palette = 6=#7dcfff
# palette = 7=#a9b1d6Keybinding Configuration
# Keybinding configuration
# Format: keybind = <key>=<action>
# Pane splitting
keybind = cmd+d=new_split:right
keybind = cmd+shift+d=new_split:down
# Pane navigation
keybind = cmd+shift+h=goto_split:left
keybind = cmd+shift+l=goto_split:right
keybind = cmd+shift+k=goto_split:top
keybind = cmd+shift+j=goto_split:bottom
# Pane resizing
keybind = cmd+alt+h=resize_split:left,50
keybind = cmd+alt+l=resize_split:right,50
# Tab operations
keybind = cmd+t=new_tab
keybind = cmd+w=close_surface
keybind = cmd+1=goto_tab:1
keybind = cmd+2=goto_tab:2
keybind = cmd+3=goto_tab:3
# Font size change
keybind = cmd+plus=increase_font_size:1
keybind = cmd+minus=decrease_font_size:1
keybind = cmd+0=reset_font_size
# Search
keybind = cmd+f=search
# Copy & Paste
keybind = cmd+c=copy_to_clipboard
keybind = cmd+v=paste_from_clipboardDefault Keyboard Shortcuts
Below are the default shortcuts for macOS.
| Shortcut | Function |
|---|---|
⌘T | Open new tab |
⌘N | Open new window |
⌘W | Close current pane/tab |
⌘D | Vertical split (pane on right) |
⌘⇧D | Horizontal split (pane below) |
⌘] / ⌘[ | Move to next/previous pane |
⌘1-9 | Switch tabs by number |
⌘F | Search |
⌘+ / ⌘- | Change font size |
⌘0 | Reset font size |
⌘Enter | Toggle fullscreen |
Advanced Configuration
Quick Terminal (Hotkey Window)
Configure features similar to iTerm2's hotkey window.
# Quick Terminal settings
# Toggle with global hotkey
keybind = global:ctrl+`=toggle_quick_terminal
# Quick Terminal specific settings
quick-terminal-position = top
quick-terminal-size = 0.4
quick-terminal-animation-duration = 0.2Conditional Configuration
Conditional configuration based on OS or hostname is also possible.
# macOS specific settings
[macos]
macos-option-as-alt = true
macos-titlebar-style = hidden
# Linux specific settings
[linux]
gtk-single-instance = true
# Settings for specific hostname
[host:my-macbook]
font-size = 14
[host:my-desktop]
font-size = 13Tips
- *Config Reload: Use
ghostty +reload-configto reload the configuration file. Alternatively, opening a new window applies new settings. - *List Config Options: Use
ghostty +list-configto view all configuration options and their descriptions. - *List Themes: Use
ghostty +list-themesto list all available built-in themes. - *Performance: When handling large logs, adjust
scrollback-limitto optimize memory usage. - *Shell Integration: Setting
shell-integration = detectautomatically enables shell integration for bash/zsh/fish, enabling features like prompt marks. - *Development Status: Ghostty is actively developed by Mitchell Hashimoto. Watch the GitHub releases to check out the latest features.
Related Articles
Alacritty - GPU-Accelerated Terminal
Fast, cross-platform GPU-accelerated terminal emulator
Kitty - GPU-Based Terminal
GPU-based terminal with image display and extensibility
WezTerm - GPU-Accelerated Terminal
GPU-accelerated cross-platform terminal with Lua configuration