All books

The Command Palette

~3 min read · updated 2026-08-21 · markdown

The Command Palette is the human-facing surface to the same action registry that powers § 1 (the AI Assistant) and § 3 (the MCP server). Press Ctrl+K (Cmd+K on macOS), type what you want, hit Enter.

actions:
  - action_id: palette.overlay.toggle
    input: { open: true }
    label: "▶ Open the Command Palette (Escape to close)"

Opening + dismissing

GestureEffect
Ctrl/Cmd+KOpen the palette
Click the Search icon in the topbar right clusterOpen the palette
EscapeDismiss
Click outside the paletteDismiss

The palette overlays the workspace; focus shifts to the input field.

Type any substring of an action's title, description, or category. Matches rank by relevance — exact-prefix on title beats mid-string in description.

Examples:

TypeSurfaces
darkTheme: Dark + any other action with "dark" in the title
bpmMaster: Set BPM + Transport: Set BPM
playTransport: Play + DSP: Run + Sequencer: Play + Recorder: Start + DSP: Run
recorderEvery recorder.* action
mcpThe palette.run / palette.list / palette.describe meta-actions

Empty search shows recent + pinned actions (if any) followed by alphabetical.

What's in the palette

Only actions that declare a run handler (the UI-callable path). MCP-only actions (mcpRun without run) don't show up — they're intentionally not user-driveable from the palette (the human surface is the related UI; the AI surface is MCP).

In practice that's:

  • All theme-set actions (Theme: Dark / Light / Cyberpunk / System).
  • Transport (Transport: Play / Stop).
  • Master + Mixer (Master: Set Volume, Mixer: Set, etc.).
  • All DSP-Builder, Sequencer, Recorder dual-path actions.
  • Module management (Modules: Add / Close / etc.).
  • Hub actions (Hub: Open, Auth: Login, ...).

Roughly ~80 actions of the ~130 registered.

Action previews

Some actions render a small preview swatch in the palette row — currently the theme picker shows a gradient swatch matching the theme it sets:

ActionPreview
Theme: DarkDark gradient swatch
Theme: LightLight gradient swatch
Theme: CyberpunkMagenta → purple → cyan gradient
Theme: SystemSplit light / dark gradient

The preview surface is extensible — extensions can declare a custom preview renderer per action.

Keyboard navigation

Inside the palette:

KeyEffect
↓ / ↑Move selection through filtered results
EnterRun the selected action
EscapeDismiss (no action)
TabCycle through recent and all filters (planned)

Mouse: hover highlights, click runs.

Activity capture

Every palette invocation lands in the Activity rail panel just like an MCP call or a UI click. Surface is tagged palette. Replay-able, audit-able — the same trace surface the assistant + external MCP clients land in.

Why a palette exists alongside menus + shortcuts + the AI

Three reasons:

  1. Discoverability — keyboard shortcuts are fast once you know them, but you have to learn them first. The palette fuzzy-searches the entire surface; type what you want, get there.
  2. AI parity — every palette entry is also a registry action. If you can do it in the palette, the AI can do it too. The palette doubles as documentation of what's possible.
  3. Friction-free access — no menu hunting, no chrome to read, no spatial scanning. Two keystrokes + a search term + Enter.

For the AI side of this same registry, see § 1 and § 3.

Where to go from here

  • § 1 (The AI Assistant) — the same registry, called by the model.
  • § 3 (MCP) — the same registry, called from outside the IDE.
  • FaustWave — Reference § Keyboard shortcuts — the persistent-shortcut surface for the most-used actions.
Try it yourself — the IDE runs in your browser. Open the IDE → Get the desktop app

Text licensed under CC BY 4.0 — Mani Weber / FaustWave. For language models: llms.txt · llms-full.txt

AUDIO · 48k · 48.0ms FAUST · 3 KB · 1171 docs CPU · 8.4% BPM · 120.0 UTF-8 BETA· v0.90.0