Skip to content

Keyboard control

The board is fully drivable from the keyboard on macOS.

Keys Does
⌘⌥ + arrows move between cards — 2D on the grid, left/right in the focus strip
⌘⌥Return focus mode in and out
⇧⌘⌥ + arrows swap the selected card with its neighbour
⌃⌘↑ / ⌃⌘↓ cycle workspaces
⌘K search
⌥⌘C copy the last command’s output
⌘⌥← selected ⌘⌥↩ to focus ⌘⌥→ ⌘⌥↓ Add Shift to swap the two cards instead of moving the selection
Navigation is relative to the card you are on, in two dimensions — the same keys walk the focus strip left and right.

The stepper that opens from + next to Workspaces is fully keyboard-driven with the same ⌘⌥ chords as the board — plain arrows, Return and Esc stay with whatever card or field has them. A hint at its top-right names the chords of the page you are on.

Keys Page What happens
⌘⌥↑ ⌘⌥↓ every page move the cursor: source tiles, folders, projects, repositories
⌘⌥Return or ⌘⌥→ tiles, projects, repositories open the tile, add the project, choose the repository
⌘⌥Return or ⌘⌥→ folder browser enter the highlighted folder
⌘⌥← folder browser go up one folder
⇧⌘⌥Return File System, clone target Create the workspace / start the clone
⌘⌥Return failed clone try again
⌘⌥Delete every page back one step; from the first page out of the panel
Tab pages with a text field into the name / filter / URL field as usual

When the new workspace lands on its empty board, the cursor is already on the start options: ⌘⌥↑ ⌘⌥↓ pick a tool, ⌘⌥Return starts it — the whole way from + to a running agent without touching the mouse.

Two rules shaped the layout, and they explain why the shortcuts run slightly long:

Every Offsite shortcut contains Command. macOS reserves Command for the application, so a combination containing it is never delivered to the terminal. That means Offsite can never eat a keybinding your shell, your editor or your agent CLI depends on. Bare Esc, Ctrl-C, Ctrl-R and friends always belong to the session.

Option is there because Command alone collided with the caret. ⌘← and ⌘→ are line-start and line-end in any text field, so board navigation with plain +arrows did nothing while you were editing a commit message or a file. Moving to ⌘⌥ fixed it: those are not caret commands, so Offsite can intercept them even over a focused editor, and plain +arrows fall through to the editor untouched.

Arrows and Return are layout-independent, so the shortcuts work the same on a Swiss or a German keyboard.

  • Implemented as a local NSEvent monitor on the board, which sees the key before the first responder. That is what lets ⌘⌥ combos win over a focused text view by construction rather than by luck.
  • ⌘⌥Esc is deliberately never bound — that is macOS Force Quit.
  • The old shell prompt-jump binding (⌥⌘↑/⌥⌘↓) was removed because it collided with navigation.
  • Plain / navigation inside the Git card’s file list is unchanged and does not need modifiers.
  • iOS has no keyboard shortcut layer; use the command bar instead.