Updated September 6, 2026 · By Sumbat.T

Voice Input for Cursor: What Works in 2026

A microphone beside a laptop showing an code editor, with a spoken prompt appearing as text

The short answer

  • Cursor has voice input, and it lives in the chat box. Press Cmd+Shift+Space to toggle Voice Mode, or click the microphone in the chat input. Cursor's own documentation scopes it to that one panel.
  • It has broken twice, in two different ways, across three operating systems. A deprecated audio interface in December 2025, and a missing voice-processor.js in May 2026. Both are still on the forum with the version numbers attached.
  • For everything outside the chat box, use a system-level dictation tool. BlabbyAI types into whichever field has focus, so the same shortcut works in the editor, the terminal, the commit box and your browser, and custom modes shape the text as it arrives. Free tier is 60 credits a week, no card.

If you searched for this, there is a decent chance you already clicked the microphone in Cursor and nothing happened. That is a common enough experience to have generated several of the top results on the query, all of them bug reports. This page does two things: it sets out what Cursor's voice input actually is, according to Cursor, and what the reported failures actually are, according to the reports. Then it covers the part neither of those answers, which is how to dictate the other eighty percent of what a developer types in a day.

What Cursor's voice input actually is

Start with the vendor, because the vendor is unusually precise here and the precision is the whole story. Cursor's documentation on prompting agents describes the feature in one sentence:

“Click the microphone icon in the chat input to dictate your prompt instead of typing. Speak naturally, include technical details like file and function names, and review the transcription before sending.”

Cursor Docs, Prompting agents

Read that again with an eye on the location rather than the instruction. The chat input. Not the editor, not the terminal, not the commit box. Cursor's keybinding reference agrees and is even blunter: there is exactly one voice-related shortcut in the entire document.

Cmd Shift Space        Toggle Voice Mode

That is the complete voice surface area of the product. It is a reasonable design decision, and it fits what Cursor is for: you speak a prompt, the agent writes the code. But it means the feature is not really dictation for your editor. It is a microphone on one text box, and if you were expecting to talk to your whole development environment, the gap you have run into is by design rather than by fault.

The distinction that decides which tool you need

Prompting is speaking an instruction to an AI agent that then writes something. Dictation is speaking text that lands, as text, where your caret is.

Cursor Voice Mode does the first, in one panel. A system-level dictation tool does the second, everywhere. Most developers who set this up properly end up using both, for different jobs.

Why it is probably not working

The single most common related search on this topic is cursor voice input not working, and three of the top ten results on the query are Cursor forum bug reports rather than articles. That is unusual, and it is worth taking seriously as a signal: the feature has a real history. Here it is, with versions and dates, because every account of this problem elsewhere describes one symptom without reference to the others.

October 2025

Cursor 2.0

Voice input ships as part of the 2.0 release, alongside Composer and the in-app browser.

October 2025

Cursor 2.0

Users report that custom submit keywords send empty messages to the chat in most attempts. The default keyword works.

December 2025

2.2.20

Microphone stops responding on macOS, Windows 10, Windows 11 and Linux. Console names a deprecated audio interface, ScriptProcessorNode. A moderator calls it "a known technical problem".

May 2026

3.2.21

A second, different failure: voice-processor.js returns net::ERR_FILE_NOT_FOUND, the level meter stays dead, no transcription arrives. All subscription tiers affected.

December 2025: the deprecated audio interface

After the update to 2.2.20, users reported the microphone doing nothing at all. The report covers macOS, Windows 10, Windows 11 and Linux together, which rules out most of what you would normally check first. The console output in the thread points at a browser audio interface that has been deprecated for years:

[Deprecation] The ScriptProcessorNode is deprecated.
Use AudioWorkletNode instead.

A Cursor moderator responded, acknowledged it as “a known technical problem”, and confirmed the team was migrating to the modern AudioWorkletNode API. No timeline was given.

May 2026: a second, unrelated failure

Five months later, on Cursor 3.2.21, a different bug produced the same user experience. The microphone button activates, the audio level visualiser stays dead, and no transcription appears. The network console shows why:

voice-processor.js    net::ERR_FILE_NOT_FOUND

That report lists macOS, Windows 11 and Ubuntu 24.04, and notes something worth repeating because it was initially misdiagnosed in the thread itself: the failure affects Free, Pro, Pro+ and Ultra alike, so it is not a paywall. The reporting developer gives a workaround, and it is the most useful sentence in the whole thread:

“Use the mic button in the Agents Window. Transcription works there on the same build.”

Cursor Community Forum, bug report 159747, May 2026

The same thread advises against downgrading, since the problem was reproduced across several older versions. If you are on macOS, it also suggests falling back to the system dictation shortcut, which “types straight into the Cursor chat input”. That is a sound instinct, and it is the same instinct this article is built on: the layer below the editor does not break when the editor does.

The submit keyword bug, which is worse than it sounds

One more, from the Cursor 2.0 release discussion, because the failure mode is genuinely dangerous rather than merely annoying. Users reported that changing the submit keyword from the default breaks sending:

“Using any keyword to submit instead of, well, `submit`, leads to voice mode sending empty messages to the chat in 70-80% percents of cases.”

Cursor Community Forum, Cursor 2.0 release discussion

Another user confirmed it and described the consequence exactly: “I thought I'd be cool and add a new submit keyword, but it just submits an empty prompt and off the agent goes guessing what you want.” An empty prompt is worse than no prompt, because an agent will act on it. If you use Voice Mode, keep the default submit keyword.

A quick check before you blame the editor

Cursor needs microphone permission from the operating system like any other application. On macOS that is System Settings, Privacy and Security, Microphone. On Windows it is Settings, Privacy and security, Microphone, with “Let desktop apps access your microphone” switched on. That is the entire configuration surface, which is precisely why a failure here usually is not something you did.

Dictate anywhere in your editor

ChatGPTGoogle DocsGmailWhatsAppMicrosoft Word

Microphone

One shortcut, every text field

BlabbyAI runs at the operating-system level, so the same key works in Cursor's chat, the file you are editing, the integrated terminal and the pull request you are writing in your browser. Windows desktop app and Chrome extension. 60 credits a week free, no card.

Add BlabbyAI to Chrome

The real limitation is scope, not reliability

Bugs get fixed. The migration to AudioWorkletNode will land, the missing file will be restored, and at some point Voice Mode will work reliably for everyone. The limitation that will still be there afterwards is the one written into the documentation: it is a microphone on the chat input.

Think about what you actually type on a normal working day. The prompt to the agent is a fraction of it.

Where you typeCursor Voice ModeSystem-level dictation
Chat and agent inputYesYes
A file open in the editorNoYes
The integrated terminalNoYes
Commit message boxNoYes
Pull request description in the browserNoYes
Issue tracker, Slack, emailNoYes

This is the argument for putting dictation one layer below the editor rather than inside it. A tool that types into the focused field does not need to know what Cursor is. It works in Cursor, and it carries on working in your browser, your terminal, your issue tracker and the Slack message where you explain why the build is red. It also does not stop working when the editor ships a regression, which on the evidence above is a real consideration rather than a hypothetical one.

What is actually worth dictating when you code

Let us be straight about the part that does not work, because overselling this is how people end up disappointed. Do not try to dictate raw syntax. Code is dense with brackets, punctuation, camel case and exact identifiers. Saying those aloud is slow, error-prone and genuinely more annoying than typing them. Voice-coding systems that handle syntax properly exist, and they work, but they require learning a command language and practising it for weeks.

What has changed is how much of programming is now prose. Prompts to an agent. Commit messages. Pull request descriptions. Code review comments. Documentation. Issue tickets. The Slack reply. All of that is ordinary English in a text field, all of it is tedious to type, and all of it dictates as well as any other writing does. That is the eighty percent worth talking about.

Where custom modes change the answer

Plain transcription gives you your words back as you said them, which for a commit message is not what you want. You said something rambling and conversational; what belongs in the repository is a conventional-commit subject line and a body. A BlabbyAI custom mode is a free-form AI instruction, so you write it once, pick it before you speak, and the text arrives already shaped.

Commit message mode

What you say

fixed the race condition in the upload queue where two workers could grab the same job, added a lock around the claim step and a test for it

What gets typed

fix(queue): prevent duplicate job claims

Two workers could claim the same job when polling
concurrently. Adds a lock around the claim step and
a regression test covering the race.

Pull request description mode

What you say

this one swaps the old date parser for the native one, it drops a dependency and it is faster, I tested it against the fixtures we already had plus a couple of timezone cases

What gets typed

## What changed
Replaces the custom date parser with the native
implementation, removing one dependency.

## Why
Smaller bundle and measurably faster parsing.

## Testing
Existing fixtures, plus added timezone cases.

Code review comment mode

What you say

this works but if the array is empty it will throw, maybe guard it or use optional chaining, not blocking

What gets typed

This throws when the array is empty. A guard or
optional chaining would cover it. Not blocking.

Why this matters more for developers than for most people

Developer writing is unusually formatted. Commit conventions, PR templates, issue templates, changelog entries and review etiquette all have a shape that your speaking voice does not naturally produce. Transcription hands you the raw material and leaves the reformatting to you, which is where the time saving quietly disappears. A mode does the reformatting as part of the same keystroke.

A setup that survives the next regression

The arrangement most people land on has two layers, and keeping them separate is the point.

Layer one

Cursor Voice Mode, for prompts

It is built in, it costs nothing extra, and speaking a prompt to the agent is exactly the job it was designed for. Keep the default submit keyword. When it breaks, the mic in the Agents Window has worked on builds where the chat mic did not.

Layer two

System dictation, for everything else

One shortcut that works in the editor, the terminal, the commit box, the browser and Slack. BlabbyAI covers this layer, with custom modes for commit messages and pull requests. It also keeps working on the days the editor does not.

If you are on Windows

Windows has built-in voice typing on Win+H, which is free and works in any field. It is noticeably weaker on technical vocabulary, which is the specific weakness that hurts when you are saying library names, function names and acronyms all day. The BlabbyAI Windows app is the same idea with a model that handles that vocabulary and modes that format the output.

If you work mostly in the browser

A lot of the writing around code never happens in the editor at all: the pull request description, the review comments, the issue, the design doc. The BlabbyAI Chrome extension covers exactly that surface with no desktop application to install, which also makes it the practical option on a managed work laptop where you cannot install software. It works in GitHub, GitLab, Linear, Jira and Notion the same way it works anywhere else, because to the extension they are all just text fields.

The options, side by side

ToolWhere it typesPlatformText shapingPrice
BlabbyAIAny text field, any appWindows app, Chrome extensionCustom modes, free-formFree tier, then $8.49/mo
Cursor Voice ModeChat input onlyBuilt into CursorTranscription onlyIncluded with Cursor
Windows Voice TypingAny text fieldWindows onlyTranscription onlyFree with Windows
macOS DictationAny text fieldmacOS onlyTranscription onlyFree with macOS

The row that matters for this article is the second column. Every tool here transcribes speech competently in 2026; that stopped being the differentiator some time ago. What separates them is where the text is allowed to land, and whether it arrives in the shape you needed.

Common questions

Does Cursor have voice input?

Yes. Cursor ships a built-in voice input, and its own documentation describes it precisely: "Click the microphone icon in the chat input to dictate your prompt instead of typing. Speak naturally, include technical details like file and function names, and review the transcription before sending." The keyboard shortcut is Cmd+Shift+Space, listed in Cursor's keybinding reference as "Toggle Voice Mode", and it is the only voice-related shortcut in that entire document. The important part of the vendor description is the location: the chat input. Cursor's dictation is a feature of one panel, not of the editor. It does not put text in a file you have open, in the integrated terminal, in the commit message box, in the rename dialog or in a pull request description. For dictating your prompts to the agent, that scope is fine. For dictating everything else a developer types in a day, you need something that works at the operating-system level, which is what a tool like BlabbyAI does: it types into whatever text field currently has focus, in any application.

Why is voice input not working in Cursor?

Because it has genuinely broken more than once, in two different ways, and the bug reports name the causes. In December 2025, users on macOS, Windows 10, Windows 11 and Linux reported the microphone doing nothing after the update to version 2.2.20. The console output in that report points at a deprecated browser audio interface: "[Deprecation] The ScriptProcessorNode is deprecated. Use AudioWorkletNode instead." A Cursor moderator acknowledged it as "a known technical problem" and said the team was migrating to the modern AudioWorkletNode API, without giving a timeline. In May 2026, on Cursor 3.2.21, a different failure appeared: the level meter stays dead and no transcription arrives because voice-processor.js fails to load with net::ERR_FILE_NOT_FOUND. That report notes the problem across macOS, Windows 11 and Ubuntu 24.04, and on the Free, Pro, Pro+ and Ultra tiers alike, so it is not a subscription limit. If your microphone works in other applications and does nothing in Cursor, you are almost certainly looking at the client rather than at your audio setup. Because the failures are in Cursor's own audio pipeline, a dictation tool that runs at the operating-system level is unaffected by them: BlabbyAI types into the chat input the same way it types into any other field, without going through Cursor's microphone code at all.

How do I enable voice input in Cursor?

Open a chat panel and click the microphone icon in the chat input, or press Cmd+Shift+Space to toggle Voice Mode. The first time you do this the operating system will ask for microphone permission, and Cursor needs to be granted it: on macOS that is System Settings, Privacy and Security, Microphone, and on Windows it is Settings, Privacy and security, Microphone, with "Let desktop apps access your microphone" switched on. That is the whole setup, which is why a failure at this point is usually not something you have configured wrongly. If the microphone animation appears and no text arrives, the workaround the reporting developer gives in the May 2026 thread is to use the mic button in the Agents Window instead, because "Transcription works there on the same build". Downgrading is explicitly not recommended in that thread, since the problem was reproduced on several older versions. The other route is to stop depending on the editor for dictation: BlabbyAI is enabled once at the system level and then works in Cursor's chat, in the file you are editing and in the terminal, with the same shortcut everywhere.

Can I dictate code with voice input?

You can dictate the prose that surrounds code far more easily than the code itself, and that distinction matters more than it sounds. Source code is dense with punctuation, brackets, camel case and exact identifiers, all of which are slow to say aloud and quick to type. Dedicated voice-coding systems that handle raw syntax exist, and they work, but they ask you to learn a command language and practise it for weeks. What has changed is how much of a modern development day is ordinary English: prompts to an AI agent, commit messages, pull request descriptions, code review comments, documentation, issue tickets and replies to colleagues. That is all prose in a text field, and it dictates as well as any other writing. The practical pattern most people land on is to speak the intent and let the agent produce the syntax, which is exactly the workflow Cursor is built around. That is also where BlabbyAI custom modes earn their place: one mode turns a spoken explanation into a conventional-commit message, another into a pull request description, so the prose around the code arrives already formatted rather than as raw transcription.

What is the difference between Cursor Voice Mode and a dictation app?

Scope, mainly. Cursor Voice Mode is part of Cursor and works in Cursor's chat input. A dictation app runs at the operating-system level and types into whichever field has focus, so the same shortcut works in the editor, the integrated terminal, the commit box, your browser, Slack and your issue tracker. The second difference is what happens to the words. Voice Mode transcribes what you said so you can send it as a prompt. A tool with custom modes can transform it: BlabbyAI custom modes are free-form AI instructions, so one mode can turn a rambling spoken explanation into a conventional-commit message, another can turn the same kind of speech into a pull request description with a summary and a testing section, and another can leave technical terms strictly alone. You pick the mode before you speak and the text arrives already shaped.

Does Cursor voice input work on Windows?

It is supposed to, and both major bug reports list Windows among the affected systems, which tells you it is neither Windows-only nor Windows-exempt. The December 2025 report covers macOS, Windows 10, Windows 11 and Linux together, and the May 2026 report covers macOS, Windows 11 and Ubuntu. If you are on Windows and the feature is not responding, check that Cursor has microphone permission under Settings, Privacy and security, Microphone, then try the Agents Window microphone as the in-app workaround. A system-level dictation tool sidesteps the question entirely, because it never depends on the editor's own audio pipeline. BlabbyAI has a native Windows desktop app that puts text into any focused field, including Cursor's chat, the file you are editing and the terminal.

Can I use voice input in the Cursor terminal?

Not with Cursor's built-in Voice Mode, because the vendor documentation scopes dictation to the chat input rather than to the editor as a whole. The integrated terminal is one of the more useful places to have it, though, since long commands, git messages and one-off scripts are exactly the kind of text that is tedious to type and easy to say. An operating-system-level dictation tool handles it because it does not know or care which application owns the text field. With BlabbyAI you press the shortcut, speak, and the text is typed where the caret is, whether that caret is in a terminal, a Markdown file, a chat box or a browser tab.

Is there a free way to dictate into Cursor?

Yes, several, with different trade-offs. Both operating systems include dictation: on macOS the system dictation shortcut is Fn pressed twice by default, which the May 2026 Cursor thread suggests as a workaround because "It types straight into the Cursor chat input", and on Windows it is Win+H. Both are free and both are noticeably weaker on technical vocabulary than a Whisper-based tool, which is the specific weakness that hurts when you are saying library names and function names. BlabbyAI has a free tier of 60 credits a week with no card required, which is enough to find out whether dictating your prompts and commit messages suits how you work before deciding anything. There is a Windows desktop app and a Chrome extension, and the extension needs no installation of a desktop application at all.

Does voice input work with Cursor submit keywords?

It has been unreliable, and this is a specific reported bug rather than a general impression. In the Cursor 2.0 release discussion, one user reported that "Using any keyword to submit instead of, well, submit, leads to voice mode sending empty messages to the chat in 70-80% percents of cases", and another confirmed it with a description worth quoting because it captures the failure mode exactly: "I thought I'd be cool and add a new submit keyword, but it just submits an empty prompt and off the agent goes guessing what you want." If you use Voice Mode, the safe configuration is the default submit keyword. An empty prompt sent to an agent is worse than no prompt at all, because the agent will act on it. Dictating with a system-level tool such as BlabbyAI sidesteps the question entirely, since the text is typed into the input and you press Enter yourself, exactly as if you had typed it.

What is the best voice input setup for Cursor in 2026?

The setup most people settle on has two parts, and it is worth separating them. Use Cursor's own Voice Mode when it is working and you only want to speak a prompt into the chat, since it is built in and costs nothing. Use a system-level dictation tool for everything else you type, which on a normal day is most of it: the commit message, the pull request description, the code review comment, the terminal command, the Slack reply explaining why the build is red, the issue you file afterwards. The second tool also covers you when the first one breaks, which on the evidence of the last year is not a hypothetical. BlabbyAI fits the second slot: one shortcut, any text field, custom modes that shape the text as it arrives, and audio history kept on your own disk.

Sources

  • Cursor Docs, Prompting agents, for the description of the microphone in the chat input.
  • Cursor Docs, Keyboard shortcuts, for Cmd+Shift+Space, Toggle Voice Mode.
  • Cursor Community Forum, Voice Input Not Working in Cursor IDE, December 2025, for the ScriptProcessorNode deprecation and the moderator response.
  • Cursor Community Forum, bug report 159747, May 2026, for the voice-processor.js failure on 3.2.21 and the Agents Window workaround.
  • Cursor Community Forum, Cursor 2.0: Composer, in-app browser, voice & more, for the submit keyword reports.

Talk to the whole editor, not just the chat box

BlabbyAI types into any focused text field, so one shortcut covers Cursor's chat, the file you are editing, the terminal, the commit message and the pull request. Custom modes turn a spoken explanation into a conventional commit or a PR description as it arrives. Windows app and Chrome extension, 60 credits a week free, no card.

Add BlabbyAI to Chrome