Voice Dictation for Cursor on macOS

Dictate prompts into Cursor chat and composer: hold a hotkey, speak, and Keebye types it — on-device speech-to-text, offline, private.

Why dictate prompts to Cursor

You need Cursor to change the authentication flow across three files, preserve the callback contract, and leave generated types alone. The work is a Composer brief: several sentences naming scope, constraints, and the check that proves completion. That is the kind of prompt-heavy workflow where speech removes transcription work without replacing your judgment.

Keebye does not integrate with Cursor specifically. It inserts into the focused editable field and refuses secure fields, so test the exact part of Cursor you rely on rather than assuming every control behaves identically.

How it works

Click into Cursor's chat or composer input, hold Right ⌘, and describe the change. Letting go of the key drops the transcribed text at your cursor — send it as-is or touch it up first.

Transcription happens entirely on your machine: Parakeet, the English-tuned default model, needs a single download and then works with no connection at all. There's no telemetry, and your voice never leaves the Mac — Cursor only ever gets the finished text.

The same hotkey works across ordinary editable fields on your Mac, so the terminal running your agent, your browser, and Slack can share the same muscle memory.

Setup in two minutes

Getting started takes two permissions and one choice: allow Accessibility and microphone access when Keebye asks, then decide which key you'll hold — Right ⌘ by default, or Fn / Right ⌥ if you prefer. Flip on launch-at-login and it's there whenever Cursor is.

Then spend a minute on the custom dictionary. Add recurring repo names, package names, and framework terms to reduce routine corrections; inspect file names and identifiers before sending.

Limits, honestly

Words don't stream in as you speak — transcription is batch, triggered on key-release, so the text shows up only once you let go of the hotkey.

Keebye has no Cursor-specific integration — it doesn't read Cursor's state or trigger its actions. It types text where your cursor is; you stay in charge of sending it.

Keebye is macOS only.

Return to the three-file brief: dictate it into Composer, inspect the scope and exclusions, then send it while another lane keeps building. See Driving Claude Code with your voice for the broader lane pattern and Keebye vs Wispr Flow for the processing trade-off.

FAQ

Does Keebye work in Cursor's chat panel and composer?
Keebye inserts into ordinary editable fields without Cursor-specific setup. Cursor can change its UI, so test the exact chat, Composer, or inline field you use; secure fields are refused.
Does Cursor or its model provider ever see my audio?
No — the audio is processed on-device and never leaves your Mac. Cursor sees nothing but the final text, indistinguishable from text you typed.
Does it work offline?
Yes, after the one-time model download. Dictation itself needs no network connection — though Cursor naturally needs one to reach its models.
How do I start and stop dictating?
Press and hold Right Command, speak your prompt, and let go — the text is inserted on release. A single tap toggles instead, for longer dictations, and Esc cancels one in progress. The hotkey can be switched to Fn or Right Option.
Can it learn my project-specific terms?
Add recurring repo names, framework terms, and project jargon to the custom dictionary to reduce corrections, then review identifiers before sending.

Dictate the next Composer brief

Start your free trial and test one multi-file Cursor instruction with explicit files, constraints, and a review step.

Start free trial

Early access: we'll email you the moment the macOS build is ready — your 14 days start when you first sign in from the app.

Last updated July 21, 2026