Skip to main content
LazyWorktree provides a comprehensive set of keyboard shortcuts for efficient worktree management. This page documents all available key bindings organized by context.

Main Key Bindings

These key bindings are available in the main worktree list view:
KeyAction
EnterJump to worktree (exit and cd)
j, kMove selection up/down in lists and menus
cCreate new worktree (from branch, commit, PR/MR, or issue)
iOpen selected worktree notes (viewer if present, editor if empty)
TOpen Taskboard (grouped view of markdown checkbox tasks across worktrees)
mRename selected worktree
DDelete selected worktree
dView diff in pager (worktree or commit, depending on pane)
AAbsorb worktree into main
XPrune merged worktrees (refreshes PR data, checks merge status)
!Run arbitrary command in selected worktree (with command history)
vView CI checks (Enter opens in browser, Ctrl+v views logs in pager)
oOpen PR/MR in browser (or root repo in editor if main branch with merged/closed/no PR)
ctrl+p, :Command palette
gOpen LazyGit
rRefresh list (also refreshes PR/MR/CI for current worktree on GitHub/GitLab)
RFetch all remotes
SSynchronise with upstream (pull + push, requires clean worktree)
PPush to upstream (prompts to set upstream if missing)
fFilter focused pane (worktrees, files, commits)
/Search focused pane (incremental)
alt+n, alt+pMove selection and fill filter input
, Move selection (filter active, no fill)
sCycle sort mode (Path / Last Active / Last Switched)
HomeGo to first item in focused pane
EndGo to last item in focused pane
?Show help
qQuit

Pane Navigation

Use number keys to focus specific panes, or navigation keys to move between them:
KeyAction
1Focus Worktree pane (toggle zoom if focused)
2Focus Status pane (toggle zoom if focused)
3Focus Git Status pane (toggle zoom if focused)
4Focus Commit pane (toggle zoom if focused)
5Focus Notes pane (toggle zoom if focused; only visible when worktree has a note)
h, lNavigate left/right (h=worktree pane, l=cycle right panes)
Tab, ]Cycle to next pane
[Cycle to previous pane
=Toggle zoom for focused pane (full screen)
LToggle layout (default / top)

Clipboard Operations

KeyAction
yCopy to clipboard (context-aware: path in worktrees, file path in git status, SHA in commit; uses OSC52, works over SSH)
YCopy selected worktree branch name to clipboard
Clipboard operations use OSC52, which means they work seamlessly over SSH connections without requiring local clipboard utilities.

Commit Pane

When focused on the commit log:
KeyAction
EnterOpen commit file tree (browse files changed in commit)
dShow full commit diff in pager
CCherry-pick commit to another worktree
j/kNavigate commits
ctrl+jNext commit and open file tree
/Search commit titles (incremental)

Commit File Tree

When viewing files in a commit:
KeyAction
j/kNavigate files and directories
EnterToggle directory collapse/expand, or show file diff
dShow full commit diff in pager
fFilter files by name
/Search files (incremental)
n/NNext/previous search match
ctrl+d, SpaceHalf page down
ctrl+uHalf page up
g, GJump to top/bottom
q, EscReturn to commit log

Status Pane

Displays PR info, CI checks, notes, and divergence status:
KeyAction
j/kNavigate CI checks (when visible)
EnterOpen selected CI check URL in browser
Ctrl+vView selected CI check logs in pager
Ctrl+rRestart CI job (GitHub Actions only)

Git Status Pane

Displays changed files in a collapsible tree view, grouped by directory:
KeyAction
j/kNavigate between files and directories
EnterToggle directory expand/collapse, or show diff for files
eOpen selected file in editor
dShow full diff of all files in pager
sStage/unstage selected file or directory
DDelete selected file or directory (with confirmation)
cCommit staged changes
CStage all changes and commit
gOpen LazyGit
ctrl+←, ctrl+→Jump to previous/next folder
/Search file/directory names (incremental)
ctrl+d, SpaceHalf page down
ctrl+uHalf page up
PageUp, PageDownHalf page up/down

Filter Mode

Applies to focused pane (worktrees, files, commits). Active filter shows [Esc] Clear hint.
KeyAction
fShow the filter input in selection menus
alt+n, alt+pNavigate and update filter input
, , ctrl+j, ctrl+kNavigate without changing input
EnterExit filter mode (filter remains)
Esc, Ctrl+CClear filter
Press Esc to return to the list while keeping the current filter active. This allows you to see the filtered results without the input field.

Search Mode

KeyAction
/Enter search mode
TypeJump to the first matching item
n, NNext / previous match
EnterClose search
Esc, Ctrl+CClear search

Notes Viewer and Editor

Press i to open notes for the selected worktree. If a note already exists, LazyWorktree opens a viewer first; if no note exists, it opens the editor.

Notes Viewer

KeyAction
j/k, /Scroll up/down
Ctrl+D/Ctrl+UHalf-page navigation
g/GJump to top/bottom
eEdit note
q, EscClose viewer

Notes Editor

KeyAction
Ctrl+SSave note
Ctrl+XOpen in external editor
EnterAdd a new line
EscCancel editing
Worktrees with notes display a note marker beside the name. The Info pane renders Markdown formatting for headings, bold text, inline code, lists, quotes, links, and fenced code blocks. Uppercase note tags such as TODO, FIXME, or WARNING: are highlighted with icons outside fenced code blocks, whilst lowercase tags remain unchanged.

Taskboard

Press T to open Taskboard, a Kanban-lite view grouped by worktree:
KeyAction
j/kMove selection up/down
Enter, SpaceToggle task completion
aAdd a new task
fFilter tasks
q, EscClose Taskboard
Taskboard collects only markdown checkbox items from notes (for example, - [ ] draft release notes and - [x] update changelog).

Command History

When using the ! key to run arbitrary commands:
KeyAction
/Navigate command history
Command history is saved per repository with a maximum of 100 entries, making it easy to re-run frequently used commands.

Command Palette Actions

Access the command palette with ctrl+p or ::
  • Select theme: Change theme with live preview
  • Create from current branch: Copy current branch to a new worktree. Tick “Include current file changes” to carry over uncommitted changes

Mouse Controls

ActionDescription
ClickSelect and focus panes or items
ScrollNavigate lists in any pane
Whilst LazyWorktree is optimised for keyboard-driven workflows, mouse support is available for those who prefer it or are learning the keyboard shortcuts.

Build docs developers (and LLMs) love