Keyboard shortcuts
Every chord below is bound in the app. Written as Command, but each row says which modifier it really takes: a few are Command-only on purpose, because Ctrl belongs to the terminal.
The desktop app's menu bar adds the stock items on top of this — force reload, zoom in and out, reset zoom, full screen — on whatever accelerators your platform gives them.
Global
These work anywhere in the window, including while a terminal has focus.
| Keys | What it does |
|---|---|
| ⌘+K or Ctrl+K | Open the command palette |
| ⌘+B or Ctrl+B | Show or hide the left sidebar |
| ⌘+L | Show or hide the sessions rail |
| ⌘+⇧+← or Ctrl+⇧+← | Previous workspace |
| ⌘+⇧+→ or Ctrl+⇧+→ | Next workspace |
| ⌘+⌥+I or Ctrl+⌥+I | Toggle DevTools (desktop app only) |
| ⌘+R or Ctrl+R | Reload (desktop app only) |
| ⇧+⌘+W or ⇧+Ctrl+W | Close the window (desktop app only) |
Shift is what separates the workspace chords from the hub's tab switcher, which is plain Command and arrows.
Reload is context-aware: with a preview browser on screen it reloads that page, otherwise it reloads the app. The menu's force reload always reloads the app.
In a text input the workspace chord is left alone, because there it extends the selection. Terminals are the exception: it works inside a terminal.
The command palette searches worktrees, repos and workspaces at once, including worktrees in workspaces you are not currently in. Arrow keys move the selection, Enter opens, Escape closes.
Hub
The hub is the tabbed surface a worktree opens into.
| Keys | What it does |
|---|---|
| ⌘+← | Cycle back through this worktree's tabs |
| ⌘+→ | Cycle forward through this worktree's tabs |
| Enter | Commit the tab switcher's selection |
| Esc | Cancel the tab switcher |
| ⌘+T | New shell in the active worktree |
| ⌘+W | Close the active tab |
| ⌘+D | Split the focused pane side by side |
| ⌘+⇧+D | Split the focused pane top and bottom |
The tab switcher is hold-and-tap, not tap-once. Hold Command, tap an arrow to walk a strip of cards with live previews, and release Command to commit. The list is most-recently-used first, so one press of ⌘+→ lands on the tab you were in before this one.
Note
⌘+W closes the hub tab, not the window — which is why Close Window moved to ⇧+⌘+W. Inside the embedded VS Code tab, ⌘+W is left to the editor. ⌘+D is also left to VS Code, where it means add next match.
Escape in the hub peels one layer at a time: the add-session menu first, then the logs drawer.
Terminal
| Keys | What it does |
|---|---|
| Ctrl+⇧+C | Copy the terminal selection |
Plain Ctrl+C stays SIGINT. On Linux, selecting text in a terminal copies it, following the platform convention.
Diff and commit
| Keys | What it does |
|---|---|
| ↑ | Previous file in the list |
| ↓ | Next file in the list |
| Esc | Close the diff, or the layer above it |
Arrow keys walk the files in the order they are displayed — staged section first, then unstaged. Typing in the commit message or a search box keeps the native caret behaviour.
The board itself binds no keys of its own. Rows are opened by clicking and reordered by dragging; everything else on the board is reachable through the global chords above.
Where to go next
- Workspaces — what the workspace chords move between
- The hub — the surface most of these belong to
- The board