ghzinga
ghzinga is a small terminal UI for keeping one GitHub pull request or issue
open on the side while you work.
It is not trying to be a full GitHub client. It is for maintainers who want a
faster-than-the-web-UI view of the current status, comments, checks, files, and
links for one PR or issue, with automatic refresh. It is similar in spirit to
gh dash, but focused on a single item
instead of a dashboard list.
ghzinga is inspired by Herdr and built with
Ratatui and
Crossterm, so the terminal UI is
interactive: click tabs and links, expand rows, scroll with the mouse wheel,
drag the scrollbar, or use keyboard shortcuts.
https://github.com/user-attachments/assets/1078941e-f83f-4d6f-aceb-695a22015580
Install
Install from crates.io:
Install from a local checkout:
This installs two equivalent commands:
gzgghzinga
Usage
Open a pull request or issue:
ghzinga reuses your existing GitHub CLI login through gh auth token. You can
also set GH_TOKEN or GITHUB_TOKEN to override that token. Public repositories
can fall back to unauthenticated GitHub data when credentials are unavailable.
What You Get
For pull requests, ghzinga shows:
- overview and conversation
- author, labels, branches, review state, and merge/check status
- activity, reviews, review comments, and linked issues or PRs
- commits
- checks and status contexts
- changed files with expandable patch context
For issues, ghzinga shows:
- overview and conversation
- author, labels, assignees, state, milestones, and projects
- timeline activity and comments
- linked issues or PRs
Interaction
The UI is built for active terminal use:
- click tabs to switch views
- click GitHub links to open or navigate
- click rows and
[more]controls to expand details - click footer actions for refresh, copy, open, settings, help, and quit
- scroll with the mouse wheel or keyboard
- drag the scrollbar when content is long
- press
?in the app for the full keyboard help
Common keys:
qorCtrl-C: quitr: refreshTab,Shift+Tab,Left,Right: switch tabsUp,Down,PageUp,PageDown,Home,End: scrollEnter: activate the first visible link or actiony: copy the first visible GitHub URLo: open the first visible GitHub URLs: settings?: help
Configuration
The config file is:
~/.config/ghzinga/config.toml
Default config:
[]
= "default"
= "emoji"
= "comfortable"
= "fixed"
= 118
= "on-scroll"
You can change theme, symbols, spacing, width, and scrollbar behavior from the settings view inside the app.
Refresh
ghzinga refreshes automatically every 300 seconds by default. Use
--refresh-seconds 0 to disable automatic refresh, or press r to refresh
manually.
When a resource has more data than the normal GitHub API depth loads, ghzinga shows a full-depth action so you can fetch the rest without restarting the app.