Voice Coding With Cursor: How to Dictate Prompts to Cursor and Claude Code
Voice coding with Cursor works best when you talk your prompts and type your syntax. Hold a push-to-talk key, describe what you want the agent to do, let go, and the words land in Cursor's Agent box, the editor, or a Claude Code terminal, ready for you to check and send.
You don't need to dictate semicolons. That was the old idea of coding by voice, and it was miserable. With an AI agent on the other end, your voice handles the part that's actually slow to type: the long, detailed explanation of what you want and why.
Why talk to Cursor instead of typing
Most people speak a lot faster than they type, and prompts are the one place in a coding day where that gap really shows. A good prompt for an agent is a paragraph, sometimes three. You explain the bug, the files involved, what you already tried, and the edge case you're worried about.
When you type that, you cut corners. "fix auth bug" goes in instead of the four sentences the agent actually needed. When you say it, the extra context costs you maybe ten seconds, and the agent gets a far better brief.
It's also kinder to your hands. If you're coding with RSI or trying to stay ahead of it, moving the long-form writing to your voice takes a lot of keystrokes out of the day. Our RSI prevention guide has the other half of that story.
Your options for dictating into Cursor and Claude Code
There are four realistic routes on a Mac, and they don't all cover the same places.
| Option | Where it works | Where your audio goes |
|---|---|---|
| Cursor's built-in Voice Mode | Cursor's Agent input | See Cursor's docs |
Claude Code /voice | Claude Code CLI and its VS Code extension | Anthropic's servers |
| VS Code Speech extension | VS Code editor and Copilot Chat | Processed locally |
| A system-wide push-to-talk app | Any text field on your Mac | Depends on the app |
Cursor Voice Mode
Cursor added Voice Mode in Cursor 2.0, released on 29 October 2025. The changelog describes it as controlling Agent with built-in speech-to-text, and you can set custom submit keywords that start the agent running when you say them. Cursor's keyboard shortcuts page lists Cmd+Shift+Space to toggle it. It's tied to Agent, though, so it won't help you write a commit message or reply to a review comment in Slack.
Claude Code's /voice
Claude Code has its own dictation. Run /voice and then hold Space to record, or switch to tap mode with /voice tap. According to the Claude Code docs, it's tuned for coding vocabulary, and it feeds your project name and git branch in as recognition hints. Two caveats: it needs you to be logged in with a Claude.ai account (it won't work with a plain Anthropic API key, Bedrock or Google Cloud), and the audio streams to Anthropic's servers rather than being processed on your Mac.
VS Code Speech
Microsoft's VS Code Speech extension processes audio locally and adds dictation to the editor (Cmd+Alt+V on a Mac) plus voice input for Copilot Chat. Handy if you live in plain VS Code.
A system-wide dictation app
This is the route we'd recommend, partly because we make one, but mostly because a coding day doesn't happen in a single text box. You bounce between the Agent panel, the terminal running Claude Code, a GitHub PR, Linear and Slack. A system-wide app types into whichever of those has focus, with one key and one set of habits.
Blazing Transcribe is the one we build. It's free, open source and Mac only (macOS 15 or later on Apple Silicon). Speech recognition runs on your Mac, so prompts that describe proprietary code never leave the machine.
Setting it up on a Mac
The setup takes a few minutes. Here's the path with Blazing Transcribe; other push-to-talk apps follow the same shape.
- Install the app and grant the permissions macOS asks for. You'll need to allow the microphone, plus the access an app needs to type into other apps.
- Check what your fn key does. Go to Apple menu, System Settings, Keyboard, and find "Press fn key to" (on newer keyboards it says "Press Globe key to"). If it's set to Start Dictation or Show Emoji and Symbols, holding fn for your dictation app can fight with it. Set it to Do Nothing.
- Open Cursor, press Cmd+L to open the side panel, click into the input, then hold fn and speak. Release, and the text appears.
- For a long prompt, use fn+Space to toggle recording on and off, so you're not holding a key for a minute.
One small thing that saves real annoyance: Blazing delivers the text to the app you started recording in, even if you switch windows halfway through. Start talking in Cursor, glance at the browser to check a stack trace, and the prompt still lands in Cursor.
If you'd rather not press anything at all, Blazing also has an always-listening mode that types whenever it hears you speak. Double-tap fn to switch between that and push-to-talk. Our hands-free coding page walks through how people run several Claude Code terminals that way.
Where to aim your voice in Cursor
Most of your dictation will go into the Agent panel, which is the obvious one: hold fn, explain the change, read it back and press Enter. But a few other spots are worth building the habit for.
Inline edit (Cmd+K) works well for short, local instructions. "Make this function return early if the list is empty" is a sentence you can say in two seconds.
The terminal is where Claude Code lives. A system-wide app types into it like any other text field, so you can run Claude Code in Cursor's integrated terminal, or in Ghostty or iTerm next to it, and talk to all of them the same way. You also don't need Claude Code's /voice switched on for this to work, since the text simply arrives as typing.
Code comments are the sleeper use. Put the cursor on an empty line, type the comment marker, then dictate the explanation. Docstrings and READMEs are prose, and prose is what dictation is good at.
Tips for technical vocabulary
This is where voice coding tends to fall over. Your speech model has never heard of your internal service called "Quokka", and "kubectl" is a coin toss.
Add your project's words to the dictionary. Library names, service names, colleagues, product terms. In Blazing, you can do it straight from History: when a dictation comes out wrong, open History and use Add to dictionary on the word it missed.
Then there's the temptation to dictate code itself. Don't. "Add a guard that returns null if the user has no email" is easier to say, and easier for the agent to act on, than any attempt to pronounce the actual line, so describe the intent and let the model write the brackets.
Say identifiers as plain words. "The get user by id function in the auth service" will get you further than spelling out camel case, because the agent can search the codebase and work out which function you mean.
Type the precise bits, then talk around them. File references with @ in Cursor, exact error strings, flags like --force-with-lease: type those, then hold fn and add the explanation. Mixing keyboard and voice in the same prompt is normal and fast.
Before you press Enter, read it back. A misheard word in an email is embarrassing, but a misheard word in a prompt can send an agent off rewriting the wrong module for ten minutes. Agents usually work out what you meant. Usually. A five-second glance costs less than the cleanup.
If a word keeps failing even after you've added it to the dictionary, the cause is often the mic rather than the model. Our guide to speech to text not working covers mic selection and the usual permission problems.
A sample voice prompt
Here's the sort of thing that's painful to type and easy to say:
"The checkout page is throwing a 500 when the cart has a discount code and a gift card at the same time. I think the problem is in the order total calculation, where we apply the discount after the gift card instead of before. Can you find where that happens, write a failing test that reproduces it, then fix it? Don't touch the payment provider code."
That's about 70 words. Spoken at a relaxed pace it's well under a minute. Typed, most people would have trimmed it to the first sentence, and the agent would have had to guess the rest.
FAQ
Does Cursor have voice input built in?
Yes. Cursor 2.0 added Voice Mode, which uses built-in speech-to-text to control Agent, and Cursor's shortcut list binds it to Cmd+Shift+Space. It only covers the Agent input, so a system-wide dictation app is still useful for the editor, terminal and everything else.
Can I use voice with Claude Code?
Yes, in two ways. Claude Code has a built-in /voice command that records while you hold Space, and it sends the audio to Anthropic's servers for transcription. Or you can use a system-wide dictation app, which types into the terminal like a keyboard does, with no setup inside Claude Code.
Is coding by voice faster than typing?
For prompts, comments and documentation, usually yes, because those are long stretches of prose. For actual syntax, it's slower, which is why the practical approach is to dictate the instructions and let the AI agent write the code.
What's the best dictation app for coding on a Mac?
It depends on what you need. If you want something free that runs on-device and types into every app, Blazing Transcribe is built for exactly this workflow. If you only use Claude Code, its built-in /voice might be enough. See our guide on how to dictate on a Mac for the built-in macOS options too.
Can I code by voice with RSI?
Yes, and moving prompts and comments to your voice cuts a big share of the typing. Pair it with breaks and a decent setup. Our hands-free computer use guide covers the rest, including macOS Voice Control and Talon.