Summary
Add a command palette triggered by ⌘K — a global overlay for quickly navigating conversations, switching models, and running app commands without leaving the keyboard.
Motivation
Power users shouldn't need to reach for the mouse to switch conversations or change the model. A command palette is the fastest way to drive the app and is a cornerstone of the VS Code mental model.
Proposed behaviour
Trigger
⌘K opens the palette from anywhere in the app
Escape closes it
- Clicking outside the palette closes it
Search modes
Prefix determines the mode (VS Code-style):
| Prefix |
Mode |
Example |
| (none) |
Recent conversations + commands |
Code review session |
> |
Commands only |
> New conversation |
@ |
Switch model |
@ claude-sonnet |
# |
Switch persona |
# Code Reviewer |
Built-in commands (initial set)
- New conversation
- Close tab
- Toggle sidebar
- Open Settings
- Switch model → (inline model picker)
- Switch persona → (inline persona picker)
- Toggle bottom panel
Result list
- Keyboard navigable (↑ ↓ Enter)
- Conversation results show: title, last message preview, relative timestamp
- Command results show: icon, label, keyboard shortcut if applicable
uiStore changes
commandPaletteOpen: boolean
Acceptance criteria
Prerequisites
Summary
Add a command palette triggered by
⌘K— a global overlay for quickly navigating conversations, switching models, and running app commands without leaving the keyboard.Motivation
Power users shouldn't need to reach for the mouse to switch conversations or change the model. A command palette is the fastest way to drive the app and is a cornerstone of the VS Code mental model.
Proposed behaviour
Trigger
⌘Kopens the palette from anywhere in the appEscapecloses itSearch modes
Prefix determines the mode (VS Code-style):
Code review session>> New conversation@@ claude-sonnet## Code ReviewerBuilt-in commands (initial set)
Result list
uiStorechangescommandPaletteOpen: booleanAcceptance criteria
⌘Kopens the palette from anywhere>prefix filters to commands only@prefix opens inline model switcher#prefix opens inline persona switcherPrerequisites