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

  1. Set voiceEnabled: true in ~/.claude/settings.json (this happens automatically after enabling voice once)
  2. Launch Claude Code
  3. Press Space to record → nothing happens
  4. Type /voice → outputs "Voice mode disabled." (confirms state was read as enabled but listener wasn't running)
  5. Type /voice again → 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

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗