Configurator
Build your palette.
Set the essentials first, reveal advanced controls only when you need them, and keep the preview and exported code in sync.
1. Basics2. Theme3. Export
Start editing Better on desktop
This playground is optimized for desktop for full editing and preview controls.
Configurator
Set up the experience
Move from the essentials to structure without facing every control at once.
Preview mode
Live Preview
01Basics
Essentials
Language, layout, title, search text, shortcut, and recents.
Basics
Essentials
Language, layout, title, search text, shortcut, and recents.
Language
02Theme
Look and feel
Palette colors, overlay, radius, and shadow.
Theme
Look and feel
Palette colors, overlay, radius, and shadow.
Theme target
Edit each mode separately. Hover and active states are derived automatically from the accent color.
Dark mode palette
px
03Sections
Information architecture
Define sections, commands, nested flows, and the order users move through.
Sections
Information architecture
Define sections, commands, nested flows, and the order users move through.
Commands2 Commands
Toggle themeSwitch between light and dark mode
Search workspaceSearch across the workspace
Generated Code
React
Switch frameworks, copy the snippet, and keep the same command structure.
import { CommandPalette } from "@cmd-kit/react"; const sections = [ { id: "commands", title: "Commands", items: [ { id: "toggle-theme", title: "Toggle theme", subtitle: "Switch between light and dark mode", shortcut: "mod+t" }, { id: "search-workspace", title: "Search workspace", subtitle: "Search across the workspace", shortcut: "mod+p" } ] }];const theme = { dark: { accentColor: "#35d7ff", backgroundColor: "#0b1116", textColor: "#eff7fb", titleColor: "#eff7fb", descriptionColor: "#94a3b8", mutedColor: "rgba(172, 192, 207, 0.74)", sectionTitleColor: "rgba(172, 192, 207, 0.74)", itemTitleColor: "#eff7fb", itemSubtitleColor: "#94a3b8", shortcutColor: "#94a3b8", borderColor: "rgba(129, 155, 174, 0.16)", overlayColor: "rgba(6, 10, 14, 0.74)", radius: "22px", shadow: "0 24px 80px rgba(0, 0, 0, 0.42)" }, light: { accentColor: "#0fa6d8", backgroundColor: "#ffffff", textColor: "#0e1720", titleColor: "rgba(14, 23, 32, 0.78)", descriptionColor: "#5f7388", mutedColor: "rgba(49, 68, 84, 0.78)", sectionTitleColor: "rgba(49, 68, 84, 0.58)", itemTitleColor: "rgba(47, 84, 107, 0.86)", itemSubtitleColor: "#5f7388", shortcutColor: "#5f7388", borderColor: "rgba(83, 112, 136, 0.16)", overlayColor: "rgba(232, 241, 248, 0.7)", radius: "22px", shadow: "0 20px 44px rgba(40, 64, 81, 0.14)" }}; export function Demo() { return ( <CommandPalette recents={false} sections={sections} shortcut="mod+k" title="Command menu" messages={{ searchPlaceholder: "Search commands...", noResults: "No results found.", closeLabel: "Close command palette" }} theme={theme} /> );}