Ghostty Terminal: A Complete Setup Guide for Modern Mac Development

Learn how to install and configure Ghostty terminal on Mac. Then enhance it with a modern prompt, zsh plugins, and tmux for a fast, GPU-accelerated workflow.

Ghostty Terminal: A Complete Setup Guide for Modern Mac Development

Ghostty is a modern, GPU-accelerated terminal emulator that’s quickly gaining popularity among developers and power users. It’s fast, native-feeling on macOS, and straightforward to configure.

In this guide you’ll:

  • Install Ghostty and a Nerd Font (so icons render correctly)
  • Set up a clean ~/.config/ghostty/config
  • Learn the standout Ghostty features (themes, inspector, shaders, image support)
  • (Optional) Layer in a modern prompt and productivity tools like tmux and zoxide

If you specifically want Starship + Ghostty with presets and a complete prompt setup, see my companion guide: Turbocharge Your Mac Terminal: The Ultimate Starship and Ghostty Setup Guide: https://www.bitdoze.com/starship-ghostty-terminal/

Key Features of Ghostty

GPU Acceleration

Ghostty renders using your GPU, which means fast scrolling and smooth performance. Complex terminal output stays responsive, and working with large files doesn’t slow things down.

Native UI

Ghostty doesn’t try to be a one-size-fits-all UI. On macOS it uses native Swift and AppKit, on Linux it uses GTK4. Because of this, Ghostty actually feels like part of your system instead of a foreign tool.

Simple Configuration File (Key-Value)

Config is straightforward: ~/.config/ghostty/config uses simple key-value pairs. No scripting language, no complex syntax. Change fonts, pick a theme, adjust opacity.

Built-in Multiplexer

Ghostty has built-in multiplexing so you can split panes and manage multiple sessions without reaching for tmux.

Rich Color Support

Supports true color and comes with over 100 themes built-in. You can also add custom ones if you prefer something specific.

Image Support

Ghostty supports the Kitty Graphics Protocol, so you can render images directly in the terminal. Useful if you work with preview tools or want visual output inline.

Performance

Ghostty’s written in Zig, which shows in the performance. Benchmarks consistently put it among the fastest terminals for handling large Unicode files.

Keep in mind: benchmarks depend heavily on your setup (font, shaders, opacity) and the workload being tested. Real-world differences are smaller than numbers suggest.

TerminalVersionSpeed
Ghostty173ms
Alacritty0.13.166ms
WezTerm20240203140ms

Unique Features

Terminal Inspector

The Terminal Inspector is one of Ghostty’s best features. It shows you real-time debugging info—keystrokes, render timings, everything happening under the hood. Handy if you’re troubleshooting or just curious about what’s going on.

Shaders

You can write custom shaders to apply visual effects—think glow effects, CRT filters, or whatever else you want to try. Fun if you like tweaking things visually.

Installation and Configuration

If you are interested to see some free cool Mac Apps you can check toolhunt.net mac apps section.

Quickstart (TL;DR)

Quick setup if you just want Ghostty running:

brew install --cask ghostty
brew install font-meslo-lg-nerd-font
mkdir -p ~/.config/ghostty

Then create ~/.config/ghostty/config with the basic config below and restart Ghostty.

Ghostty Install

Download Ghostty directly or use Homebrew:

brew install --cask ghostty

Install Meslo Nerd Font

Nerd Fonts include programming icons and symbols. Install Meslo LG via Homebrew:

brew install font-meslo-lg-nerd-font

The font installs automatically. Verify it in Font Book if needed. You may need to restart Ghostty after installation.

Setup Ghostty Config File

Create the config file and add basic settings:

mkdir -p ~/.config/ghostty
vim ~/.config/ghostty/config

Add this to the config:

font-family = MesloLGS Nerd Font Mono
font-size = 18
background-opacity = 0.9
theme = Argonaut

Find available fonts and themes:

ghostty +list-fonts
ghostty +list-themes

Restart Ghostty after saving. If icons look broken, verify that Ghostty is using the Nerd Font you installed.

Tip: Keep your Ghostty config minimal—put heavy customization in your shell rc files or prompt setup instead. This makes it easier to sync across machines.

Prompt Options (Pick One)

Now you need a prompt. Pick one:

Install powerlevel10k theme

Install Powerlevel10k:

brew install powerlevel10k
echo "source $(brew --prefix)/share/powerlevel10k/powerlevel10k.zsh-theme" >> ~/.zshrc
source ~/.zshrc

The first run shows a configuration wizard. Walk through it to customize your prompt—choose what segments to display, colors, icons, etc. You can always rerun p10k configure later to tweak it.

The result is a prompt that shows git status, command execution time, and more, without sacrificing speed. Edit ~/.p10k.zsh if you want to fine-tune it further.

Setup zsh-autosuggestions plugin

zsh-autosuggestions suggests commands as you type, based on your history. Get it working:

brew install zsh-autosuggestions
echo "source $(brew --prefix)/share/zsh-autosuggestions/zsh-autosuggestions.zsh" >> ~/.zshrc
source ~/.zshrc

Now when you type, you’ll see faded suggestions. Press the right arrow or End to accept them. The suggestions you customize in .zshrc if you want—change colors, tweak keybindings, etc.

See also: Enable Command Autocomplete in Zsh

Setup zsh-syntax-highlighting

zsh-syntax-highlighting colors your commands as you type—green for valid commands, red for errors. Install it:

brew install zsh-syntax-highlighting
echo "source $(brew --prefix)/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ~/.zshrc
source ~/.zshrc

It highlights valid commands and options, underlines existing file paths, and matches bracket pairs. Catch typos before you hit enter.

See also: Enable Syntax Highlighting in Zsh

Enhance Ghostty with tmux and zoxide

Ghostty has built-in multiplexing, but tmux is worth adding if you need:

  • Remote attach/detach workflows over SSH
  • Session sharing across machines or teams
  • A larger ecosystem and documentation

zoxide makes jumping between directories faster.

What is tmux and how can it help

tmux lets you manage multiple terminal sessions in one window. Useful for running background processes, sharing sessions with others, or keeping your setup across reboots.

brew install tmux

Then just type tmux to start a new session. More details: Tmux Basics

What is zoxide and how can it help

zoxide replaces cd with smarter navigation. It tracks your most-used directories so you can jump to them quickly with fuzzy matching.

brew install zoxide
echo 'eval "$(zoxide init zsh)"' >> ~/.zshrc
source ~/.zshrc

Now use z instead of cd to jump around. See: Zoxide Guide

With tmux, zoxide, and Ghostty together, you’ve got a solid terminal workflow—multiplexing, fast navigation, and GPU-powered rendering.

Known Ghostty Errors

’xterm-ghostty’: unknown terminal type

On some remote Linux machines, tools may not recognize Ghostty’s terminal type and you can see errors like: 'xterm-ghostty': unknown terminal type.

Quick fix for the current session:

export TERM=xterm-256color

Permanent fix on that machine:

echo "export TERM=xterm-256color" >> ~/.bashrc
source ~/.bashrc

If it only happens over SSH, set TERM conditionally in your shell config instead.

Conclusion

Ghostty feels like a terminal built for 2026. GPU rendering, native UI, the Inspector—it’s a step above what most terminals offer. It’s still actively developed, but it’s already solid enough to be your daily driver.

If you spend time in the terminal, give it a try. The setup is straightforward, and once configured, you’ve got a fast, responsive terminal that doesn’t get in your way.

Ghostty works great with Fish Shell too. If you’re looking for a shell upgrade, see my Fish Shell vs Bash vs Zsh comparison or set up Starship prompt with Fish.