Bug: VS Code extension hardcodes dictation language to "en", ignores settings.json
Problem
The Claude Code VS Code extension sends language: "en" hardcoded in its transcription WebSocket request to Deepgram, regardless of the language setting in ~/.claude/settings.json. This makes voice dictation unusable for non-English speakers when using the VS Code integration.
The CLI respects the language setting correctly; only the VS Code extension is affected.
Reproduction
- Set
"language": "fr"(or any non-English code/name) in~/.claude/settings.json - Fully quit and relaunch VS Code
- Open the Claude Code panel, click the microphone button (or press
Ctrl+D) - Speak in French
Expected: French transcription.
Actual: Attempted English phonetic transcription of the French audio, often resulting in garbled text or no output at all.
Root cause
In extension.js (v2.1.119), the function that builds the Deepgram WebSocket URL contains:
\\\js\
let N = new URLSearchParams({
encoding: "linear16",
sample_rate: "16000",
channels: "1",
endpointing_ms: "300",
utterance_end_ms: "1000",
language: "en", // hardcoded
use_conversation_engine: "true",
stt_provider: "deepgram-nova3"
});
\\
The function receives \(K, V, B)\ where \K\ is the auth token and \B\ is a list of keyterms, but the user's configured \language\ is never read.
Workaround
Manually patching \extension.js\ to replace \language:"en"\ with \language:"fr"\ fixes dictation. This needs to be redone after each extension update.
Environment
- OS: Debian (Linux 6.12)
- VS Code extension: \
anthropic.claude-code\v2.1.119 - \
~/.claude/settings.json\contains \"language": "fr"\ - CLI voice dictation (\
/voice\in a terminal) works correctly with the same settings file
Related
- #36224 (closed) — similar issue for Remote Control sessions; this issue is specifically about the VS Code extension.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗