Voice support
VS Code has built-in dictation that converts your speech to text in chat, the Agents window, editors, and terminals. Dictation uses an on-device speech recognition model by default, so you can dictate without sending audio to an online service.
Built-in dictation is an experimental feature and is subject to change.
Use built-in dictation
Built-in dictation is available when AI features are enabled and is turned on by default with the
dictation.enabled
This setting can be managed by your organization. Contact your administrator to change it. setting. On first use, VS Code downloads the default nemotron-3.5-asr-streaming-0.6b speech recognition model. After the download completes, speech recognition works locally and offline.
The on-device model is available on these desktop platforms:
- Windows on x64 and Arm64.
- macOS on Apple silicon.
- Linux on x64 and Arm64 with glibc 2.34 or later.
- Remote workspaces, because speech recognition runs on the local VS Code client.
VS Code asks for microphone access when you start dictation. Only one dictation session can be active at a time.
Dictate in chat or the Agents window
To dictate a chat prompt, select the microphone button in the chat input or press ⌘I (Windows, Linux Ctrl+I). Select the button or press the keyboard shortcut again to stop dictation and keep the transcribed text. Dictation inserts text in the input but does not submit the request.


Press Escape to cancel dictation and remove the text from the current dictation session.
On first use, VS Code shows an introduction next to the chat input. To view it again, run Chat: Dictate: Show Introduction from the Command Palette.
Dictate in an editor
To dictate in a writable editor, run Voice: Start Dictation in Editor or press ⌥⌘V (Windows, Linux Ctrl+Alt+V). A microphone control appears at the cursor while dictation is active. Run Voice: Stop Dictation in Editor or use the microphone control to stop.
Editor dictation also works in other inputs that use a rich editor, such as the Source Control commit input and pull request comment fields.
Press and hold a dictation keyboard shortcut to use push-to-talk. Speech recognition remains active until you release the keys.
Dictate in a terminal
To dictate at a terminal prompt, run Voice: Start Dictation in Terminal from the Command Palette. Run Voice: Stop Dictation in Terminal or use the microphone control to stop and insert the final text.
Terminal dictation adapts speech for command-line input. For example, it removes ordinary punctuation, converts spoken symbol names, and adjusts initial capitalization. Set accessibility.voice.speechTimeout to a value greater than zero to stop dictation automatically after the specified period of silence.
Configure dictation
Use these settings to configure built-in dictation:
| Setting | Description | Default |
|---|---|---|
| dictation.enabled This setting can be managed by your organization. Contact your administrator to change it. | Controls whether built-in dictation is available. | true |
| dictation.model | Selects the speech recognition model. | "nemotron-3.5-asr-streaming-0.6b" |
| dictation.showTranscript | Shows interim transcription while you speak. Final text is still inserted when this setting is off. | true |
| dictation.experimental.llmCleanup | Uses a language model to improve punctuation, capitalization, paragraphs, lists, and number formatting in the final transcript. | true |
| agents.voice.language | Provides a language hint for dictation and Voice Mode. Use auto to use the system language. |
"auto" |
| accessibility.voice.speechTimeout | Stops terminal dictation after the specified number of milliseconds of silence. Set to 0 to keep listening. |
0 |
To choose an input device, run Chat: Dictate: Select Microphone from the Command Palette. The microphone selection applies to all dictation surfaces and Voice Mode.
Add dictation instructions
You can provide instructions for how the language model cleans up a transcript. For example, you can specify preferred terminology or formatting. Run Voice: Configure Dictation Instructions from the Command Palette to create an instructions file:
- User instructions apply across all workspaces and are stored in
~/.copilot/dictation.md. - Workspace instructions are stored in
.github/dictation.mdand apply only when the workspace is trusted.
Dictation instructions apply when dictation.experimental.llmCleanup is enabled.
Install the model from a local package
If network restrictions prevent VS Code from downloading the on-device model, download the official CPU model package separately. Then run Chat: Install Dictation Model from Local Package... and select the ZIP file or prepared model folder.
Understand dictation privacy
The default speech recognition model processes microphone audio on your device. After the initial model download, speech recognition does not require an internet connection.
When dictation.experimental.llmCleanup is enabled, VS Code sends the transcript text, but not the audio, to a Copilot language model for cleanup. Turn off this setting to keep transcript processing local.
VS Code Speech extension
Built-in dictation is not available on these platforms:
- VS Code for the Web.
- Intel-based Mac computers.
- 32-bit and Arm32 systems.
- Linux distributions that use musl, such as Alpine Linux.
On these platforms, install the VS Code Speech extension. The extension also provides voice chat, text-to-speech for chat responses, and the "Hey Code" keyword activation feature.
Next steps
Read on to find out about:
- Other VS Code accessibility features.
- Visual Studio Code User Interface - A quick orientation to VS Code.
- Basic Editing - Learn about the powerful VS Code editor.
- Code Navigation - Move quickly through your source code.