VibeDeck Start free 14-day trial

Speak your next step.

Dictation is opt-in and off by default. Hold a session key to record, release to transcribe, review the text on the session input line, then submit it yourself. Hold a Dictate Anywhere key when you want the text in whatever app is in front of you instead of a specific session.

Choose Local or API.

Open Dictation Settings, enable dictation, then set Engine to one of two modes:

  • Local — private, on this computer: transcribes with the optional local speech engine and model. Audio is never uploaded for transcription. Local mode fails closed: if the engine or model is unavailable, the segment is dropped instead of being sent to a network endpoint.
  • OpenAI / compatible endpoint: sends the recorded audio to OpenAI or to the custom endpoint, API key, and model you configure after recording finishes. Leave the endpoint empty for the OpenAI default.

Local and API are a choice, not a fallback chain. Local does not silently switch to API. Submitting the resulting transcript still sends that text to the chosen agent under the provider's privacy terms.

Install the optional local engine.

  1. Open the Setup action from your deck or Stream Deck app.
  2. Under dictation, choose Install local transcriber.
  3. VibeDeck downloads the speech engine and the one-time model from components.getvibedeck.com. Each component is pinned and verified by SHA-256, and the plugin package itself stays small.

The download is about 156–158 MB depending on OS. The local engine does not consume your API usage caps. API mode needs your own key and does not require the local download.

Session dictation: hold, release, review, send.

  1. Hold a session key to record. The key shows its own state: a recording dot, an hourglass while transcribing, then a check, a cross, or a cap marker.
  2. Release to transcribe and place the text on that session's input line.
  3. Review. The transcript does not execute on arrival. It waits in the target session until you tap that session key or Dictation Settings to submit it.
  4. Add more by holding the session key again; the new text is appended to the pending input.

Holding Dictation Settings clears pending text in iTerm2 or supported x64 Windows Terminal. When nothing is pending, holding it re-inserts the last transcript into the session it came from.

Dictate Anywhere.

Hold the Dictate Anywhere key to speak and release to paste into the app that is active at release. It replaces the previous clipboard contents, which are not restored, and can persist in clipboard history. It does not press Enter or submit anything.

Anywhere checks that the app active around release is still frontmost before pasting, but it cannot verify the paste or the target field. If the paste fails, recover the text from the clipboard. On Windows, apps running as administrator may silently ignore the paste. The project vocabulary file is not used by Dictate Anywhere.

Vocabulary, replacements, and commands.

Recognition hints

VibeDeck can give the speech engine your session's repository name, branch, and changed file names — never file contents — to guide spelling. Automatic project hints never read file contents and stay on your computer by default. Recognition hints can be Local only (default), Local + API, or Off.

Vocabulary

Add names one per line in Vocabulary. Global vocabulary takes priority in the small shared hint budget, so keep lists short. Names are 3–40 characters of letters, numbers, dot, underscore, or hyphen, with no spaces and at least one letter or number.

For project terms, create a plain UTF-8 file named .vibedeck-vocab (no .txt extension) in the folder where the agent session starts. VibeDeck reads it; it does not create it. The file is used only for the session key in that folder, is not searched for in parent folders, is not used by Dictate Anywhere, and is capped at 4 KB. Allow up to 30 seconds after edits for the cached file to refresh.

Replacements and snippets

In Replacements, one spoken => text rule per line rewrites a phrase deterministically. A line that starts with ! is a whole-utterance snippet: !spoken phrase => exact text inserts the exact value without applying other replacements.

Commands

Saying a command such as slash compact normalises it to /compact for the agent. Commands, snippets, and ordinary prose all follow the same rule: they are inserted for review and are never auto-submitted. A snippet never sets an Enter keypress, and Dictate Anywhere never presses Return. Custom Command is a separate action: its Immediately option sends its configured text with Enter.

Privacy and limits.

Records only while a key is held. Local transcription keeps audio on your computer; API mode sends the recorded audio to the provider you configured. VibeDeck attempts to delete temporary audio after every attempt; recordings may remain if deletion fails. Project hints and vocabulary go to the local engine only unless you select Local + API.

API usage caps default to 30 requests per hour and 20 audio minutes per hour and are enforced on this computer. The segment limit defaults to 60 seconds. Local transcription does not consume those caps. See the privacy policy for the complete network disclosure.

Which sessions accept dictation.

Session dictation works only for input-capable sessions. Status-only preview providers — Gemini CLI, Kilo, and Qwen Code — cannot receive session dictation. DeepSeek normal Setup provides status observation; held dictation drafts require its separate optional companion preview, which is not publicly distributed. Claude VS Code GUI panels are status and navigation only: the bridge does not enable typing or session dictation, even when installed. T3 remains app focus only.

Dictate Anywhere is different: it targets the active app and does not depend on the agent session, so it can type into any app that accepts a paste. See the session guide for the full navigation limits and compatibility for each provider.

Troubleshooting.

  • Nothing records: confirm dictation is enabled in Dictation Settings and that Stream Deck.app has microphone access. On macOS, also allow Accessibility and Automation, then relaunch Stream Deck.
  • The transcript appears but nothing runs: that is expected. Tap the session key or Dictation Settings to submit the pending text.
  • Local never starts: install the local transcriber from Setup and check that the engine and model finished downloading.
  • Recurring names are wrong: add them to Vocabulary, or create a .vibedeck-vocab file in the session folder. Use Replacements for exact corrections.
  • Dictate Anywhere pasted in the wrong place: the previous clipboard is not restored, but the transcript remains on the clipboard. Paste it where you need it.
  • Nothing pastes on Windows: apps running as administrator may ignore the paste.

Still stuck? Open the support guide or email [email protected]. Never send license keys, API keys, or tokens.

Try it on your own setup.

Dictation is included with VibeDeck. Install it, connect an input-capable agent, and dictate your next prompt. The trial needs no card and ends without a charge.