Fuzzy git branch switcher with live GitHub PR status in your terminal.
- Fuzzy Search: Instantly filter through massive lists of local branches as you type.
- Async GitHub Integration: Fetches live Pull Request statuses in the background without freezing the UI thread.
- Clean Unicode Aesthetics: Uses minimalist colored status indicators (
● Open,● Merged,● Closed) instead of heavy text blocks or emojis to ensure a native terminal look. - Shell Autocompletion: bash, zsh, fish, and PowerShell supported via
git-zen completion <shell> - Graceful Degradation: Functions flawlessly as a local fuzzy branch switcher even if you are offline or unauthenticated with GitHub.
- Go 1.24+
ghCLI installed and authenticated (gh auth login)- macOS, Linux, or Windows
Install via Homebrew. Shell autocompletions are configured automatically — no extra steps needed.
brew install achill06/tap/git-zenInstall via Scoop, then add completions to your PowerShell profile:
scoop bucket add git-zen https://github.com/achill06/scoop-bucket.git
scoop install git-zen
# Add completions to your PowerShell profile:
echo 'git-zen completion powershell | Out-String | Invoke-Expression' >> $PROFILEgo install github.com/achill06/git-zen@latestNote: Ensure
~/go/binis in your systemPATH. Addexport PATH=$PATH:~/go/binto your~/.bashrcor~/.zshrc, then runsource ~/.bashrc.
Then add completions for your shell:
# bash
echo 'source <(git-zen completion bash)' >> ~/.bashrc
source ~/.bashrc
# zsh
echo 'source <(git-zen completion zsh)' >> ~/.zshrc
source ~/.zshrc
# fish
git-zen completion fish > ~/.config/fish/completions/git-zen.fishHead over to the GitHub Releases page, download the pre-compiled binary for your OS, and move it into a folder in your PATH.
Then add completions for your shell:
# bash
echo 'source <(git-zen completion bash)' >> ~/.bashrc
source ~/.bashrc
# zsh
echo 'source <(git-zen completion zsh)' >> ~/.zshrc
source ~/.zshrc
# fish
git-zen completion fish > ~/.config/fish/completions/git-zen.fish
# PowerShell
echo 'git-zen completion powershell | Out-String | Invoke-Expression' >> $PROFILEHomebrew:
brew upgrade git-zenScoop:
scoop update git-zenGo:
go install github.com/achill06/git-zen@latest| Command | Description |
|---|---|
git-zen switch |
Launch the interactive fuzzy branch switcher (TUI) |
git-zen completion <shell> |
Generate shell autocompletion script (bash/zsh/fish/PowerShell) |
git-zen version |
Show version information |
Navigate to any local git repository and run:
git-zen switchTip: With completion set up, type
git-zen sw<TAB>and it will autocomplete togit-zen switch.
| Key | Action |
|---|---|
Arrow Keys /Ctrl+J / Ctrl+K |
Navigate up and down through the filtered branch list |
| Alphanumeric Keys | Start typing at any time to instantly fuzzy-search and filter your branches |
Enter |
Confirm your selection and immediately perform agit checkout onto the selected branch |
Escape / Ctrl+C |
Safely exit the interface without changing your current branch status |
| Component | Library |
|---|---|
| Language | Go (Golang) |
| CLI Engine | Cobra |
| TUI Architecture | Bubble Tea |
| Styling & Layout | Lipgloss |
| Fuzzy Filtering | Fuzzy |
- v1.1: AI Commit Summarizer (
git-zen log) — Automatically convert cryptic commit histories into polished markdown changelogs using local LLMs. - v2.0: Background Undo Daemon — A safety net mechanism allowing developers to instantly reverse accidental git operations.
MIT