Windows Subsystem for Linux (WSL)

Microsoft Voice Control

Published 2026-04-03.
Time to read: 2 minutes.

This page is part of the wsl collection.

Windows Voice Access

This is a feature of Windows 11 designed to replace older tools.

After an initial one-time download of language files, all speech-to-text and command processing happens strictly on your device without an internet connection.

  1. Search for Voice Access in the Start menu or go to Settings / Accessibility / Speech.
  2. Say “voice access wake up” or press the mic button to activate voice access.
  3. Toggle voice access by pressing Windows+CTRL+S.

Here are the docs.

With voice input enabled, say “what can I say” to see a list of commands.

Windows Voice Access Commands 1/2
Windows Voice Access Commands 1/2

There are so many possible commands that they are grouped.

This would not be a Microsoft product without some anti-competitive discrimination. Voice access does not recognize Firefox as a web browser, but Chrome is recognized (Microsoft Edge is based on Chrome.)

The only way to make Microsoft Voice Access create a new Firefox tab is to say “press control t”. To close the tab, say “press control F4”. I was unable to create a new voice shortcut that worked for Firefox.

Windows System Dictation settings
Windows System Dictation settings

Windows System Dictation (Older)

Windows System Dictation is free and works really well with Aider, regardless of whether it is installed as a Native Windows app or as a WSL app. Processing for Windows System Dictation requires an active internet connection because your audio is processed in Microsoft's cloud. Voice recognition is initatied by clicking a button.

  1. Select the window containing the Aider prompt.
  2. Press Win+H.
  3. Speak your instructions.

Audio Bridge: WSL2 to Windows (For Voice Agents)

If using Claude Code’s /voice feature or similar LLM voice tools, you need to set up Pulseaudio to bridge WSL to Windows.

  1. Install Audio Tools in WSL: sudo apt update && sudo apt install -y pulseaudio-utils.

  2. Set Audio Source: Ensure WSL is using Windows Microphone. In WSL2, you need to use the PULSE_SERVER environment variable to bridge audio:

     export PULSE_SERVER=tcp:$(grep nameserver /etc/resolv.conf | awk '{print $2}');
    
  3. ALSA Plugin: If ALSA tools fail, install the plugin: sudo apt install libasound2-plugins.

  4. Running Native Windows Voice Commands from Bash You can invoke Windows Speech commands directly from Bash by calling the .exe extension:

  5. Open Windows Voice Access: cmd.exe /c “start ms-settings:easeofaccess-voice-recognition”
  6. TTS Voice Commands: To have WSL output voice through Windows, you can call PowerShell from Bash:

     powershell.exe -Command "Add-Type -AssemblyName System.Speech; (New-Object System.Speech.Synthesis.SpeechSynthesizer).Speak('Task Finished')"
    
  7. Running Native Windows Voice Commands from Bash

You can invoke Windows Speech commands directly from Bash by calling the .exe extension:

  1. Open Windows Voice Access:

     cmd.exe /c "start ms-settings:easeofaccess-voice-recognition"
    
  2. TTS Voice Commands: To have WSL output voice through Windows, you can call PowerShell from Bash:

     powershell.exe -Command "Add-Type -AssemblyName System.Speech; (New-Object System.Speech.Synthesis.SpeechSynthesizer).Speak('Task Finished')"
    
  3. Vosk or WhisperWriter: Use a lightweight local voice recognition model inside WSL (like Vosk) that passes text to the Windows clipboard via /mnt/c/Windows/System32/clip.exe.

# Save current timestamp I to system clipboard
$ date | clip.exe
* indicates a required field.

Please select the following to receive Mike Slinn’s newsletter:

You can unsubscribe at any time by clicking the link in the footer of emails.

Mike Slinn uses Mailchimp as his marketing platform. By clicking below to subscribe, you acknowledge that your information will be transferred to Mailchimp for processing. Learn more about Mailchimp’s privacy practices.