- What Cursor Voice Mode is
- Where you can dictate
- Native voice vs a system-wide layer
- Method A — Cursor’s built-in Voice Mode
- Method B — Voice type into every Cursor field that takes a keyboard
- Per-surface recipes
- Speak intent. Type syntax.
- Prompts that keep the constraint
- After Cursor: the same hotkey on the rest of the loop
- Cursor voice input not working
- Windows and Mac
- Use the field that is actually slowing you down
- Frequently Asked Questions
How to Voice Type in Cursor (Native Voice + Every Input)
To voice type in Cursor, focus the field you want text in, then use one of two methods. Cursor’s built-in Voice Mode dictates into the chat / Agent input: start it from the microphone icon or a voice shortcut, speak, stop, review the transcript, and send. A system-wide dictation app inserts text at the caret in that same input and in other Cursor fields the native mic is not documented to fill — including Cmd+K, the file editor, and the integrated terminal.
Key takeaway: Native Voice Mode is a shortcut for the Agent/chat prompt. If the work also includes inline edits, comments, commit messages, or apps outside Cursor, use a hold-to-talk key that types like a keyboard.
What Cursor Voice Mode is
Cursor 2.0, released 29 October 2025, added Voice Mode: built-in speech-to-text for controlling Agent, plus optional submit keywords in settings.
Cursor’s own docs describe the control as the microphone icon on the chat input. Speak naturally, include file and function names, and review the transcription before sending. The docs do not list shortcuts, do not list every Cursor surface, and do not say whether audio is processed on-device or on a server.
Treat native voice as convenient for that prompt box. Do not treat it as a documented privacy boundary, and do not assume it types into every pane.
Current builds expose more than one activation style:
- Click the microphone on the chat / Agent input. This is the path in Cursor’s docs.
- Toggle shortcut.
Cmd+Shift+Spaceis widely bound to Voice Mode on Mac. Confirm it under Cursor → Settings → Keyboard Shortcuts. - Hold to Talk.
Ctrl+M(Windows) /⌃M(Mac) is a hold-to-talk binding. Staff have described a 30-second safety cutoff on that hold path. Click-to-toggle is the longer-session path (reported cap around five minutes).
If a shortcut does nothing, search Keyboard Shortcuts for “voice” and “microphone.” Cursor is a VS Code fork; Cmd+Shift+Space can already be reserved for parameter hints.
Where you can dictate
| Cursor surface | What you dictate | Native Voice Mode |
|---|---|---|
| Chat / Agent input | Prompts, feature briefs, refactors | Yes — this is the documented target |
| Composer / Agents Window | Multi-file tasks and follow-ups | Often the same input chrome; confirm the mic is visible in your layout |
| Cmd+K inline edit | A change to the current selection | Not documented. Use a system-wide hotkey |
| Code editor | Comments, docstrings, README, copy | Not documented. Use a system-wide hotkey |
| Integrated terminal | Commands, commit messages | Not documented. Use a system-wide hotkey |
Native scope has shifted across 2.x and 3.x (editor vs Composer vs Agents Window). If the mic is missing in a pane, that pane needs the system-wide key.
Native voice vs a system-wide layer
| Dimension | Cursor Voice Mode | System-wide dictation (VoiceDash) |
|---|---|---|
| Chat / Agent prompt | Yes | Yes |
| Cmd+K, file buffer, terminal | Not documented as supported | Yes, if the field accepts keyboard input |
| Other apps (Jira, Slack, GitHub) | No | Yes |
| Live transcript while speaking | Not guaranteed. 3.11.19 showed a waveform only until stop | Text inserts into the focused field |
| Custom vocabulary | No first-party dictionary | Personal dictionary on paid plans |
| Cleanup | Transcript as produced | Filler removal, punctuation, and grammar on eligible plans |
| Desktop platforms | Wherever Cursor runs | Mac and Windows (mobile apps exist separately) |
| Audio processing | Unpublished | Cloud processing for advanced transcription and editing; VoiceDash states zero data retention on eligible OpenAI API services |
Use native voice when the mic is already on the box you need. Use a system-wide hotkey when you dictate into more than that box.
Other system-wide options for Cursor include Wispr Flow, Voibe, Willow Voice, Aqua, and Spokenly. Comparison: best voice dictation tools for vibe coding.
Method A — Cursor’s built-in Voice Mode
- Focus the chat / Agent input.
- Click the microphone, or press the binding shown in Keyboard Shortcuts.
- Speak the prompt. Include the file, the expected behavior, and the constraint.
- Stop recording. On toggle bindings, press the same shortcut again. On Hold to Talk, release
Ctrl+M/⌃M. - Read the transcript. Cursor’s docs tell you to review before sending.
- Send with Enter, or
Cmd+Return/Ctrl+Enter, depending on your send setting.
Submit keywords
Cursor lets you define spoken words that should send the prompt. That feature has broken more than once: it failed in 2.0.18, was reported fixed in 2.0.32, and was reported broken again on 3.11.19 (July 2026) — waveform only while listening, spoken “submit” did nothing, text appeared only after stop. Workaround on that build: stop Voice Mode, then send from the keyboard. Re-test on your current version before you rely on a keyword.
If no text appears
Stop the mic first. Several builds finalize on stop and show only a waveform during capture. Then check OS microphone permission for Cursor, fully quit the app, and reopen. After transcription, some builds replace the mic icon with Send, so a second voice take requires clearing the field or waiting for the next turn.
Native Voice Mode stops at the prompt UI. The rest of this guide is the system-wide path.
Method B — Voice type into every Cursor field that takes a keyboard
VoiceDash is a desktop dictation layer. It is not a Cursor extension. It inserts text into the focused field.
- Install VoiceDash for Mac or Windows and launch it.
- Grant microphone access. On macOS also grant Accessibility (System Settings → Privacy & Security → Accessibility and Microphone) so the app can type into other applications.
- Confirm the hold-to-talk shortcut:
Ctrl+Windows+Zon Windows,Cmd+Option+Zon Mac. Change it in VoiceDash if Cursor or a Vim extension already owns that chord. - Open Cursor and click into the target field.
- Hold the shortcut, speak, release.
- Read the inserted text. Fix identifiers and symbols with the keyboard.
- Send with Cursor’s normal send key.
Hold-to-talk keeps the microphone live only while the key is down. There is no separate Cursor voice state to get stuck in.
Hotkey collisions
Open Cursor → Settings → Keyboard Shortcuts and search for the VoiceDash binding. Rebind VoiceDash if Cursor swallows the key.
Per-surface recipes
Chat / Agent / Composer
Focus the prompt. Hold the system-wide key (or use native Voice Mode if the mic is on that box). Speak a brief: goal, files, constraints, definition of done. Release. Read. Send.
Spoken example:
In the checkout flow, add a loading state to the Pay button and disable it while the request is in flight. Update the button component and the checkout page that uses it. Do not change the payment API contract.
Cmd+K inline edit
Select the block. Press Cmd+K (Mac) or Ctrl+K (Windows). Dictate the transformation.
Spoken example:
Refactor this function to async/await, wrap the fetch in try/catch, and keep the existing return shape.
Editor: comments, docstrings, Markdown
Place the caret above the function or inside the README. Dictate prose. Type the code.
Spoken example:
Docstring: rate limiter for public API routes. Token bucket, 60 requests per minute per IP, returns 429 with Retry-After. Used by the billing and invite endpoints.
Terminal: commit messages
Click the integrated terminal. Dictate the message. Type short commands yourself.
Spoken example:
fix: show a distinct error when an invite code has expired
Speak intent. Type syntax.
Voice is faster for language. The keyboard is faster for tokens.
| Use voice | Use the keyboard |
|---|---|
| Agent and Composer briefs | Identifiers you can see on screen |
| Cmd+K instructions | Symbols, paths, regex, one-line edits |
| Comments, docstrings, PR text | Multi-cursor, rename-symbol, flags |
| Bug context, constraints, edge cases | Anything one mistype will compile wrong |
Conversational English is often near 150 words per minute. Developers commonly type prose in a lower band, roughly 40–65 words per minute depending on the person and the task. Those figures are population averages, not a promise that every prompt will land three times faster.
Read the inserted prompt before you send it. Cursor runs what you wrote. A long voice dump with two contradictory constraints produces a change set with two contradictory sections.
Prompts that keep the constraint
Typed prompts get shortened. Spoken prompts keep the constraint if the constraint is in the sentence.
Bug
Look at the signup flow and find where we validate the invite code. Expired invite codes show the same error as invalid codes. Expired codes should get a different message. Do not change the validation logic for invalid codes.
Refactor
Extract parseUser from this block, move it to utils/parseUser.ts, add a short JSDoc, and update imports. Keep the existing component structure.
Feature
Add pagination to the users table, twenty per page, server-side. Do not change the API response shape. Add a test for the empty state.
That is the same reason voice prompting often beats typing for AI tools: the model receives details you would have dropped to save keystrokes.
On paid VoiceDash plans, add project nouns to the personal dictionary once (internal services, library names). Use snippets for sentences you repeat. Filler removal stops “um” and “like” from reaching the agent. Dictionary and snippets are listed on VoiceDash paid plans, not as free-plan guarantees.
After Cursor: the same hotkey on the rest of the loop
A session does not end in the Agent box. The next artifacts are a commit, a ticket, and a message. Native Voice Mode does not follow you there.
The same VoiceDash shortcut can write:
- the commit message in the terminal
- the ticket body in Jira
- the standup or review note in Slack
- a longer prompt in ChatGPT when you leave the IDE
- decision notes and docstrings as developer documentation
For Claude Code’s /voice command versus a system-wide hotkey, use the Claude voice input guide.
Cursor voice input not working
Native mic records, no text
Stop the recording. Several builds show only a waveform until you stop.
Spoken submit keyword does nothing
Stop with the shortcut, send from the keyboard. Re-test keywords on your build; they have regressed before.
Mic icon missing or dead
- macOS: System Settings → Privacy & Security → Microphone → Cursor.
- Windows: Settings → Privacy & Security → Microphone — desktop apps on, Cursor on.
- Fully quit Cursor and reopen. A denied permission prompt can hide the icon until a full restart.
- Confirm no other app has exclusive mic capture.
- Update Cursor. Voice quality and processor-load failures have been reported across 2.x and 3.x.
Hold to Talk cuts off around 30 seconds
That cutoff has been described as a safety timer on Ctrl+M / ⌃M. Use click-to-toggle for a longer take, or switch to a system-wide hold key.
System-wide tool produces no text
On Mac this is usually Accessibility. Remove VoiceDash from the Accessibility list, add it again, restart VoiceDash, click into the field, hold the hotkey.
Technical terms come out wrong
Add them to the personal dictionary on a plan that includes it.
Hotkey does nothing inside Cursor
The binding is claimed. Rebind VoiceDash after searching Keyboard Shortcuts.
Windows and Mac
Mac
Grant Microphone and Accessibility. A directional mic reduces errors in noise. Apple Dictation will also type into Cursor and will mangle identifiers. It is a fallback, not a coding vocabulary tool.
Windows
Enable microphone access globally, then per app for Cursor and VoiceDash. After an audio-driver update, native Voice Mode can fail while a system-wide hotkey still types.
VoiceDash desktop builds covered here are Mac and Windows. VoiceDash also ships iPhone and Android apps. Do not plan this IDE workflow around a VoiceDash Linux desktop client; the FAQ lists Windows, macOS, Android, and iPhone.
Use the field that is actually slowing you down
If the only bottleneck is a short Agent prompt and the built-in mic works, use it. If you also write Composer briefs, Cmd+K edits, comments, and commit messages — then a ticket and a Slack note — put a hold-to-talk key on the keyboard and leave it there.
Install VoiceDash from the download page, set the hotkey, open the prompt, and dictate the next change instead of typing it.

