Voice mode: support custom vocabulary/dictionary and improve general speech recognition quality

Resolved 💬 3 comments Opened Mar 31, 2026 by japaz Closed May 9, 2026

Related issues: #39239 (context-aware transcription), #41030 (transcription quality), #40379 (requires slow speech, works fine in other tools)

This request focuses on features not yet covered: custom vocabulary, codebase-aware vocabulary generation, microphone selection, and STT engine choice.

---

Problem

Voice dictation in Claude Code produces significantly worse transcription quality compared to other tools I've tested, particularly Wispr Flow and open-source alternatives like Whisper.

As a non-native English speaker (but with functional, clearly understandable English), I find that Claude Code's STT struggles far more than competing tools with the same voice input. Some concrete examples from a single session:

  • "Claude Code" → consistently transcribed as "Cloud", "dot cloud", or repeated "Cloud. Cloud. Cloud."
  • "agents" → "agents n d"
  • General sentences about code and tools come out garbled and nearly unreadable
  • The same phrases spoken into Wispr Flow or Whisper-based tools are transcribed correctly

This suggests the issue is not primarily accent-related, but rather that the STT engine lacks robustness compared to alternatives that handle non-native speakers well.

Specific issues

  1. No custom vocabulary — There's no way to add frequently used terms. Product names ("Claude Code"), project names ("fever2"), and domain terms ("CQRS", "backoffice") are never recognized correctly. Other STT tools allow custom dictionaries or vocabulary hints that solve this.
  1. Poor general speech recognition — The STT seems narrowly tuned for code keywords but fails on natural conversation about code and development. Developers don't only dictate code — we describe problems, ask questions, and discuss architecture.
  1. Non-native speaker handling — Tools like Wispr Flow handle accented English well because they use more robust language models. Claude Code's STT appears to have a much narrower tolerance, making voice mode nearly unusable for non-native speakers despite them being perfectly understandable by humans and other STT tools.

Requested Features

  1. Custom dictionary / vocabulary hints — Allow users to define a list of terms the STT should prioritize (e.g., project names, team terminology, product names). Could be configured in ~/.claude/settings.json or a dedicated ~/.claude/voice-dictionary.json. This is the single most impactful improvement.
  1. Auto-generated vocabulary from the codebase — Claude Code already has full access to the project's source code. It could parse the codebase to extract class names, function names, variable names, module names, and other identifiers, then feed these as vocabulary hints to the STT engine. This would dramatically improve recognition of project-specific terms without any manual configuration. For example, in a Django project it could extract model names (SessionPack, MainPlan), command/query names (DeleteRedirectionCommand), service names, etc. This is a natural advantage that a code-aware tool like Claude Code has over generic STT products — it should leverage it.
  1. STT engine selection or plugin system — Allow choosing between different speech-to-text backends. Many users already have tools (Wispr Flow, Whisper, Google Cloud Speech, Azure Speech) that work better for their voice profile. Even a simple "pipe external STT output into Claude Code" integration would help.
  1. Accent/regional variant support — Option to specify accent or regional variant (e.g., European Spanish-accented English) to improve recognition accuracy for the large population of non-native English-speaking developers.
  1. Microphone selection — Currently Claude Code only uses the OS default input device. There's no way to select a specific microphone from within Claude Code. Users with multiple audio devices (e.g., a dedicated USB mic for dictation vs laptop mic) have to change system-level settings every time, which is disruptive.
  1. Confidence feedback — Show low-confidence words highlighted so users can quickly spot and correct mistranscriptions before sending.

Current Workaround

Using Wispr Flow or macOS built-in dictation externally and pasting text into Claude Code, which breaks the workflow and defeats the purpose of the integrated voice mode.

Environment

  • OS: macOS
  • Claude Code version: 2.1.87
  • Authentication: Claude.ai account
  • Dictation language: English (non-native speaker)

View original on GitHub ↗

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