Skip to main content

Tmux: GitHub picker

The GitHub picker is a PR/issue cockpit. It runs as a 95%×95% tmux popup, reads PR and issue sections from its own YAML configs, and renders them in fzf with preview, hierarchy, local worktree markers, review status, and CI state.

Open it with prefix + G. Press alt-g to switch to the session picker.

GitHub picker popup over the natural tmux workbench, with safe demo rows for own PRs, external reviews, issues, epics, pending backports, and a populated preview pane

Reading the cockpit

AreaMeaning
Headermode, scope, counts, cache age, and primary actions
SectionsIntent groups: Action:, Mine:, Watching:, Maintenance:
RowsPRs/issues with review, CI, hierarchy, relation, and local-worktree signals
PreviewDashboard summary plus PR/issue details, body, and activity
QuerySearch visible labels and hidden status/relation tokens

The screenshot uses safe demo rows so the states are visible without exposing private GitHub data. The UI itself is the real picker launched with prefix + G.

Important bindings

KeyAction
enterCheckout worktree and focus it; batches marked rows
tab / alt-spaceMark/unmark item
ctrl-sSwitch work / home mode
alt-0 / alt-1 / alt-2Show all / focus / explore scopes
alt-n / alt-pJump to next / previous section header
alt-SCycle sort
alt-z / alt-ZCollapse family / collapse all
alt-MMark the current family
ctrl-rRefresh from GitHub
alt-eCycle preview expansion
alt-xOpen action palette
alt-gSwitch to session picker
?Show help

alt-r is quote-reply here, not refresh. The GitHub picker's ctrl-r is already the full refresh path and pre-empts in-flight fetches.

Sections by intent

PrefixMeaning
Action:You are explicitly the requested reviewer or the bottleneck for an assigned issue.
Mine:You authored it and it is still open
Watching:Informational queues, mentions, radar, team views
Maintenance:Special workflows such as pending backports

PRs and issues share the same intent prefixes. The YAML config still splits PR and issue sections for query ergonomics, but the dashboard groups by workflow intent.

Dashboard scopes

ScopeBindingIncludes
allalt-0Every section
focusalt-1Action: + Mine: + Maintenance:
explorealt-2Watching: sections

Detailed mechanics

The deeper implementation details live in GitHub picker mechanics:

  • data source and cache behavior.
  • section jumps and sorting.
  • epic/backport/PR-issue hierarchy.
  • badges, hidden match tokens, worktree detection.
  • preview cache and popup sizing.