My learning 0 of 20 lessons complete
Start lesson 1 →
Back to compare picker

Basic search vs Command palette

Use basic search when users are retrieving content from a known collection. Use a command palette when users need a keyboard-first way to execute commands or jump to destinations across a broad product.

Learn the decision

Match the interaction to the person's task

Use basic search when users are retrieving content from a known collection. Use a command palette when users need a keyboard-first way to execute commands or jump to destinations across a broad product.

Basic search

Use it when: Users know a word, name, or identifier.

Make this state clear: Empty query state.

Observe the result: Users can type, revise, clear, and keep context while inspecting results.

Study the full pattern →

Command palette

Use it when: Users need to traverse a broad product surface quickly.

Make this state clear: Closed state with discoverable trigger.

Observe the result: Keyboard shortcut or visible trigger opens the palette, focus lands in the command input, arrows move the active row, and Enter activates the highlighted safe command.

Study the full pattern →

Practice the judgment: Imagine this situation: Treating a command palette as the only navigation path. Write the person's goal, choose one of these patterns, and show the state that helps the person continue. Use the decision rules and source trail below to explain your choice.

Review the underlying principle →

Decision dimensions

Dimension Basic searchCommand palette
UI or UX UI + UX - Search input and result listUI + UX - Modal command surface
UI guidance Render a labeled search field, result count, matching rows, and clear action.Render a compact dialog-like command surface with a search input, current scope, typed command mode, active result, command metadata, and empty state.
UX guidance Help the person reach a clear task outcome.Accelerate expert navigation and repeated actions across a large product while preserving ordinary navigation for novice and low-frequency users.
Good UI A clearly labeled search field with result count and results placed directly below.Centered command surface with input, shortcut hint, scope chip, grouped commands, command type labels, and a visible active row.
Bad UI Results jump, resize, or use heavy borders that make scanning feel like reading a form.Huge branded modal that buries the input below decorative content.
Good UX Users can type, revise, clear, and keep context while inspecting results.Keyboard shortcut or visible trigger opens the palette, focus lands in the command input, arrows move the active row, and Enter activates the highlighted safe command.
Bad UX Search silently changes unrelated filters.Palette is the only way to reach important navigation.
Best fit Users know a word, name, or identifier.Users need to traverse a broad product surface quickly.
Avoid when The task is choosing a command with side effects.The app has only a few obvious actions.
Required state Empty query state.Closed state with discoverable trigger.
Accessibility burden The input has a stable accessible name.Use dialog semantics with a clear name and modal behavior when the rest of the page is inert.
Common misuse Using placeholder text as the only label.Hiding basic navigation behind a keyboard-only palette.

Basic search

UI or UX
UI + UX - Search input and result list
UI guidance
Render a labeled search field, result count, matching rows, and clear action.
UX guidance
Help the person reach a clear task outcome.
Good UI
A clearly labeled search field with result count and results placed directly below.
Bad UI
Results jump, resize, or use heavy borders that make scanning feel like reading a form.
Good UX
Users can type, revise, clear, and keep context while inspecting results.
Bad UX
Search silently changes unrelated filters.
Best fit
Users know a word, name, or identifier.
Avoid when
The task is choosing a command with side effects.
Required state
Empty query state.
Accessibility burden
The input has a stable accessible name.
Common misuse
Using placeholder text as the only label.

Command palette

UI or UX
UI + UX - Modal command surface
UI guidance
Render a compact dialog-like command surface with a search input, current scope, typed command mode, active result, command metadata, and empty state.
UX guidance
Accelerate expert navigation and repeated actions across a large product while preserving ordinary navigation for novice and low-frequency users.
Good UI
Centered command surface with input, shortcut hint, scope chip, grouped commands, command type labels, and a visible active row.
Bad UI
Huge branded modal that buries the input below decorative content.
Good UX
Keyboard shortcut or visible trigger opens the palette, focus lands in the command input, arrows move the active row, and Enter activates the highlighted safe command.
Bad UX
Palette is the only way to reach important navigation.
Best fit
Users need to traverse a broad product surface quickly.
Avoid when
The app has only a few obvious actions.
Required state
Closed state with discoverable trigger.
Accessibility burden
Use dialog semantics with a clear name and modal behavior when the rest of the page is inert.
Common misuse
Hiding basic navigation behind a keyboard-only palette.
Decision rules
  • Prefer basic search when the result is content the user will read, open, compare, filter, or browse.
  • Prefer a command palette when the result is an action, destination, setting, mode switch, or object-specific command that can be named and executed.
  • If a row has side effects, expose consequence and scope in the palette and require confirmation for destructive or permission-changing commands.
  • If users are mostly new, infrequent, or on touch-first devices, keep visible navigation and buttons as the primary path and treat the palette as an accelerator.
  • If the task needs result ranking, snippets, facets, or query correction, use search; if it needs command type, shortcut, scope, and Enter activation, use a command palette.
Inspect live examples
Failure modes
  • Treating a command palette as the only navigation path.
  • Using basic search for commands that have side effects without confirmation or preview.
  • Returning mixed content and commands without indicating which rows navigate and which rows mutate data.
  • Letting fuzzy matching run a destructive command directly from Enter.

Saved items