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/PulseServer present)
  • pactl list sources short shows RDPSource (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.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗