Dictate in VS Code on Mac
3-minute setup · no extensions · audio stays on your Mac
Voice: Start Dictation command, but it's basic and routes audio through the Web Speech API. A system-wide tool gives you better accuracy, works offline, and stays out of your way.

Why dictation is different in a code editor
Code editors are picky environments. You're not writing prose — you're managing cursor positions, dismissing auto-complete popups, jumping between tabs, pasting into chat panels. Most consumer voice tools assume the document is a Google Doc, and they get confused fast when the "document" is actually a comment block, a string literal, or a Copilot prompt. The things that matter for dictating in VS Code: - **Cursor awareness.** Text must land wherever the cursor is — top of file, inside a function, in the integrated terminal, in the chat sidebar. A system-wide hotkey is the only way to get this consistently. - **No extensions to babysit.** A "VS Code dictation extension" usually means another dependency, another account, another thing that breaks on the next VS Code update. An external tool bypasses the editor entirely. - **No weird character conversions.** "Open paren" needs to become `(`, not the word "open paren". A few tools do this well; most don't. - **Privacy.** Some devs are writing proprietary code. Audio going to Google's servers every time they say "fix the race condition in the webhook handler" is a non-starter. - **Offline.** Apple's built-in dictation needs internet for the more accurate mode. On a plane or a coffee shop with bad Wi-Fi, that's a problem.Dictation in a code editor is fundamentally different from dictation in a word processor, and the failure modes are specific to the editor environment. The cursor jumps when you delete a word. Auto-complete popups steal focus mid-sentence. Multiple tabs mean multiple possible targets, and a misclick can send your dictation to the wrong file. The integrated terminal expects shell commands, not prose, and a single misheard word can become a destructive rm or git push. A consumer voice tool trained on email and Google Docs will mis-hear git push as get push, capitalize things mid-sentence, or insert period as a literal word. The right tool for the job is one that respects the active cursor, respects the active app, and doesn't try to be smart about formatting. That's why a system-wide hotkey that types into the focused window beats an editor-specific extension for most developers — it works the same way in VS Code, the terminal, the browser, and the chat panel, with zero context-switching.
Which is the best way to dictate in VS Code on Mac?
You basically have three options in 2026: 1. **VS Code's built-in voice typing.** Free, no install, but uses the Web Speech API through Chromium and is fairly basic. 2. **A VS Code speech extension.** Things like Microsoft's *VS Code Speech* extension or community forks. More featureful than the built-in, but you're married to the extension's update cycle. 3. **A system-wide dictation app** (like MetaWhisp) that sends text into the focused window. Works in VS Code, in the terminal, in your browser, in your chat app — anywhere your cursor happens to be.The simplest answer for most developers: install MetaWhisp, hold Right Option, talk. Your words go into whatever window has focus — VS Code, the terminal, the Copilot Chat sidebar, the integrated browser, even the file rename dialog. Local mode is free and unlimited, audio never leaves the Mac, and the same hotkey works in every other app on your system without per-app setup or per-workspace enablement. The Whisper large-v3-turbo model runs on the Apple Neural Engine, so it's fast even on an M1 Air, and it handles code-adjacent vocabulary (camelCase, snake_case, common framework names) better than the built-in option. If you only dictate inside the editor for short bursts and don't care about offline operation, the built-in Voice: Start Dictation command is fine; for daily driver use across multiple apps, a system-wide tool wins on consistency, speed, and privacy.

How does VS Code's built-in voice typing work?
VS Code ships a built-in voice command calledVoice: Start Dictation (and Voice: Stop Dictation) that you can trigger from the Command Palette. It's documented in the official VS Code voice guide.
The honest version:
- **Engine:** It uses the Web Speech API under the hood, which on macOS leans on Apple's dictation pipeline. That means audio can leave your Mac for the more accurate mode.
- **Setup:** Open the Command Palette (⇧⌘P), type "Voice: Start Dictation", press Enter. Or assign a keybinding in Keyboard Shortcuts.
- **Languages:** Whatever the underlying system supports — on macOS, that's the same set as Apple Dictation.
- **Stop:** Press Escape, or use the "Voice: Stop Dictation" command.
It's fine for a quick comment. It is not great if you want consistent punctuation, custom vocabulary, or a single button that behaves the same way in every app. That gap is what pushes most developers to option 3.
Yes — VS Code has a built-in voice command called Voice: Start Dictation. Open the Command Palette with ⇧⌘P, type the command, and press Enter. It uses the Web Speech API, which on macOS relies on Apple's dictation engine and routes audio through Apple's servers for the more accurate mode. It works, but it's basic compared to a dedicated tool: no offline mode by default, no consistent punctuation control, no way to customize the hotkey per app, and no way to use the same hotkey in your terminal or browser. The feature is documented at code.visualstudio.com/docs/editor/voice if you want the full list of commands and limitations. Voice commands like "next paragraph" and "new line" are supported but limited. For short, occasional comments it's fine; for sustained dictation sessions, you'll outgrow it within a week and start looking for a system-wide alternative.
Should I use a VS Code speech extension instead?
If you want more control inside the editor, you can install a voice extension. The well-known one is Microsoft's **VS Code Speech** extension; there are also community alternatives. These add commands likevoice.start to the palette and let you configure hotkeys and sometimes literal punctuation.
Pros:
- Native commands inside the Command Palette.
- Some let you speak punctuation literally ("open paren" → `(`).
- Works in any text file type VS Code opens.
Cons:
- Another extension to update, audit, and troubleshoot.
- Some send audio to cloud STT APIs you can't always swap out.
- You may have to enable per-workspace.
If you live entirely inside VS Code and don't dictate in your browser, terminal, or chat tools, an extension is reasonable. Most developers — me included — dictate in too many places to live with that.
Method 3: A system-wide dictation app (the one I use)
A global dictation app doesn't care what window is focused. You press a hotkey, it captures your voice, it pastes the transcript into whatever has the cursor. In VS Code, that means it just works — in a comment, in a file, in the terminal panel, in the Copilot Chat sidebar. MetaWhisp is what I built for exactly this. It's a free macOS app that runs OpenAI's Whisper locally through WhisperKit on the Apple Neural Engine, with a single global hotkey (default Right Option ⌥). Why I built it that way: - **No account.** Install, run, dictate. Local mode is free and unlimited. - **Audio never leaves the Mac.** The Whisper model runs on-device. Your code comments aren't being shipped to a third party. - **One hotkey everywhere.** Same hotkey in VS Code, Chrome, Slack, BBEdit, anywhere. - **Free unlimited local mode.** No monthly minutes cap, no trial, no upsell on the core feature. - **Optional Pro.** If you want cloud accuracy on tough audio, or AI text polish via processing modes, Pro is $30/year or $7.77/month. Local mode stays free forever.Founder's note: I run on an M1 Air with 8 GB of RAM. I have MetaWhisp set to launch at login with Right Option as the hotkey. I dictate 90% of my comments, PR descriptions, and prompts into Copilot Chat. The remaining 10% is actual code, where typing is faster than speaking.
How to set up MetaWhisp for VS Code on Mac in 3 minutes
You need a Mac running macOS 14 Sonoma or later on an Apple Silicon chip (M1, M2, M3, M4, or later). Intel is not supported because the model runs on the Neural Engine, which is Apple-only. **Step 1: Download and install.** Grab MetaWhisp from the download page — free, no signup. Open the .dmg, drag the app into Applications, launch it. macOS will ask for accessibility permission so the app can paste text into the focused window — click Allow. **Step 2: Download the Whisper model.** First launch triggers a one-time download of the Whisper large-v3-turbo model (~950 MB). It runs locally on the Neural Engine and never connects to a server during the download. The progress bar tells you when it's ready. **Step 3: Confirm your hotkey.** Default is **Right Option (⌥)**. Hold it, talk, release. To change it, open the app's settings — anything goes from F-keys to Caps Lock to a chord like Right Option + R. The global hotkey docs walk through it. **Step 4: Test it in VS Code.** Open VS Code, place your cursor in any file, hold Right Option and say: "remember to refactor this loop on Monday." Release. The text lands where the cursor was. Done.
To dictate in VS Code with MetaWhisp: download it from metawhisp.com/download, open the .dmg, and launch it. Grant accessibility permission when macOS prompts you, wait for the ~950 MB Whisper model to load, then hold Right Option and talk. Whatever you say gets transcribed locally on the Apple Neural Engine and pasted at your cursor in under a second. The same hotkey works in the VS Code editor, the integrated terminal, the Copilot Chat sidebar, the source control input, and every other app on your Mac — no per-app setup, no per-workspace toggle, no extension to keep updated. Local mode is free and unlimited, with no account, no monthly cap, and no audio leaving your machine. The first transcription is the slowest because the model warms up; subsequent ones feel realtime on M1 Pro or later hardware.
How is this different from VS Code's built-in voice?
| Feature | VS Code built-in | MetaWhisp local |
|---|---|---|
| Engine | Web Speech API / Apple Dictation | Whisper large-v3-turbo on ANE |
| Account needed | No | No |
| Internet required | Yes (for full accuracy) | No |
| Cost | Free | Free (local mode) |
| Audio leaves Mac | Yes (Apple servers) | No |
| Punctuation accuracy | Decent | Good, configurable |
| Works in terminal | Limited | Yes |
| Works in Copilot Chat | Limited | Yes |
| Languages | Apple-supported set | 99 with auto-detect |
| Custom vocabulary | No | Pro feature |
How do I dictate code comments in VS Code?
Code comments are where dictation pays for itself fastest. You think faster than you type when you can talk, and a good comment block reads better when it's natural language. The trick is to teach yourself a few voice-to-symbol replacements: - "open paren" → `(` - "close paren" → `)` - "open curly" → `{` - "equals" → `=` - "arrow" → `=>` - "colon colon" → `::` A typical multi-line comment workflow looks like this: 1. Type `//` and hit Enter to start the block. 2. Cursor is on line 2. Hold ⌥ and dictate: "this function handles user login, returns a token, throws on invalid credentials." 3. Release. Edit a couple of words. Move on. The transcript lands at high accuracy on clear English in my own testing, so editing is usually a quick pass, not a full re-type. If you dictate a lot of code, Pro's Structured processing modes can strip filler words, fix casing, and reformat dictated code blocks.Pro tip: If you have to write a long function comment, dictate it in two passes: first the summary sentence, then a second pass for the edge cases. Splitting it up reduces mid-thought filler words and gives you cleaner output to edit.
Can I dictate Copilot Chat prompts?
VS Code's Copilot Chat sidebar is a normal text area. Your cursor is there, you press a hotkey, you talk — the prompt goes in. For prompts longer than a sentence this is a huge quality-of-life win, because long prompts are where you tend to typo, drop words, and lose your train of thought. A worked example: 1. Click into the Copilot Chat input box. 2. Hold Right Option and say: "given this React component, refactor it to use the new server actions API, and explain the security tradeoffs of using form actions versus client side fetch." 3. Release. The prompt appears, you hit Enter, Copilot does its thing. Same workflow in Cursor, in the integrated terminal, in a pull request description on GitHub.com, in Slack — anywhere with a text field.
Why isn't my VS Code dictation working?
A handful of things go wrong on day one. Here are the fixes I've hit personally and watched other people hit. **"The hotkey fires but nothing pastes."** macOS is blocking the paste. Go to System Settings → Privacy & Security → Accessibility and make sure MetaWhisp is on the list. Toggle it off and back on if it was already enabled — that fixes a lot of stale-permission issues. **"It's slow on my M1."** The first transcription is the slowest because the model has to warm up. After that it's typically faster than realtime on an M1 Pro or later. If it's slow on a base M1, switch the language in settings to your actual language instead of auto-detect — that saves a few hundred milliseconds. **"It keeps inserting 'period new line' when I want to keep talking."** The hotkey is the boundary. If you want a longer dictation, switch to "press to start, press to stop" mode in settings. **"VS Code keeps stealing focus and text goes to the wrong tab."** This is usually a macOS focus issue, not a MetaWhisp issue. In System Settings → Desktop & Dock, turn off "Focus follows mouse" if it's on, and make sure VS Code is the active window before you press the hotkey. **"I need to dictate a different language in the same session."** MetaWhisp supports 99 languages with auto-detect. If you want a fixed language for a session, set it in settings. The Pro plan adds translation.How to choose for yourself
If you only dictate occasionally, the built-in VS Code voice is a fine starting point. If you dictate every day and care about privacy, offline operation, or accuracy on technical vocabulary, a system-wide tool like MetaWhisp is worth the three minutes. The free local mode covers what most developers need; the Pro plan exists for cloud accuracy on tough audio, AI text polish, and translation. Either way, the upgrade in flow state is real. Once you can talk to your editor, you stop optimizing keystrokes and start thinking about the actual problem.FAQ
How do I enable voice typing in VS Code on Mac?
Open the Command Palette with ⇧⌘P, type "Voice: Start Dictation", and press Enter. VS Code will start capturing your voice and inserting text at the cursor. To stop, press Escape or use the "Voice: Stop Dictation" command. You can also assign a custom keybinding in Keyboard Shortcuts. The feature is documented at code.visualstudio.com/docs/editor/voice.
Does VS Code have built-in dictation?
Yes. VS Code has built-in voice commands documented at code.visualstudio.com/docs/editor/voice. It uses the Web Speech API under the hood, which on macOS leans on Apple's dictation engine. It's basic but functional for short dictation sessions and works without installing anything.
How do I dictate code comments in VS Code?
Place your cursor where the comment should go, trigger your dictation tool, and talk naturally. A tool like MetaWhisp will paste a formatted transcript with punctuation at the cursor. Type // first to start a comment line, dictate, then edit. For block comments, type /*, hit Enter, dictate the body, and close with */.
Is there a free way to dictate in VS Code on Mac?
Yes. VS Code's built-in voice is free, and so is MetaWhisp's local mode. Both have no monthly cap on basic local dictation. Apple Dictation is also free and built into macOS, but it's not a hotkey-driven flow and is less precise in code editors. None of these free options require an account or signup.
Can I use voice to write Copilot prompts?
Yes. Click into the Copilot Chat input box in VS Code's sidebar, trigger your dictation hotkey, and talk. The text lands in the prompt field the same way it would in any other text area. Long prompts are where voice has the biggest quality-of-life impact — multi-sentence prompts land accurately in one pass instead of getting mangled by typing.
How do I dictate in VS Code's integrated terminal?
Click into the integrated terminal panel so the cursor is on the command line, then trigger dictation as usual. The transcript will be inserted as a shell command. Be careful — a misheard word can become a destructive command. Read the line before you hit Enter, especially for anything that touches rm, git, or kubectl.
What is the best dictation app for VS Code on Mac?
It depends on what you mean by best. For pure editor use, an extension like VS Code Speech is decent. For system-wide use across the editor, terminal, and chat, a global app like MetaWhisp is more consistent because the same hotkey works everywhere. The Apple built-in option is free but not designed for hotkey-driven developer workflows.
How do I stop VS Code from auto-punctuating my dictation?
VS Code's built-in voice inherits punctuation behavior from the underlying speech engine. If you want full control, use a tool that lets you speak punctuation literally ("open paren" → () and turn off automatic punctuation. MetaWhisp's Pro processing modes include a "verbatim" mode that preserves exactly what you said.
Can I dictate code snippets in VS Code?
You can dictate code, but you have to speak it carefully. Punctuation words like "open paren" need to map to symbols, and whitespace has to be intentional. Most developers dictate comments and prose, then type or paste actual code. The MetaWhisp processing modes can be tuned to preserve formatting for code-like input if you dictate code often.