Voice mode is OpenCues' text-to-speech gate. With voice-mode: active (the shipped default), navigating to a cued word reads its tip aloud, so the audio channel carries what the secondary display shows. Set it to inactive and TTS is silenced everywhere.
What actually gets spoken
The registry entry describes it plainly: TTS for highlighted words, reading tips aloud on navigation. So the voice follows the same keyboard model as everything else: Ctrl+Alt+←/→ moves you between cued words, and arrival is what triggers speech. Blanks can opt in too: the shipped volume and brightness blanks declare speak: true in their frontmatter, so navigating onto a filled value reads it out, which is genuinely useful when the value just changed under your keys. Nothing speaks unprompted while you type; navigation is always the trigger, so the audio channel is as opt-in per moment as the visual one.
Why it exists
Two audiences. For accessibility, an audio rendering of tips means the dimmed-word layer isn't purely visual. For everyone else it's a hands-and-eyes economiser: you can hear what a tip says without moving your gaze from the word you're editing. Because it's one global gate, there's a single switch to flip when you're in a meeting or a shared space.
Voice mode is the audio sibling of the secondary display: the same tip content that renders in the secondary display gets spoken. If you run a host without a secondary display configured, voice can carry the tip channel alone; with both on, you get the information twice in two senses, which sounds redundant until you're glancing between windows.
Turning it off (or tuning it)
- In the file:
voice-mode: inactivein~/.cues/OPENCUES.md; hot-reload applies it in about two seconds. - In-text:
opencues settings _and cycle, or withfluid-config-modeon, plain phrasings likevoice mode off _classify reliably. - Tunables: the optional overrides
tts-rate:(speech speed) andtts-script:(which script produces the audio) live in the same file, commented out by default so the platform default applies until you opt in.
Honest scope notes
The values are active / inactive rather than on/off, a small quirk worth knowing because natural-language settings changes depend on it (the phrasing voice mode off _ maps to inactive). Speech quality is whatever the underlying TTS script produces on your platform; OpenCues gates and rates it rather than shipping its own voices, and the tts-script: override exists precisely so you can point it at a better engine if your platform default grates. And since the scalar is user-level, it applies across every host at once; there is no per-host voice toggle.
Related: What is OPENCUES.md? · Navigation and cycling · What is tips mode? · GitHub repo