[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.
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗