> ## Documentation Index
> Fetch the complete documentation index at: https://mux-mike-promote-experiments.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Keyboard Shortcuts

> Complete keyboard shortcut reference for Xum

Xum is designed to be keyboard-driven for maximum efficiency. All major actions have keyboard shortcuts.

<Info>
  This document should be kept in sync with `src/browser/utils/ui/keybinds.ts`, which is the source
  of truth for keybind definitions.
</Info>

## 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

| Action | Shortcut |
| - | - |
| Cancel / Close / Interrupt | `Esc` |

## Chat & Messages

| Action | Shortcut |
| - | - |
| Focus chat input | `a`, `i`, or `Ctrl+I` |
| Send message | `Enter` |
| Send after turn | `Ctrl+Enter` |
| New line in message | `Shift+Enter` |
| Cancel editing message | `Esc` |
| Jump to bottom of chat | `Shift+G` |
| Cycle model | `Ctrl+/` |
| Increase thinking level | `Ctrl+Shift+]` |
| Decrease thinking level | `Ctrl+Shift+[` |

## Workspaces

| Action | Shortcut |
| - | - |
| Create new workspace | `Ctrl+N` |
| Next workspace | `Ctrl+J` |
| Previous workspace | `Ctrl+K` |
| Open workspace in terminal | `Ctrl+T` |

## Modes

| Action | Shortcut |
| - | - |
| Toggle between Plan and Exec modes | `Ctrl+Shift+M` |

## Interface

| Action | Shortcut |
| - | - |
| Open command palette | `Ctrl+Shift+P` |
| Toggle sidebar | `Ctrl+P` |

### 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 `>`.

## 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
