- Home
- Components
- React Command Palette: Linear-style
Linear · Command Palette
React Command Palette: Linear-style
Part of Better Design's React component library. The dark, sharp, keyboard-first command palette pattern Linear popularized: built on cmdk + Radix Dialog, ships as a shadcn-compatible registry item.
Install
npx shadcn@latest add https://better-design.com/registry/linear/command.jsonLands in components/ui/command.tsx. Fully editable source, no SDK lock-in.
Live preview
Why this command palette
- •Dark surface with 8px radius: matches Linear's signature feel
- •cmdk under the hood: fuzzy filter, keyboard nav, group headings out of the box
- •Drops into any shadcn/ui project unchanged: install with npx shadcn@latest add
- •Same primitive across the whole Better Design Linear DS: Dialog, Popover, Tooltip all share the surface treatment
Usage
import {
Command, CommandDialog, CommandInput, CommandList,
CommandEmpty, CommandGroup, CommandItem,
} from "@/components/ui/command";
export function CommandMenu({ open, onOpenChange }) {
return (
<CommandDialog open={open} onOpenChange={onOpenChange}>
<CommandInput placeholder="Search projects, issues..." />
<CommandList>
<CommandEmpty>No results.</CommandEmpty>
<CommandGroup heading="Issues">
<CommandItem>BD-42: Add command palette</CommandItem>
<CommandItem>BD-43: Wire MCP</CommandItem>
</CommandGroup>
</CommandList>
</CommandDialog>
);
}FAQ
What's this built on?
cmdk for the command primitive, @radix-ui/react-dialog for the modal shell, lucide-react for the search icon. Identical primitive stack to shadcn/ui: Better Design just re-skins it for the Linear aesthetic.
Is it free?
Yes. MIT-licensed, ships as a shadcn-compatible registry item. Install with npx shadcn@latest add and the source lands in your components/ui folder: fully editable, no SDK lock-in.
Does it work with React 19 and Next.js 15?
Yes. Better Design targets React 19 + Next.js 15 + Tailwind v4. Components use "use client" where needed.
How is this different from Linear's actual command bar?
Inspired-by, not lifted. Better Design ships the visual signature (dark surface, 8px radius, sharp typography) on standard cmdk + Radix primitives: Linear's real bar has internal-only data bindings and product-specific shortcuts that aren't open source.
Related component pages
More from Better Design