[BUG] /voice fails on Windows - audio-capture.node path hardcoded to CI build machine
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
The /voice command fails on Windows with "Voice recording requires the native audio module, which could not be loaded."
It seems as though the audio-capture.node native module path is hardcoded to the CI build machine path (D:/a/claude-cli-internal/claude-cli-internal/vendor/audio-capture/x64-win32/audio-capture.node) and therefore the module is not bundled with or extracted from the binary.
What Should Happen?
Voice recording should work on Windows. The native audio-capture.node module should either be bundled and extracted at runtime, shipped alongside the binary, or resolved relative to the executable.
Error Messages/Logs
Voice recording requires the native audio module, which could not be loaded.
Steps to Reproduce
- Install Claude Code 2.1.69 Windows binary
- Run claude in any terminal
- Type /voice
- Observe the error
Claude Model
Sonnet (default)
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.69 (Claude Code)
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
PowerShell
Additional Information
Root cause analysis from binary inspection:
The dd$() function in the bundled code attempts to load:
path.join(
path.dirname("file:///D:/a/claude-cli-internal/claude-cli-internal/vendor/audio-capture-src/index.ts"),
"..", "audio-capture", "x64-win32", "audio-capture.node"
)
This resolves to D:\a\claude-cli-internal\...\audio-capture.node - a GitHub Actions runner path that doesn't exist on user machines.
The code checks for AUDIO_CAPTURE_NODE_PATH env var as an override, but there's no .node file shipped to point to. Unlike the image-processor.node which appears embedded in the binary, audio-capture.node is not bundled.
5 Comments
" ★ Insight ─────────────────────────────────────
The /voice command relies on a native Node.js addon (audio-capture.node) that captures microphone input. On Windows, this binary isn't bundled with the Claude Code distribution — it's a known issue where the
path references the CI build machine's directory structure rather than the installed location.
─────────────────────────────────────────────────
Yeah, this is a known Claude Code bug — the native audio module (audio-capture.node) isn't shipped in the Windows build. The path is hardcoded to the CI build machine, so it can never resolve on your system.
Status: _There's no workaround on your end_. This is an Anthropic packaging issue for Windows."
LOL this is like "Look at the new homepage draft, it's on C:\webpage\index.html"
please solve it, we pay for it and we cant using it.
✅ Working Fix Available
Built and tested a patch that enables
/voiceon Windows by using SoX (sox -t waveaudio default) as the audio backend.One-click installer: https://github.com/biketrader-afk/claude-voice-windows
Full technical writeup with the 6 exact patches: https://github.com/anthropics/claude-code/issues/31065#issuecomment-4053525120
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.