Skip to content

Voice commands

Voice commands are separate from voice typing: use the command hotkey (default ⌥Space). After ASR, the app matches your dictionary → the built-in dictionary, then optionally an intent LLM, then runs a hotkey / shell action.

Path: Settings → Voice commands

  • Enable voice commands (voiceCommandsEnabled, default on)
    When off: the command hotkey, history re-run, and related deeplinks will not start voice commands; voice typing / translation are unaffected.
    Actions, safety, resolution, and provider below can still be preconfigured; they apply as soon as you turn the switch back on.
Toggle Meaning Default
Allow hotkeys When off, no keyboard shortcut injection (user/built-in dictionary and intent model) On
Allow shell commands Trial / Pro; see Shell commands Off
Confirm dangerous hotkeys Shown when hotkeys are allowed On
Confirm shell commands Shown when shell is allowed On

Exact first, then fuzzy. Within each pass:

  1. User · frontmost-app scoped (enabled)
  2. User · global (enabled)
  3. Built-in · frontmost app (apps in CommandRegistry.json)
  4. Built-in · global

Your entries override the same phrase in the built-in dictionary.

Settings → Voice commands → Command Dictionary opens the editor (stored in local UserDefaults — no network):

  • Phrases: comma / semicolon / newline separated, e.g. refresh, reload
  • Action: hotkey ( + key) or shell (Trial/Pro and shell allowed)
  • Scope: optional Bundle ID; empty = global
  • Enable / disable, click to edit, delete

Built-in phrases (copy, paste, …) always work; the user dictionary overrides or extends them.

Bundled CommandRegistry.json (Bundle.module). There is no in-app editor for that JSON file — use the user dictionary or the intent model for free-form phrases.

Roughly 40+ global entries (mostly hotkeys; a few shell “open app” actions), plus frontmost-app overlays:

Category Example phrases
Editing copy, paste, undo, select all, save, save as
Find & reload find, find next, refresh, hard / force reload
Windows / tabs new, close, next/previous tab, switch app, fullscreen
Format & keys bold, italic, underline, return, space, tab, escape, delete…
Open apps (shell) open Terminal / Finder / System Settings / Safari / Chrome / Notes

Built-in shell phrases need Trial / Pro and Allow shell commands (see Shell), same as user-dictionary shell actions.

App-specific (apps) covers common frontmost apps such as Safari, Chrome, Arc, Edge, VS Code, Cursor, Finder, Terminal, and Slack (reload, tabs, address bar, back/forward, …).

When on, a dictionary hit (your entries + built-in) skips the intent model, reducing latency and API calls.

When enabled, phrases that miss the dictionary can go to an LLM for intent (BYOK). Separate from dictation polish (shared keychain possible, separate toggle).

Path: Settings → Voice commands → Intent model section.

Voice typing Voice command
Default hotkey ⌃⌥Space ⌥Space
Result Insert text Run hotkey / shell
Pipeline Polish, replacements, … User/built-in dictionary → intent

Command history can show short resolve badges: Dictionary / Intent model / Manual (localRegistry / llm / manual).