Voice mode blocked on WSL2 even when WSLg audio (RDPSource) is available
Resolved 💬 3 comments Opened Mar 5, 2026 by Bukunmi2108 Closed Apr 9, 2026
Summary
Voice mode is hardcoded to reject WSL environments (if(sA()==="wsl")return{available:!1,...}), but WSL2 with WSLg has working audio via PulseAudio RDP devices.
Environment
- WSL2 on Windows 11
- WSLg enabled (
/mnt/wslg/PulseServerpresent) pactl list sources shortshowsRDPSource(microphone available)- Claude Code v2.1.69
Current behavior
Voice mode is not supported in WSL (Windows Subsystem for Linux) because audio devices are not available.
To use voice mode, run Claude Code in native Windows instead.
Expected behavior
Voice mode should check for actual audio device availability (e.g. presence of /mnt/wslg/PulseServer or RDPSource in PulseAudio sources) rather than blanket-blocking all WSL environments.
Evidence that audio works
$ ls /mnt/wslg/PulseServer
/mnt/wslg/PulseServer
$ pactl list sources short
1 RDPSink.monitor module-rdp-sink.c s16le 2ch 44100Hz SUSPENDED
2 RDPSource module-rdp-source.c s16le 1ch 44100Hz SUSPENDED
Suggested fix
Replace the platform-based check with an actual audio device probe, or at minimum allow WSL2 environments with WSLg to proceed.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗