Voice mode: voiceEnabled: true in settings.json doesn't initialize the listener on startup
Resolved 💬 3 comments Opened Mar 14, 2026 by swald54000 Closed Mar 18, 2026
Description
When voiceEnabled: true is set in ~/.claude/settings.json, Claude Code marks the internal state as "enabled" but does not actually start the audio listener on startup.
Steps to reproduce
- Set
voiceEnabled: truein~/.claude/settings.json(this happens automatically after enabling voice once) - Launch Claude Code
- Press Space to record → nothing happens
- Type
/voice→ outputs "Voice mode disabled." (confirms state was read as enabled but listener wasn't running) - Type
/voiceagain → outputs "Voice mode enabled." → voice now works
Expected behavior
If voiceEnabled: true is in settings, the audio listener should be initialized at startup so that no extra toggle is needed.
Actual behavior
Requires two /voice calls on every launch: one to "disable" the phantom-enabled state, one to actually start the listener.
Environment
- OS: Linux (Arch, kernel 6.19.6-zen1-1-zen)
- Shell: fish
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗