From ghostty-claude-code-setup
Guides Ghostty terminal configuration on macOS with themes, transparency, keybindings for vim-like navigation, splits, tabs, shell integration, zsh enhancements, and troubleshooting.
npx claudepluginhub helloayushisharma/ghostty-claude-code-setupThis skill uses the workspace's default tool permissions.
Comprehensive guide for setting up a modern terminal experience on macOS with Ghostty, Warp-like features, zsh enhancements, and IDE-like vim keybindings.
Emulates terminal using libghostty-vt library: parses VT sequences for C0 controls, cursor movement/positioning, erase/display/line, SGR, OSC titles/hyperlinks. Includes tmux+zsh+fzf+ripgrep.
Optimizes terminal for Claude Code with Ghostty config, statusline for context/git info, macOS voice dictation tips, tab naming, and tmux per git worktree.
Installs and configures tmux on macOS via Homebrew with Dracula theme, TPM plugin manager, vim-style keybindings, Ctrl-a prefix, and optimized settings like Alt-arrow pane switching.
Share bugs, ideas, or general feedback.
Comprehensive guide for setting up a modern terminal experience on macOS with Ghostty, Warp-like features, zsh enhancements, and IDE-like vim keybindings.
| Shortcut | Shell/Terminal | Vim | Action |
|---|---|---|---|
Option+←/→ | Skip word | Skip word | Word navigation |
Cmd+←/→ | Line start/end | Line start/end | Line navigation |
Option+Backspace | Delete word | Delete word | Delete backward |
Cmd+D | Split pane | Duplicate line | Context-specific |
Cmd+K | Clear screen | - | Clear terminal |
→ (Right Arrow) | Accept suggestion | - | Autosuggestion |
~/Library/Application Support/com.mitchellh.ghostty/config~/.config/ghostty/config# Theme
theme = dark:Catppuccin Mocha,light:Catppuccin Latte
# macOS Option key as Alt (REQUIRED for keybindings)
macos-option-as-alt = true
# Transparency (set to 1.0 if not working)
background-opacity = 0.85
background-blur = true
# Session persistence
window-save-state = always
quit-after-last-window-closed = false
# Cursor
cursor-style = block
cursor-style-blink = false
# Shell integration
shell-integration = detect
shell-integration-features = no-cursor,sudo,title
# Navigation
keybind = cmd+right=text:\x05 # End of line
keybind = cmd+left=text:\x01 # Start of line
keybind = alt+right=text:\x1bf # Forward word
keybind = alt+left=text:\x1bb # Backward word
keybind = alt+backspace=text:\x17 # Delete word
# Splits
keybind = cmd+d=new_split:right
keybind = cmd+shift+d=new_split:down
keybind = cmd+alt+up=goto_split:top
keybind = cmd+alt+down=goto_split:bottom
keybind = cmd+alt+left=goto_split:left
keybind = cmd+alt+right=goto_split:right
# Tabs
keybind = cmd+t=new_tab
keybind = cmd+w=close_surface
keybind = cmd+1=goto_tab:1
keybind = cmd+2=goto_tab:2
# ... up to cmd+9
# Prompt jumping (requires shell integration)
keybind = cmd+up=jump_to_prompt:-1
keybind = cmd+down=jump_to_prompt:1
Transparency not working:
Option+Arrow not working:
macos-option-as-alt = true is setTabs not restoring:
~/.warp/themes/name: My Custom Theme
accent: '#268bd2'
cursor: '#95D886'
background: '#002b36'
foreground: '#839496'
details: darker
terminal_colors:
bright:
black: '#002b36'
blue: '#839496'
cyan: '#93a1a1'
green: '#586e75'
magenta: '#6c71c4'
red: '#cb4b16'
white: '#fdf6e3'
yellow: '#657b83'
normal:
black: '#073642'
blue: '#268bd2'
cyan: '#2aa198'
green: '#859900'
magenta: '#d33682'
red: '#dc322f'
white: '#eee8d5'
yellow: '#b58900'
# to search commands with AICmd+D: Split pane rightCmd+Shift+D: Split pane downCmd+[/]: Navigate between panesCmd+Enter: Maximize paneCtrl+R: Search command history with AI# Via Homebrew (recommended - has pre-built bottles)
brew install zsh-autosuggestions zsh-syntax-highlighting
# Or via direct download
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.zsh/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting ~/.zsh/zsh-syntax-highlighting
# Autosuggestions
source /usr/local/share/zsh-autosuggestions/zsh-autosuggestions.zsh
# Or for Apple Silicon: /opt/homebrew/share/...
# Accept suggestion keybindings
bindkey '^[[F' autosuggest-accept # End key
bindkey '^ ' autosuggest-accept # Ctrl+Space
# Syntax highlighting (MUST be last)
source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
# Install via direct binary (fast, no compile)
cd /tmp
curl -LO https://github.com/lsd-rs/lsd/releases/download/v1.2.0/lsd-v1.2.0-x86_64-apple-darwin.tar.gz
tar xzf lsd-v1.2.0-x86_64-apple-darwin.tar.gz
mv lsd-v1.2.0-x86_64-apple-darwin/lsd /usr/local/bin/
# Aliases
alias ls='lsd --group-directories-first'
alias ll='lsd -l --group-directories-first'
alias la='lsd -la --group-directories-first'
alias lr='lsd -l --timesort'
alias lt='lsd --tree --depth=2'
# Enable colors
export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced
# Colored grep
alias grep='grep --color=auto'
# Colored man pages
export LESS_TERMCAP_mb=$'\e[1;32m'
export LESS_TERMCAP_md=$'\e[1;36m'
export LESS_TERMCAP_me=$'\e[0m'
export LESS_TERMCAP_so=$'\e[01;44;33m'
export LESS_TERMCAP_se=$'\e[0m'
export LESS_TERMCAP_us=$'\e[1;4;32m'
export LESS_TERMCAP_ue=$'\e[0m'
" General settings
set number relativenumber
set mouse=a
set clipboard=unnamed
set cursorline
" Cursor shape (block normal, line insert)
let &t_SI = "\e[6 q"
let &t_EI = "\e[2 q"
" Option+Left/Right - Word navigation
nmap <Esc>b b
nmap <Esc>f w
imap <Esc>b <C-o>b
imap <Esc>f <C-o>w
" Cmd+Left/Right - Line navigation
nmap <C-a> 0
nmap <C-e> $
imap <C-a> <C-o>0
imap <C-e> <C-o>$
" Cmd+S - Save
nmap <C-s> :w<CR>
imap <C-s> <C-o>:w<CR>
" Cmd+Z - Undo
nmap <C-z> u
imap <C-z> <C-o>u
For macOS systems where Homebrew needs to compile from source:
# lsd (no dependencies)
curl -LO https://github.com/lsd-rs/lsd/releases/download/v1.2.0/lsd-v1.2.0-x86_64-apple-darwin.tar.gz
tar xzf lsd-v1.2.0-x86_64-apple-darwin.tar.gz
sudo mv lsd-v1.2.0-x86_64-apple-darwin/lsd /usr/local/bin/
# zsh plugins (have bottles, install quickly)
brew install zsh-autosuggestions zsh-syntax-highlighting
On older macOS versions (13 and below), Homebrew may not have pre-built "bottles" for Rust-based tools like eza, lsd, bat. It then compiles from source, requiring:
Solution: Download pre-built binaries from GitHub releases.
To detect which terminal is running:
if [[ -n "$GHOSTTY_RESOURCES_DIR" ]]; then
echo "Ghostty"
elif [[ "$TERM_PROGRAM" == "WarpTerminal" ]]; then
echo "Warp"
elif [[ "$TERM_PROGRAM" == "iTerm.app" ]]; then
echo "iTerm2"
elif [[ "$TERM_PROGRAM" == "Apple_Terminal" ]]; then
echo "Apple Terminal"
fi
/setup-terminal to automatically configure everything