High-level status
Voice mode is implemented, but tightly gated. It is not a universal feature in this snapshot. It depends on:- the
VOICE_MODEfeature being compiled in - a GrowthBook kill switch remaining off
- Anthropic OAuth being available
- local recording dependencies and microphone access being available
Availability rules
src/voice/voiceModeEnabled.ts makes the strongest statement in the codebase:
- voice requires Anthropic OAuth
- it is not available for API key, Bedrock, Vertex, or Foundry usage
src/commands/voice/index.ts also marks /voice as availability: ['claude-ai'].
/voice command behavior
The implementation in src/commands/voice/voice.ts toggles a voiceEnabled setting in user settings.
Enabling runs several preflight checks:
- account/auth check
- voice-stream availability check
- recording dependency check
- microphone-permission check
- settings write
voiceEnabled: false and notifies the settings change detector.
Dependency and UX details
The command includes explicit user guidance for missing recording dependencies and OS-specific microphone-permission guidance for Windows, Linux, and macOS. It also formats the push-to-talk shortcut from the keybinding layer and tracks a language hint counter in global config.STT endpoint
The wider voice subsystem referencesVOICE_STREAM_BASE_URL, and the source comments around voice mode indicate streaming speech-to-text support rather than a one-shot file upload path.