Personal fork of Ghostty with a sidebar tab system and a built-in git panel for macOS. For the official Ghostty terminal, visit ghostty.org. All credit goes to them.
🧪 Experimental
Please note that this is experimental and I built it for my own use.
📦 Download Ghostty Sidegeist for macOS
Replaces the native tab bar with a left sidebar. The top shows rich tab cards; a git panel is pinned to the bottom.
- Title, directory, git branch — git branch detected automatically, no setup needed
- Custom status entries — show ports, environments, or any metadata via CLI
- Attention indicators — orange dot on tabs with notifications or bell
- Drag-and-drop — reorder tabs by dragging
- Move between windows — drag a tab card out of the sidebar and drop it on another window (or anywhere else for a new window); the same actions are in the tab's context menu
- Theme-aware — colors derived from your terminal theme
- Git panel — branch, changes, and commit / push / pull for the selected tab's repo (details)
# Choose which tab-card fields to show (default: all)
sidebar-fields = title,directory,git-branch,status
# Show the git panel at the bottom of the sidebar (default: true)
sidebar-git = true
Install: symlink cli/ghosttyctl to somewhere on your PATH (e.g. ~/.local/bin/ghosttyctl).
ghosttyctl rename "My Tab" # rename tab
ghosttyctl notify --title "Done" --body "Build finished" # send notification
ghosttyctl set-status server "localhost:3000" --icon network # add status entry
ghosttyctl clear-status server # remove it
ghosttyctl list # list all tabs
ghosttyctl current # current tab infoAdd to your ~/.claude/CLAUDE.md so Claude Code can name its tabs and set status:
- Rename the workspace using: `ghosttyctl rename "Claude: <name>"`. Name it after the work being done.
- Set sidebar status entries using `ghosttyctl set-status <key> <value> [--icon <sf-symbol>]` and clear with `ghosttyctl clear-status <key>`.A small git panel pinned to the bottom of the sidebar, scoped to the selected tab's repo:
- Branch + sync — current branch, ahead/behind, and inline checkout / commit / push / pull
- Changes — pending files with colour-coded status (
Mmodified,Aadded,Ddeleted,?untracked,Uconflict) - Click to open — click a file to open it in your editor via
$VISUAL/$EDITOR(e.g. Cursor, VS Code)
This one is especially personal, built around how I work day to day. If it's not for you, turn it off with sidebar-git = false (see Config above).