Ghostty has quickly become the go-to choice for macOS developers in 2026. While other terminal emulators offer cross-platform flexibility or complex feature sets, Ghostty wins on one major front: it feels native while remaining incredibly fast.
Building on its GPU-accelerated rendering and a focus on performance, Ghostty provides a minimal but highly configurable environment. However, the true power of Ghostty is unlocked through its configuration file. This guide covers the essential setup, themes, and tweaks to make Ghostty your perfect development companion.
1. Why Configure Ghostty?
Ghostty’s default experience is already excellent, but unlike iTerm2, it doesn’t rely on a GUI for settings. Everything—from font rendering to window transparency—is handled via a plain text config file. By spending 15 minutes on your configuration, you can achieve:
- Lower Latency: Fine-tuning rendering and input handling.
- Improved Readability: Proper Nerd Font integration and custom line spacing.
- Workflow Efficiency: Custom key bindings that match your IDE or tmux setup.
- Aesthetic Perfection: Using modern themes that leverage Ghostty’s support for true color and transparency.
2. Installation
If you haven’t installed Ghostty yet, the easiest way on macOS is via Homebrew:
brew install --cask ghostty
For Linux users, Ghostty is available in many community repositories (like the AUR for Arch) or can be built from source using Zig. Once installed, Ghostty looks for its configuration at ~/.config/ghostty/config.
3. Essential Configuration
Create or edit your config file: mkdir -p ~/.config/ghostty && touch ~/.config/ghostty/config.
Here are 8 essential configuration options for a modern macOS setup:
Font and Rendering
Ghostty handles rendering beautifully. Set your primary font and adjust the size.
font-family = "JetBrainsMono Nerd Font"
font-size = 14
font-feature = -calt
font-feature = -liga
Window Styling
To get that “modern” macOS look, enable transparency and adjust the title bar.
window-decoration = true
background-opacity = 0.95
background-blur = true
window-padding-x = 10
window-padding-y = 10
Cursor Customization
A visible cursor is vital. I prefer the “beam” for editing.
cursor-style = beam
cursor-blink = true
Mouse and Scrollback
Ensure you have enough history to scroll back through long logs.
scrollback-limit = 10000
mouse-hide-while-typing = true
Shell Integration
Ghostty has built-in shell integration that helps with features like working directory tracking.
shell-integration = zsh
4. Best Color Themes for 2026
Ghostty comes with many built-in themes. You can list them with ghostty +list-themes. To apply one, add theme = <name> to your config.
Here are my top 4 recommendations for 2026:
- Catppuccin Macchiato: The gold standard for soft, high-contrast aesthetics. It’s easy on the eyes for long coding sessions.
theme = catppuccin-macchiato - Tokyo Night: A classic “neon city” vibe that looks incredible with Ghostty’s background blur enabled.
theme = tokyo-night - Rose Pine: Perfect for those who prefer a more “muted” and organic color palette.
theme = rose-pine - Gruvbox Material: For the developers who swear by the “retro” but functional high-contrast look.
theme = gruvbox-material
5. Font Setup: Embracing Nerd Fonts
To get the most out of your terminal UI (especially if you use Neovim, Starship, or lsd), you need a Nerd Font.
- Recommendation: JetBrains Mono Nerd Font is widely considered the best for legibility.
- Alternative: MonoLisa or Maple Mono if you want something more unique.
Install them via Homebrew:
brew tap homebrew/cask-fonts
brew install --cask font-jetbrains-mono-nerd-font
Then update your ~/.config/ghostty/config:
font-family = "JetBrainsMono Nerd Font"
6. Key Bindings: Work Faster
Ghostty uses a simple keybind syntax. Here are some useful mappings to bring Ghostty closer to a multiplexer or IDE experience:
# Quickly reload config
keybind = super+shift+r=reload_config
# Split panes (mimicking iTerm2)
keybind = super+d=new_split:right
keybind = super+shift+d=new_split:down
# Navigation between splits
keybind = super+ctrl+h=goto_split:left
keybind = super+ctrl+l=goto_split:right
keybind = super+ctrl+k=goto_split:up
keybind = super+ctrl+j=goto_split:down
# Adjusting font size on the fly
keybind = super+plus=increase_font_size
keybind = super+minus=decrease_font_size
7. FAQ: Common Ghostty Questions
Q: Does Ghostty support tmux? A: Yes, perfectly. Ghostty’s performance actually makes tmux feel snappier. Many users switch to Ghostty’s native splits, but tmux is still fully supported.
Q: How do I fix “Command Not Found” in Ghostty?
A: This usually happens because Ghostty doesn’t load your shell profile in the same way some older terminals do. Ensure your PATH is correctly exported in ~/.zshrc or ~/.bash_profile.
Q: Can I use custom shaders in Ghostty? A: As of 2026, Ghostty is focusing on core stability and performance. While some experimental versions support custom shaders, the official release prioritizes a fast, native rendering pipeline.
Q: Is Ghostty faster than Alacritty? A: In real-world usage, they are comparable. However, Ghostty handles “native” macOS features like smooth scrolling and font rendering much better than the purely cross-platform Alacritty.
Q: How do I change the theme without editing the file?
A: You can run ghostty --theme=catppuccin-mocha from another terminal to preview, but you must edit the config file for the change to be permanent.
8. Conclusion
Ghostty is more than just a “fast terminal”—it’s a tool that respects the macOS ecosystem while providing the raw power developers need. By setting up a proper config file, choosing a high-quality Nerd Font, and mastering a few key bindings, you can create a terminal environment that is both beautiful and highly efficient.
If you are still deciding between Ghostty and other options like WezTerm or Warp, check out our full comparison of the best terminal emulators for 2026.
Happy hacking!