Key Bindings¶
Tip: use this page by context. Start with global controls, then jump to the pane you are working in.
Jump by Context¶
- Global Controls
- Pane Focus and Layout
- Notes and Taskboard
- Commit Pane
- Commit File Tree
- Status Pane
- Git Status Pane
- Filter and Search Modes
- Command History and Palette
- Mouse Controls
Global Controls¶
| Key | Action |
|---|---|
Enter |
Jump to worktree (exit and cd) |
j, k |
Move selection up/down in lists and menus |
c |
Create new worktree (from branch, commit, PR/MR, or issue) |
e |
Open the worktree metadata menu (description, colour, notes, icon, tags) |
T |
Open Taskboard (grouped markdown checkbox tasks across worktrees) |
m |
Rename selected worktree |
D |
Delete selected worktree |
d |
View diff in pager (worktree or commit, depending on pane) |
A |
Absorb worktree into main |
X |
Prune merged worktrees and stale branches (refreshes PR data, checks merge status; stale branches require prune_stale_branches config) |
! |
Run arbitrary command in selected worktree (with command history) |
v |
View CI checks (Enter opens browser, Ctrl+v opens logs in pager) |
o |
Open PR/MR in browser (or root repo in editor if main branch with merged/closed/no PR) |
f1, ctrl+p, : |
Command palette |
g |
Open LazyGit |
r |
Refresh list (also refreshes PR/MR/CI for current worktree) |
R |
Fetch all remotes |
S |
Synchronise with upstream (pull + push, requires clean worktree) |
P |
Push to upstream (prompts to set upstream if missing) |
f |
Filter focused pane (worktrees, files, commits) |
/ |
Search focused pane (incremental) |
alt+n, alt+p |
Move selection and fill filter input |
↑, ↓ |
Move selection (filter active, no fill) |
s |
Cycle sort mode (Path / Last Active / Last Switched) |
Home |
Go to first item in focused pane |
End |
Go to last item in focused pane |
? |
Show help |
q |
Quit |
y |
Copy context-aware value to clipboard (path/file/SHA via OSC52) |
Y |
Copy selected worktree branch name to clipboard |
Pane Focus and Layout¶
| Key | Action |
|---|---|
1 |
Focus Worktree pane (toggle zoom if already focused) |
2 |
Focus Status pane (toggle zoom if already focused) |
3 |
Focus Git Status pane (toggle zoom if already focused) |
4 |
Focus Commit pane (toggle zoom if already focused) |
5 |
Focus Notes pane (toggle zoom if already focused; only when note exists) |
6 |
Focus Agent Sessions pane (toggle zoom if already focused; reveals historical matches when nothing is open) |
h, l |
Shrink / Grow worktree pane |
Tab, ] |
Cycle to next pane |
[ |
Cycle to previous pane |
= |
Toggle zoom for focused pane |
L |
Toggle layout (default / top) |
Notes and Taskboard¶
Notes Viewer and Editor¶
Open notes from the worktree metadata menu with e in the Worktree pane.
- If a note exists, lazyworktree opens the viewer first.
- If no note exists, lazyworktree opens the editor.
- With the Notes pane focused,
iopens the editor for the current note.
Viewer controls: j/k, arrows, Ctrl+D, Ctrl+U, g, G, e, q, Esc.
Editor controls: Ctrl+S, Ctrl+X, Enter, Esc.
The Info pane renders Markdown and highlights uppercase tags such as TODO, FIXME, and WARNING: outside fenced code blocks.
Taskboard¶
Press T to open Taskboard (Kanban-lite grouped by worktree notes).
- Collects markdown checkboxes, e.g.
- [ ] draft release notes.
Agent Sessions Pane¶
Shows Claude and pi sessions whose working directory is inside the selected worktree. By default it shows only confirmed active sessions, then lets you expand to recent and heuristic matches.
| Key | Action |
|---|---|
j, k |
Move between matching sessions |
Ctrl+d, Ctrl+u |
Page down / up |
g, G |
Jump to top / bottom |
A |
Toggle between active sessions only and all matching sessions |
6 |
Focus Agent Sessions pane (or toggle zoom if already focused) |
Commit Pane¶
| Key | Action |
|---|---|
Enter |
Open commit file tree (browse files changed in commit) |
d |
Show full commit diff in pager |
C |
Cherry-pick commit to another worktree |
j/k |
Navigate commits |
ctrl+j |
Next commit and open file tree |
/ |
Search commit titles (incremental) |
Commit Status Indicators¶
Each commit in the log pane displays an indicator showing its push and merge status:
| Indicator | Colour | Meaning |
|---|---|---|
↑ |
Red | Unpushed — commit has not been pushed to the remote |
★ |
Yellow | Unmerged — pushed to the remote but not yet in the main branch |
| Author initials | Author colour | Merged — no special indicator |
Commit File Tree¶
| Key | Action |
|---|---|
j/k |
Navigate files and directories |
Enter |
Toggle directory collapse/expand, or show file diff |
d |
Show full commit diff in pager |
f |
Filter files by name |
/ |
Search files (incremental) |
n/N |
Next/previous search match |
ctrl+d, Space |
Half page down |
ctrl+u |
Half page up |
g, G |
Jump to top/bottom |
q, Esc |
Return to commit log |
Status Pane¶
Displays PR info, CI checks, notes, and divergence status.
| Key | Action |
|---|---|
j/k |
Navigate CI checks (when visible) |
Enter |
Open selected CI check URL in browser |
Ctrl+v |
View selected CI check logs in pager |
Ctrl+r |
Restart CI job (GitHub Actions only) |
Git Status Pane¶
Displays changed files in a collapsible tree view grouped by directory.
| Key | Action |
|---|---|
j/k |
Navigate files and directories |
Enter |
Toggle directory expand/collapse, or show file diff |
e |
Open selected file in editor |
d |
Show full diff of all files in pager |
s |
Stage/unstage selected file or directory |
D |
Delete selected file or directory (with confirmation) |
c |
Open the commit screen for staged changes from the Git Status pane |
Ctrl+G |
Open the commit screen from anywhere (subject + body screen; Ctrl+X opens external editor when configured) |
C |
Stage all changes and commit |
g |
Open LazyGit |
ctrl+←, ctrl+→ |
Jump to previous/next folder |
/ |
Search file/directory names (incremental) |
ctrl+d, Space |
Half page down |
ctrl+u |
Half page up |
PageUp, PageDown |
Half page up/down |
Commit screen controls: Tab, Enter, Ctrl+S, Ctrl+O, Ctrl+X, Esc.
Filter and Search Modes¶
Filter Mode¶
Applies to focused pane (worktrees, files, commits). Active filter shows [Esc] Clear.
alt+n,alt+p: navigate and update filter input↑,↓,ctrl+j,ctrl+k: navigate without changing inputEnter: exit filter mode (filter remains)Esc,Ctrl+C: clear filter
Search Mode¶
- Type to jump to the first match
n,N: next/previous matchEnter: close searchEsc,Ctrl+C: clear search
Command History and Palette¶
- Command history (
!) is saved per repository (max 100 entries). - Use
↑/↓to navigate command history. - In Command Palette:
- Select theme changes theme with live preview (see Themes).
- Create from current branch can include current file changes and may use
branch_name_script.
Mouse Controls¶
- Click: select and focus panes or items.
- Scroll: navigate lists in any pane.