Skip to content

feat: command palette (⌘K) #16

@andrewchumchal

Description

@andrewchumchal

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

  • ⌘K opens the palette from anywhere
  • Escape and outside-click close it
  • Recent conversations are searchable and openable
  • > prefix filters to commands only
  • @ prefix opens inline model switcher
  • # prefix opens inline persona switcher
  • Keyboard navigation works end-to-end
  • Selecting a conversation opens it as a tab

Prerequisites

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions