Command palette
also called command menu (shadcn), omnibar (blueprint), spotlight (mantine), quick open (vscode), launcher
A keyboard-summoned overlay whose single search box finds and runs any command or destination in an application by name.
The palette is a keyboard-first index of everything an application can do.
Ctrl+K or Cmd+K opens it from anywhere in the product (VS Code, which made
the name ordinary, uses Ctrl+Shift+P), one field takes a loose string, and the
list narrows across commands, files, and destinations at once. It earns its
place when a product has more actions than its menus can hold, and it pays back
the people who use it most.
Structurally a palette is a modal dialog with a listbox inside it, so it owes
both sets of duties: focus enters the field on open, Escape closes, the arrow
keys move a highlight the input names with aria-activedescendant, and the
number of matches is announced rather than left to be seen.
Against a combobox, the machinery is the same and the result is not. A combobox fills a field in a form and leaves a value behind. A palette dismisses itself and something happens somewhere else, which is why its rows read as verbs (Rename project, Export as PDF) rather than as nouns.
The word palette is inherited from graphics software, where a palette was a floating tray of tools, so the current sense is close to a misnomer. Every product renames it anyway: Blueprint’s Omnibar borrows from Chrome’s omnibox, Mantine’s Spotlight borrows from Apple’s system search, VS Code splits the idea into Command Palette and Quick Open, and Slack calls its version a quick switcher. Most React implementations sit on cmdk, which shadcn ships as Command.
Which word?
| If you want | say |
|---|---|
| one keystroke reaches every command by name | command palette |
| a text field that filters a list as you type | combobox |
| the input is for searching, not for data entry | search field |
| a command reachable by keys instead of controls | keyboard shortcut |
| the cheat sheet of every shortcut | keyboard shortcuts dialog |
| typing / in the message box opens a command menu | slash command |
Implementations
Specimens illustrate the concept; for production use, start here.
| shadcn | Command |
| base-ui | Autocomplete (command palette) |