gh-threads

A read-only terminal UI for people receiving GitHub pull-request reviews. It shows open PRs, review threads with highlighted diff hunks and comment authors, reviewer/assignee state, and the latest commit's check rollup. Resolved threads start folded. GitHub suggestion blocks are shown as syntax-highlighted remove/add previews. Comments render GitHub Flavored Markdown, including quoted replies, inline and fenced code, lists and tasks, links, tables, emphasis, strikethrough, emoji, and GitHub alerts. The current PR is refreshed in the background.

Install and run

Requires Go 1.24+ and an authenticated GitHub CLI:

go install .
gh auth login
gh-threads

To run directly from a source checkout instead:

go run .

Use go run ., not go run main.go: the latter compiles only main.go and omits the other files in the package.

For automation, GH_TOKEN or GITHUB_TOKEN can still be provided and takes precedence over the GitHub CLI credential. Enterprise token environment variables are also supported.

By default the PR picker searches all repositories for open PRs assigned to the authenticated user and groups the results by repository. Use --repo to limit the picker to one repository:

gh-threads --repo owner/repository

With a repository selected, pass --all to include every open PR in that repository:

gh-threads --repo owner/repository --all --poll 15s

GitHub Enterprise Server can be used after authenticating that host:

gh auth login --hostname github.example.com
gh-threads --repo owner/repository \
  --endpoint https://github.example.com/api/graphql

Keys

Key Action
h / l Focus the thread list / thread detail
j / k Move between threads or scroll the focused detail
? Show contextual keybinding help
/ Fuzzy-search thread file paths
/ Choose a fuzzy-search match
g / G First / last item
enter / l Open a PR
enter Toggle the selected review thread
za Toggle the selected thread
ctrl-d / ctrl-u Scroll thread detail or page through lists
tab Hide or reveal the thread list
b / esc Return to the PR picker
r Refresh now
q Quit

Current scope

The application is intentionally read-only. GitHub's GraphQL API currently limits this client to the first 100 review threads and first 100 comments per thread; the UI warns when the thread list is truncated. GitHub features which depend on server-side context, such as unfurling issue references or displaying uploaded images, are represented textually in the terminal.

Description
No description provided
Readme 2 MiB
Languages
Go 100%