Design a ⌘K command palette your power users will love
Why every serious product shipped a command palette in 2025 — and the interaction details that make or break one: keyboard rules, filtering, empty states and focus management.
6 min read
The keyboard is the new navigation
Linear, Vercel, GitHub, Figma — every product power users live in has a ⌘K palette, because it collapses three clicks and a page load into three keystrokes. It is the highest-leverage component for your power-user segment, and the easiest one to get subtly wrong.
The five rules that make or break it
- Keyboard is primary, mouse is secondary. Arrow keys wrap around the list, Enter commits, Escape closes — and the selection must be VISIBLE on open, not waiting for a first arrow press.
- Filter as they type, but never steal focus. The input keeps focus; the list updates; the selection resets to the first match.
- Empty state is a feature. "No results for 'x'" plus a suggested action beats a blank panel.
- Open instantly. The overlay fades in 150-250ms with a slight scale — any slower and it feels like a modal, not a tool.
- Focus management is security too: focus goes to the input on open and returns to the trigger on close.
What goes in the palette
Three tiers, in this order: navigation (jump anywhere), actions (create/toggle/ship), and only then search. If your first item is a search box inside a search palette, you've built a modal, not a palette. Each row gets an icon, a label and — critically — a key hint on the right: showing "G then D" teaches your power users the next layer for free.
The glass treatment matters more than usual here: the palette floats over whatever the user was doing, and a heavy opaque box breaks the context. Blur + translucency keeps the mental map intact.
Ship it behind ⌘K, announce it in your changelog, and watch the usage numbers — palettes are the rare feature where power-user adoption is instant and measurable.
✦Live Activity FeedThe natural companion: surface what just happened alongside what you can do.