The command palette has migrated from Sublime Text and VS Code into every productivity surface that ships in the last five years — Notion, Linear, GitHub, Vercel, Raycast. The pattern collapses search, navigation, and action invocation into a single ⌘K-summoned surface that keyboard-first users now expect by default.
These references are worth studying for the depth of the interaction: recent items, fuzzy match, async results, action grouping, keyboard navigation through results, and the right escape-hatch behavior when a query has no answers.
- 01⌘K (or Ctrl+K) summons the palette globally; Esc dismisses it.
- 02Fuzzy match across labels, with explicit highlighting of matched substrings.
- 03Recent and frequent results surfaced at the top when the input is empty.
- 04Async results stream in with a loading affordance, never a blocking spinner.
- 05Keyboard navigation through results (arrow keys, Enter to commit, Esc to dismiss).
- 06Result grouping by type — pages, actions, items — with subtle dividers and labels.
- 01Palette opens but doesn't trap focus, so Tab leaves to the underlying page.
- 02No empty state — the surface goes blank when the query has no matches, leaving users to wonder if it's broken.
- 03Mouse-only design — keyboard navigation through results doesn't work, defeating the entire point.
Geist
Vercel
Command Bar
Cross-platform command palette with keyboard-first navigation, recent items, and async search — the reference for dev-tool UI.
shadcn/ui
shadcn
Command
Composable command primitive built on Radix Dialog + cmdk. Owned-code copy-paste means teams can extend the keyboard handling for their own actions.
Atlassian Design System
Atlassian
Quick Find
Cross-product search across Jira, Confluence, and Atlassian apps — handles federated result types with grouping and async streaming.