[BUG] Voice mode doesn't auto-initialize on session start despite voiceEnabled: true
Bug Description
When voiceEnabled: true is set in ~/.claude/settings.json, voice mode shows as "enabled" when a new session starts, but the audio pipeline doesn't actually initialize. Voice is non-functional until you run /voice (to disable) then /voice again (to enable) — only then does it work.
This happens every single session. The workaround is always: /voice → /voice to toggle it off and back on.
Expected Behavior
If voiceEnabled: true is persisted in settings, voice mode should fully initialize (microphone, audio capture, transcription pipeline) on session start — not just show the UI toggle as enabled.
Steps to Reproduce
- Enable voice mode with
/voicein a session (works fine) - Close the session
- Open a new session — voice shows as enabled but doesn't respond to Space/recording
- Run
/voiceto disable, then/voiceto enable — now it works
Environment Info
- Platform: linux (Ubuntu, GNOME/Wayland)
- Version: 2.1.78
- Settings:
"voiceEnabled": truein~/.claude/settings.json - Terminal: bash (SSH + local)
Analysis
The voiceEnabled flag in settings.json correctly persists the user's preference, but it only controls the UI toggle state — not the actual audio session initialization. The audio pipeline only starts when /voice is interactively toggled, regardless of the saved setting.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗