⌨️ Keybindings

July 30, 2026 · View on GitHub

KeyModeAction
/ kNormalMove selection up
/ jNormalMove selection down
aNormalAdd a new repository (via directory scanner)
ANormalBulk add folders in a directory
iNormalImport remote repository
eNormalEdit the selected item
DNormalDelete the selected item (asks)
lNormalEdit labels of the selected item
RNormalRefresh status of selected item
FNormalBulk fetch all tracked repositories concurrently
fNormalEnter repository search mode
ctrl+fNormalOpen global code search popup overlay
pNormalToggle pin status of selected item
*NormalToggle Favorite / Star status of selected item
SpaceNormalToggle selection of item for batch operations (fetch, delete, terminal)
yNormalYank absolute path of selected item to clipboard
/NormalOpen fuzzy Jump-to-Repo picker overlay
oNormalCycle list sorting mode (Custom → Alphabetical → Recent → Changes)
ONormalToggle list sorting direction (ascending vs. reversed)
gNormalLaunch the preferred Git client for selected repository (configurable in settings, default is gitui)
tNormalSpawn a new shell (Terminal) in the selected repository's directory
sNormalOpen options/settings page
dNormalOpen debug logs panel
VNormalShow about popup / creator profile
vNormalCycle between standard cards, compact 1-row view, and tile grid view
hNormalShow signs & symbols legend popup
Shift+UNormalOpen App Usage Stats Dashboard
uNormalCheck for application updates manually
.Normal / DetailToggle status bar between collapsed and expanded view
EnterNormal / Commits listOpen Detail view for selected item / Inspect selected commit
?Normal / HelpToggle the shortcut overlay
ctrl+qGlobal / AnywhereQuit application from anywhere
EscNormalClear active search filter or cancel all repository selections
EnterEditing / Input ModalsSave / submit typed text and persist
EscEditing / Input ModalsCancel modal input without saving (letters like q/Q are typed as regular input)
ctrl+v / Terminal PasteEditing / Input ModalsPaste text from system clipboard (strips newlines for single-line inputs)
EscRepoSearchInputClear repository search and return to Normal mode
EscGlobalSearchReturn to Normal mode
TabGlobalSearchToggle focus between search query input and results
/ GlobalSearchNavigate search results
Enter (Query focus)GlobalSearchTrigger/execute search scan
Enter (Results focus)GlobalSearchSelect matched result, jump to repository, and open Detail view
CharGlobalSearchType query (when input is focused)
BackspaceGlobalSearchErase query character (when input is focused)
EnterSettings (Edit)Save settings edit
EscSettings (Edit)Cancel settings edit
Esc / qSettingsExit Settings and return to Home
/ / k / jSettingsNavigate setting fields / categories
Enter / SpaceSettingsToggle / Edit selected setting
Tab / Shift+TabSettingsSwitch focus between category list (sidebar) and settings list
/ h / HSettingsFocus category list (sidebar)
/ l / L / w / WSettingsFocus settings list
1 - 5SettingsJump directly to category: General (1), Sorting (2), Scan (3), Theme (4), Keybindings (5)
Esc / qDebugLogsExit Debug Logs (or clear filter if active) and return to Home
c / C / xDebugLogsClear all debug logs and reset scroll
/DebugLogsEnter fuzzy search query mode
EnterDebugLogs (Search)Finish typing query and lock focus to log list scrolling
EscDebugLogs (Search)Clear query character/text or exit search mode
BackspaceDebugLogs (Search)Erase query character
CharDebugLogs (Search)Type query character
/ / k / jDebugLogsScroll debug logs list
PgUp / PgDnDebugLogsScroll debug logs list by page size
Home / EndDebugLogsJump to top / bottom of debug logs
BackspaceEditingErase one character
TabTag CreationSwitch focus between Tag Name and Tag Message input fields
y / YConfirm DialogConfirm action (delete item/branch/tag, push branch/tag/all tags, tag overwrite, abort/continue merge)
f / FConfirm DialogForce push tag (--force) in Tag Push confirmation dialog
t / TConfirm DialogPush branch with tags (--tags) in Branch Push confirmation dialog
n / N / EscConfirm DialogCancel action
? / Esc / qHelpClose the help overlay
Esc / qDetailReturn to the list
Tab / Shift+TabDetailCycle active detail view tabs within the active group (Primary vs. Advanced)
w / WDetailCycle panel focus forward (w) / backward (W)
1 - 7DetailJump directly to Primary tab: Workspace (1), Files (2), Graph (3), Branches (4), Tags (5), Remotes (6), Stashes (7)
1 - 5DetailJump directly to Advanced tab: Worktrees (1), Submodules (2), Reflog (3), Issues (4), PRs (5) (when Advanced group is active)
XDetailToggle between Primary and Advanced tab groups
ODetailToggle full-screen repository Overview overlay
/ kDetailMove selection or scroll list/diff/tree up
/ jDetailMove selection or scroll list/diff/tree down
PgUp / PgDnDetail / Normal / SettingsScroll list/diff/tree/settings by configured page_size
Home / EndDetail / Normal / SettingsJump to top / bottom of list/diff/tree/settings
EnterDetailStage/Unstage file (Workspace tab), checkout branch (Branches tab), checkout tag (Tags tab), open worktree in new context (Worktrees tab), checkout commit (Reflog tab), or Inspect commit
F (or f/F in Remotes)DetailFetch remote repository (Branches / Tags / Remotes tabs)
pDetailPull selected local branch from remote (Branches tab), Push selected tag (Tags tab; asks confirmation), or Prune stale worktree metadata (Worktrees tab)
Shift+PDetailPush selected local branch to remote (Branches tab) or Push all tags (Tags tab; asks confirmation)
/ DetailFocus Local/Remote branch (Branches tab) or Local/Remote tag (Tags tab)
/ or < / > or , / .DetailCollapse/Expand directory (Files tab)
/DetailFuzzy find files (Files tab) / commits (Workspace commits list / Logs view) / branches (Branches tab) / tags (Tags tab)
e / oDetailOpen selected file in configured terminal editor (Files tab)
Shift+HDetailView selected file's commit/revision history (Files tab)
cDetailOpen commit prompt (Workspace tab or Inspect view), or Create branch from HEAD (Branches tab)
aDetailToggle "Assigned to me" / "All Open" issues (Issues tab), Stage All (Workspace tab Unstaged focus) / Unstage All (Workspace tab Staged focus), Apply stash (Stashes tab), or Add worktree (Worktrees tab)
nDetailAdd line comment to selected PR (PRs tab)
xDetailDiscard selected file changes (Workspace tab or Inspect view; asks confirmation)
XDetailDiscard all changes in repository (Workspace tab or Inspect view; asks confirmation)
iDetailInteractive rebase from selected commit (Workspace tab commits list)
GDetailLoad more commits (Workspace commits list / Logs view)
lDetailOpen Logs view (Workspace tab commits list focus) or Toggle lock status (Worktrees tab; asks reason/unlocks)
DDetailDelete selected branch (Branches tab; asks confirmation), tag (Tags tab; asks confirmation), stash (Stashes tab; asks confirmation), or remove worktree (Worktrees tab; asks confirmation)
s / SDetailStage selected hunk/line (Workspace tab StagingDetails focus), open Stashing UI overlay (Workspace tab files list focus), Prompt to save stash (Stashing UI / Stashes tab), or Open Repository Settings popup (Overview overlay)
u / UDetailUnstage selected hunk/line (Workspace tab StagingDetails focus), or Toggle "Stash untracked files" option (Stashing UI)
iDetailToggle "Keep index" option (Stashing UI)
Ctrl+UInput (Stash)Toggle "Stash untracked files" option (Stash Create popup)
Ctrl+IInput (Stash)Toggle "Keep index" option (Stash Create popup)
mDetailMerge selected branch into current branch (Branches tab; asks confirmation)
rDetailRebase current branch onto selected branch (Branches tab; asks confirmation)
o / ODetailCheckout selected commit (Workspace commits list), or Accept OURS version of conflict (Workspace tab Conflicts / ConflictDiff)
tDetailAccept THEIRS version of conflict (Workspace tab Conflicts / ConflictDiff)
rDetailMark conflict as resolved (Workspace tab Conflicts / ConflictDiff)
ADetailAbort the merge (Workspace tab Conflicts / ConflictDiff; asks confirmation)
CDetailContinue the merge (Workspace tab Conflicts / ConflictDiff; asks confirmation)
MDetailOpen external mergetool (Workspace tab Conflicts / ConflictDiff)
fDetailOpen search column picker and go to logs (Workspace tab)
RDetailResync the active tab state
?DetailToggle detail help overlay
Esc / q / ?DetailHelpClose detail help overlay
⌃S (Ctrl+S)CommitInput (Edit)Submit / execute Git commit directly from edit mode
⌃A (Ctrl+A)CommitInput (Edit)Toggle amend last commit option
⌃D (Ctrl+D)CommitInput (Edit)Maximize / restore the popup window size
⌃C (Ctrl+C)CommitInput (Edit)Finish editing commit message (switches to confirm state)
⌃H (Ctrl+H)CommitInput (Edit)Open commit history picker
⌃U (Ctrl+U)CommitInput (Edit)Clear entire commit message buffer
(Enter)CommitInput (Edit)Insert a newline
BackspaceCommitInput (Edit)Erase one character from commit message
EscCommitInputCancel commit and return to Detail view
(Enter)CommitInput (Confirm)Submit / execute Git commit
e / ECommitInput (Confirm)Edit / resume typing commit message
a / A / SpaceCommitInput (Confirm)Toggle amend last commit option
x / X / u / UCommitInput (Confirm)Clear entire commit message buffer
Left-Click (Mouse)NormalSelect the clicked item
Double-Click (Mouse)NormalOpen Detail view for clicked item
Left-Click (Mouse)DetailShift focus to the clicked panel or change active tab
Left-Click + Drag (Mouse)DetailDrag panel boundary splitters to dynamically resize layout splits
Scroll Wheel (Mouse)Normal / DetailScroll selected list, graph view, branches, tree items, or unified diffs

Press ? at any time in normal mode to see the full keybinding reference as a centered popup. The help overlay only handles the dismissal keys — your selection and scroll position are preserved underneath.

The selected card's border color mirrors the current operation mode:

  • Default (Muted) — browsing the list (unselected).
  • Cyan — browsing the list (selected).
  • Yellow — typing into the input field during add/edit; the selected card's border turns yellow so you can see exactly which item will be replaced.
  • Red — awaiting delete confirmation; the doomed card's border turns red.

The selected item is marked with a left-edge accent, a colored border, and bold text. In ADDING and EDITING modes the real terminal cursor sits at the end of your input so you can see exactly where the next character will land.

Repository Settings Popup controls:

When viewing the Repository Settings popup (entered via s on the repository Overview page):

  • / / j / k — Navigate settings rows.
  • Enter / Space — Toggle/Edit the selected setting:
    • For editable fields (Page Size, Max Commits, Editor Command, User Note, Git LFS Track): starts/enters editing mode (type and press Enter to confirm, Esc to cancel).
    • For action fields (Git LFS Pull, LFS Storage Size): triggers the pull background job or refreshes the storage size.
  • / / h / l — Cycle options (Theme, Resync on Tab Change).
  • Esc / q — Close repository settings popup and return to repository Detail view.