Voice mode F8 recording does not start on Wayland (Arch Linux)
Resolved 💬 3 comments Opened Mar 30, 2026 by OlafStolle Closed Apr 2, 2026
Description
/voice enables voice mode and shows "Voice mode enabled. Hold f8 to record." but pressing and holding F8 does nothing — no "Recording..." indicator, no audio capture, no transcription.
Environment
- Claude Code: 2.1.78
- OS: CachyOS (Arch Linux)
6.19.6-2-cachyos x86_64 - Desktop: Wayland (KDE Plasma, kwin_wayland)
- PipeWire: 1.6.1
- Node: 25.7.0
- Audio Input: Konftel Ego USB (working —
parecordcaptures audio fine) - Audio Output: ALC897 Analog Stereo (working —
paplayplays audio fine) - Binary: ELF 64-bit, installed via npm
@anthropic-ai/claude-code@2.1.78
Steps to Reproduce
- Run
claudein terminal (Konsole on Wayland) - Type
/voice→ "Voice mode enabled. Hold f8 to record." - Press and hold F8 (verified via
evtestthat KEY_F8 code=66 is received by the terminal) - Expected: "Recording..." indicator appears, audio is captured
- Actual: Cursor disappears while holding F8 (key is received), but no recording starts. No visual feedback. Releasing F8 does nothing.
Diagnostics
- F8 keypress confirmed via
evtest:KEY_F8 DOWN/HOLD/UPevents arrive at the terminal - Cursor disappears while F8 is held — proving Claude Code receives the keypress
- Audio subsystem works:
parecord /tmp/test.wavrecords audio,paplayplays it back - Default source set correctly:
pactl get-default-source→alsa_input.usb-28db_Konftel_Ego...mono-fallback - sox is NOT installed — if Claude Code depends on
sox/recfor recording, this could be the issue
Possible Cause
- Missing dependency:
soxis not installed. If Claude Code usessox recorrecfor audio capture, this would silently fail. - Wayland compatibility: Some terminal audio capture methods that work under X11 may not work under Wayland.
- PipeWire vs PulseAudio: System uses PipeWire with PulseAudio compatibility layer.
Workaround
Using VoiceMode MCP server (third-party) with local Whisper STT + Kokoro TTS as alternative voice interface.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗