[BUG] Voice mode: native audio-capture module crashes on Linux x64 (Node 22)
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?
## Description
Voice mode activates ("Listening" appears in footer) but after releasing Space, no transcription is produced. The native audio-capture.node module crashes with a NAPI assertion error when startRecording is called.
The microphone hardware works fine — arecord captures audio successfully, and the native module loads without error. The crash only occurs when actually starting a recording.
## Environment
- Claude Code: 2.1.83
- Node.js: v22.19.0
- OS: Ubuntu, Linux 5.15.0-139-generic x86_64
- Terminal: GNOME Terminal
- Audio hardware: HDA Intel PCH / CX8070 (detected by
arecord -l) - PulseAudio source:
alsa_input.pci-0000_00_1f.3.analog-stereo(works witharecord) - Native module path:
vendor/audio-capture/x64-linux/audio-capture.node
## Notes
- The native module loads successfully (
require()works, exports are present) arecordandrec(SoX) are both installed and work correctly- The crash appears to prevent fallback to
arecord/rec microphoneAuthorizationStatus()returns3
What Should Happen?
Voice mode should work.
Error Messages/Logs
Calling `startRecording` on the native module directly produces:
Auth status: 3
Starting recording...
# node[128144]: napi_status napi_release_threadsafe_function(napi_threadsafe_function, napi_threadsafe_function_release_mode) at ../src/node_api.cc:1410
# Assertion failed: (func) != nullptr
----- Native stack trace -----
1: 0xf74a87 node::Assert(node::AssertionInfo const&) [node]
2: 0xf2a28a napi_release_threadsafe_function [node]
3: 0x7faf7770236a [audio-capture.node]
4: 0x7faf776e9480 [audio-capture.node]
5: 0x7faf776e3eee [audio-capture.node]
6: 0xefd8a5 [node]
Steps to Reproduce
/voiceto enable voice mode- Hold Space — "Listening" appears
- Speak, then release Space
- Nothing happens — no transcription, no error shown in the UI
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.83
Platform
Anthropic API
Operating System
Ubuntu/Debian Linux
Terminal/Shell
Other
Additional Information
_No response_
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗