Skip to main content
Xum is designed to be keyboard-driven for maximum efficiency. All major actions have keyboard shortcuts.
This document should be kept in sync with src/browser/utils/ui/keybinds.ts, which is the source of truth for keybind definitions.

Platform Conventions

  • macOS: Shortcuts use ⌘ (Command) as the primary modifier
  • Linux/Windows: Shortcuts use Ctrl as the primary modifier
When documentation shows Ctrl, it means:
  • ⌘ (Command) on macOS
  • Ctrl on Linux/Windows

General

Chat & Messages

Background Processes

In the desktop app and the VS Code extension, Ctrl+Shift+J focuses the background processes strip (again, or Esc, collapses it). On a focused row, ↓/↑ move, Enter opens the output, and Backspace terminates the process.

Workspaces

Modes

Interface

Command Palette

The command palette (Ctrl+Shift+P) has two modes:
  • Default (no prefix): Workspace switcher - shows only switching commands
  • > prefix: Command mode - shows all other commands (create/delete/rename workspaces, navigation, chat, modes, projects, etc.)
  • / prefix: Slash commands - shows slash command suggestions for inserting into chat
This separation keeps the switcher clean and fast while making all other commands easily accessible via >.

Artifacts tab (experimental)

These work when the Artifacts experiment is on. Shortcuts other than opening the tab only apply while focus is inside the Artifacts tab (inside an HTML or SVG preview, Shift+F and Esc only exit fullscreen). On narrow windows, where the right sidebar is hidden, Ctrl+Shift+K opens the Artifacts dialog instead. The image zoom shortcuts apply while focus is on the image or its zoom controls.

Report slowness (experimental)

This works when the Performance flight recorder experiment is on. It is also in the command palette (Help section). See Report slowness for what the report folder contains and what to review before you share it.

Session tapes (experimental)

These work when the Session tapes experiment is on. Both commands are also in the command palette. Tapes hold your full chat: do not share them.

Tips

  • Vim-inspired navigation: We use J/K for next/previous navigation, similar to Vim
  • VS Code conventions: Command palette is Ctrl+Shift+P and quick toggle is Ctrl+P (use ⌘ on macOS)
  • Consistent modifiers: Most workspace/project operations use Ctrl as the modifier
  • Natural expectations: We try to use shortcuts users would naturally expect (e.g., Ctrl+N for new)
  • Focus anywhere: Use Ctrl+I to quickly jump to the chat input from anywhere in the application
  • Per-model thinking: Ctrl+Shift+] / Ctrl+Shift+[ step thinking effort up/down (clamped at the model’s range) and remember your last preference for each model
  • Terminal access: Ctrl+T opens the current workspace in your system terminal