Command palette

What is a command palette (the Cmd+K menu)?

A command palette is a search box for actions: press a shortcut (often Cmd/Ctrl+K), type a few letters, and run any command, jump to any page, or find any item without hunting through menus. It collapses a whole interface's worth of navigation into one keyboard-driven box.

Also known as: command palette, command menu, cmd+k, quick actions

Prefer to watch? Watch the recap 0:49

The demo

A search box for actions. Open it, type a few letters, and run anything by name - the way people who live in an app get around without touching a menu.

What this demo shows (text version)

A button (labelled with the Cmd/Ctrl+K shortcut) opens an overlay palette: a text box above a list of actions such as "New document", "Go to settings", "Invite a teammate" and "Toggle dark mode". Typing filters the list by matching anywhere in the action's name; the arrow keys move the highlight and Enter runs the selected action (here the demo simply reports which one ran). Escape closes it.

The point is speed for people who already know what they want: everything is reachable by name in a couple of keystrokes, no menus required. But because it relies on knowing the action exists and roughly what it's called, a palette is an accelerator on top of a discoverable interface - never the only way in.

A command palette gives power users a fast, keyboard-first path to anything by name, turning recall-or-search into a couple of keystrokes. It's a brilliant accelerator layered on top of a discoverable UI - never a replacement for it. Make it findable, searchable by intent (not just exact labels), and fully keyboard-navigable, and it rewards your heaviest users without stranding everyone else.

A palette shines for frequency and breadth: when there are more actions than any menu can show gracefully, and users return often enough to learn the shortcut, it beats deep navigation outright. It's why developer tools, editors and power apps all converged on the same Cmd+K box.

But it's a layer, not a foundation. A command palette assumes you already know what you're looking for and what it's called - so it can't carry discoverability for newcomers. Hide your only path to a feature inside it and casual users will never find the feature at all. Keep the visible, browsable UI; add the palette on top.

Make it forgiving and fast: match on intent and synonyms rather than exact labels, show recent and likely actions first, support full keyboard navigation with arrows and Enter, and surface the shortcut somewhere visible so people can discover the discovery tool. A power feature still has to be findable once.