Guides
Dictating in Cursor: longer prompts, better answers
The limiting factor on an AI coding assistant is rarely the model. It is that you typed nine words when the situation needed sixty, because typing sixty was tedious.
Last updated
Why this matters more in Cursor than elsewhere
In most apps, dictation saves time. In an AI editor it changes the output, because there is a direct relationship between how much context you give and what comes back.
Typing discourages context. You know the constraint about the existing lock helper, the reason the error type has to stay, the file it is probably in — and you type none of it, because typing it is a minute you would rather spend elsewhere. Speaking it costs nine seconds.
Typed, seven words
add caching to the search endpoint
Spoken, nine seconds
Add caching to the search endpoint in api/search.ts. We already have a Redis client in lib/cache.ts — use that, not a new one. Key on the query string plus the tenant id, because results are tenant-scoped and we nearly shipped a cross-tenant leak last time. Five minute TTL. Don't cache empty result sets, they're usually a sign something upstream failed.
Same nine seconds of your attention, completely different result. That is the whole argument.
Setting up
- Pick a shortcut Cursor does not already use Cursor inherits VS Code's keybindings and adds its own, so the obvious combinations are taken. A right-hand modifier or a function key is usually safe. Check by pressing it in Cursor before committing to it.
- Click into the chat or composer input Cmd+L for chat, Cmd+I for composer in a default install. Then click into the box — a panel being open is not the same as the cursor being in it.
- Hold, speak the whole prompt, release Do not dictate in fragments. One continuous explanation is both more accurate and a better prompt.
- For long prompts, latch instead of holding Double-tap to keep the microphone open, tap again to stop. Ninety seconds of holding a key is unpleasant.
- Read it before sending A misheard file name sends the model somewhere useless and costs more than the read-back.
What to dictate, and what to type
| Dictate | Type |
|---|---|
| The prompt — what you want and why | File paths, if you want them exact |
| Constraints and things to avoid | Symbol names and identifiers |
| Context about the existing code | Anything with underscores or camelCase |
| What you already tried | Code snippets |
| Commit messages and PR descriptions | Terminal commands |
| Review comments | Regular expressions, obviously |
A practical hybrid that works well: dictate the paragraph of context, then type the two file paths. Dictation and typing in the same input is fine — the app is just typing, so you can interleave freely. See keyboard and voice together.
The privacy point, which is real here
Dictating a prompt about your employer's code means saying your employer's code out loud. With a cloud dictation app, that audio goes to a transcription vendor before it ever reaches Cursor — a second company, which your security review probably did not cover.
On-device recognition removes that hop. Cursor still receives the prompt, because that is what you asked for. But the audio, with your internal hostnames and customer names in it, never leaves the machine.
Beyond the prompt box
- Commit messages. Cursor's source control panel is a text field. A spoken commit message explains why, which a typed one usually does not.
- Code comments. The comment explaining a non-obvious decision is the one nobody writes. Speaking it costs nothing.
- Rules files. Project rules and instructions are long prose documents. Ideal dictation material.
- Issues and tickets. In the browser, same dictation app, same shortcut.
- Explaining a bug to a colleague. Often the same words you would put in the prompt — dictate once, use twice.
Questions
Does Cursor have built-in dictation?
macOS's system dictation works in Cursor, as does any third-party system-wide app, because Cursor is an ordinary Mac application receiving keystrokes. There is no extension to install.
Will dictation work in the Cursor chat and the composer?
In both, and in the editor itself, and in the commit message box. They are all text fields.
Does my code get sent to a dictation vendor?
With a cloud dictation app, the audio of you describing your code goes to that vendor. With an on-device app like VV it does not — recognition happens on your Mac and Cursor receives keystrokes.
Should I dictate the code itself?
No. Symbol density defeats speech and the correction cost exceeds the typing cost. Dictate the prompt and let the model write the code — which is what you are using Cursor for anyway.