Skip to content

Keyboard Shortcuts

Workbench supports keyboard shortcuts for fast navigation and common actions. Hold (macOS) or Ctrl (Linux) to reveal shortcut badges on UI elements. Tooltips and command-palette shortcut labels use your current Settings → Keyboard bindings, so disabled or rebound shortcuts are reflected in the UI.

ShortcutAction
⌘/Ctrl + BToggle sidebar
⌘/Ctrl + DToggle diff panel (right sidebar). Terminal panes use terminal-only D bindings instead; see Terminal Panes.
⌘/Ctrl + `Toggle terminal panel
⌘/Ctrl + ,Open/close settings
⌘⇧W (macOS)Close the window (hides to tray on macOS). ⌘W is reserved for the terminal — see Terminal Panes.

The unified tab strip holds chat sessions, diff tabs, file tabs, and any other workspace tabs in one drag-reorderable row. The bracket shortcuts cycle the strip in order, with wrap-around.

ShortcutAction
⌘/Ctrl + TNew tab — chat session by default, or new file when a file is open
⌘/Ctrl + WClose the active tab
⌘/Ctrl + Shift + [Previous tab in the unified tab strip
⌘/Ctrl + Shift + ]Next tab in the unified tab strip
⌘/Ctrl + 1⌘/Ctrl + 9Jump to project by index
⌘/Ctrl + Shift + NNew workspace in the current project

⌘/Ctrl + Shift + N resolves which project to target in this order: the project-scoped view’s pinned repo → the active workspace’s repo → the first local repo. The new workspace is auto-named, the parent repo group is force-expanded in the sidebar, and the workspace is selected so you land in its chat view.

To switch between workspaces in the same project, click them in the sidebar or use the fuzzy finder (⌘/Ctrl + K) — the bracket shortcuts no longer specifically cycle workspaces, since the unified tab strip subsumed that intent.

ShortcutAction
⌘/Ctrl + KToggle fuzzy finder (workspace search)
⌘/Ctrl + PGo to file — Quick Open the workspace file picker
⌘/Ctrl + OGo to file (alternate). Kept after the Cmd+P swap so existing muscle memory still works; rebindable / disable-able in Settings → Keyboard.
⌘/Ctrl + Shift + PToggle command palette
⌘/Ctrl + FSearch — opens the terminal scrollback search bar when a terminal pane is focused, otherwise searches the active chat transcript
⌘/Ctrl + /Show the keyboard-shortcuts reference
⌘/Ctrl + 0Toggle focus between the chat input and the active terminal pane

Cmd/Ctrl+P and Cmd/Ctrl+Shift+P match VS Code’s defaults. The bindings can be customised — or fully swapped back to the pre-1.x defaults — in Settings → Keyboard.

These fire while a file is open in the editor pane. They mostly mirror Monaco’s defaults, surfaced through the File / Edit / View / Go menubar above the editor — see File Editor for the full reference.

ShortcutAction
⌘/Ctrl + SSave the active file
⌘/Ctrl + FFind in the current file
⌥⌘F (macOS) / Ctrl+H (Linux/Windows)Find and replace
⇧⌥F (macOS) / Ctrl+Shift+I (Linux/Windows)Format the current document
⌃G (macOS) / Ctrl+G (Linux/Windows)Go to line
⌘⇧O (macOS) / Ctrl+Shift+O (Linux/Windows)Go to symbol in the current file
⌘/Ctrl + Shift + VToggle the Markdown preview for the active file
⌘/Ctrl + ZUndo the last file-tree operation (create / rename / move / delete)
ShortcutAction
⌘/Ctrl + =Increase UI font size
⌘/Ctrl + -Decrease UI font size
⌘/Ctrl + Shift + =Increase terminal font size only
⌘/Ctrl + Shift + -Decrease terminal font size only
ShortcutAction
Shift + TabToggle plan mode
⌘/Ctrl + EnterSkip the queue — send the typed message immediately as a mid-turn steer instead of queuing it for after the current turn
EscapeDismiss current overlay, or stop running agent
ShortcutAction
⌘⇧M (macOS) / Ctrl+Shift+M (Linux/Windows)Toggle voice recording
Right ⌥ (macOS only)Hold to record, release to transcribe

Both shortcuts are customisable in Settings → Keyboard → Voice. The hold-to-talk key is macOS-only by default but can be bound to any key on any platform. See Voice Input for provider setup.

These fire only when a terminal pane has keyboard focus — they shadow the equivalent global shortcuts where applicable (e.g. ⌘D toggles the diff panel when the chat is focused but splits the terminal on macOS when the terminal is focused; Linux/Windows keep bare Ctrl+D for shell EOF and use Ctrl+Shift+D instead).

ShortcutAction
⌘D (macOS) / Ctrl+Shift+D (Linux)Split pane side-by-side
⌘⇧D (macOS) / Ctrl+Shift+Alt+D (Linux)Split pane stacked
⌘W (macOS) / Ctrl+Shift+W (Linux)Close the focused pane (or the tab when it’s the last pane)
⌘⌥←/→/↑/↓ (macOS) / Ctrl+Alt+arrow (Linux)Move focus to the neighboring pane
⌘T (macOS) / Ctrl+Shift+T (Linux)New terminal tab
⌘⇧[ / ⌘⇧]Previous / next terminal tab
⌘/Ctrl + FSearch the active pane’s scrollback — opens an in-panel bar with match counter and next/prev controls
⌘/Ctrl + = / ⌘/Ctrl + -Global UI zoom; terminal intercepts the keys so they do not reach the shell
⌘/Ctrl + Shift + = / ⌘/Ctrl + Shift + -Terminal font size only

When multiple overlays are open, Escape dismisses them in this order:

  1. Command Palette (whether opened via ⌘/Ctrl + Shift + P for command mode or ⌘/Ctrl + P for Quick Open file mode)
  2. Settings
  3. Modal dialogs
  4. Fuzzy Finder
  5. Diff panel
  6. Stop running agent

Inside Settings, Escape peels off one layer at a time: open dropdowns (font picker, default-terminal picker, native <select>), rebind capture, and inline editors (pinned prompts) are dismissed first. Only when no inner overlay is active does Escape exit Settings and return to the app — ⌘/Ctrl + , and the “Back to app” control remain available as direct exits.

Stopping an agent with Escape preserves queued chat messages and pauses automatic queue delivery until you choose what to send next.

All keyboard shortcuts can be remapped in Settings > Keyboard Shortcuts. Each row shows the action name, the current binding, and a rebind button. Click the binding cell to enter capture mode — press the new key combination and it replaces the old one immediately. Custom bindings are reflected everywhere: tooltips, command palette labels, and the shortcut badges that appear when you hold /Ctrl.

To restore a single shortcut, click the reset button on that row. To restore everything, use the Reset all button at the top of the section.

The keyboard shortcuts settings section includes a search field at the top. Type an action name — or part of one — to filter the list down to matching bindings. This is the fastest way to find a shortcut when you know the action but not the key.

Right Alt (Right ⌥ on macOS) works as a push-to-talk key for voice input: hold to record, release to transcribe. The binding is customisable in Settings > Keyboard > Voice alongside the toggle shortcut. See Voice Input for provider setup.

The ⌘/Ctrl + 1 through ⌘/Ctrl + 9 workspace-jump shortcuts are scoped to the current sidebar filter mode. If the sidebar is filtered to a single project, the number keys jump between that project’s workspaces rather than across all projects. Switch back to the unfiltered view and the same keys jump across top-level entries again.

When you hold (macOS) or Ctrl (Linux) without pressing another key, Workbench shows shortcut badges on relevant UI elements — sidebar toggle, diff panel, terminal, Ralph panel, and settings buttons. Release the modifier key to hide them. Hover tooltips show the same current binding when the related shortcut is enabled.


Original source: utensils.io/claudette