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.

Note

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 Open in VS Code Open in VS Code Insiders 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.

Screenshot showing text entered by dictation in the chat input.

Screenshot showing active dictation listening for speech in the chat input.

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.

Note

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 Open in VS Code Open in VS Code Insiders 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 Open in VS Code Open in VS Code Insiders This setting can be managed by your organization. Contact your administrator to change it. Controls whether built-in dictation is available. true
dictation.model Open in VS Code Open in VS Code Insiders Selects the speech recognition model. "nemotron-3.5-asr-streaming-0.6b"
dictation.showTranscript Open in VS Code Open in VS Code Insiders Shows interim transcription while you speak. Final text is still inserted when this setting is off. true
dictation.experimental.llmCleanup Open in VS Code Open in VS Code Insiders Uses a language model to improve punctuation, capitalization, paragraphs, lists, and number formatting in the final transcript. true
agents.voice.language Open in VS Code Open in VS Code Insiders Provides a language hint for dictation and Voice Mode. Use auto to use the system language. "auto"
accessibility.voice.speechTimeout Open in VS Code Open in VS Code Insiders 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.md and apply only when the workspace is trusted.

Dictation instructions apply when dictation.experimental.llmCleanup Open in VS Code Open in VS Code Insiders 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 Open in VS Code Open in VS Code Insiders 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: