Skip to content
 
 

Latest commit

 

History

16,590 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ghostty Sidegeist

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

ghostty-sidebar

Sidebar

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)

Config

# 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

CLI

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 info

Claude Code

Add 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>`.

Git panel

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 (M modified, A added, D deleted, ? untracked, U conflict)
  • 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).


About

👻 Ghostty Sidegeist: a Ghostty fork with vertical tabs in a sidebar and a git panel.

Resources

Contributing

Stars

133 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages