claude-code - 💡(How to fix) Fix [Feature Request] Add native voice input with multilingual support and technical identifier preservation

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Error Message

[{"error":"McpToolCallError: Caught Exception. Error: Request failed: HTTPSConnectionPool(host='127.0.0.1', port=27124): Max retries exceeded with url: /search/simple/?query=%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F+%D0%B1%D0%B5%D0%B7+%D0%B4%D0%B5%D0%BF%D0%BB%D0%BE%D1%8F&contextLength=200 (Caused by NewConnectionError("HTTPSConnection(host='127.0.0.1', port=27124): Failed to establish a new connection: [Errno 111] Connection refused"))\n at ZX7 (/$bunfs/root/src/entrypoints/cli.js:4761:63)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-04-20T13:14:16.239Z"},{"error":"McpToolCallError: Caught Exception. Error: Request failed: HTTPSConnectionPool(host='127.0.0.1', port=27124): Max retries exceeded with url: /vault/KMS/Sessions/ (Caused by NewConnectionError("HTTPSConnection(host='127.0.0.1', port=27124): Failed to establish a new connection: [Errno 111] Connection refused"))\n at ZX7 (/$bunfs/root/src/entrypoints/cli.js:4761:63)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-04-20T13:14:16.265Z"}]

Root Cause

Errors

[{"error":"McpToolCallError: Caught Exception. Error: Request failed: HTTPSConnectionPool(host='127.0.0.1', port=27124): Max retries exceeded with url: /search/simple/?query=%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F+%D0%B1%D0%B5%D0%B7+%D0%B4%D0%B5%D0%BF%D0%BB%D0%BE%D1%8F&contextLength=200 (Caused by NewConnectionError(\"HTTPSConnection(host='127.0.0.1', port=27124): Failed to establish a new connection: [Errno 111] Connection refused\"))\n    at ZX7 (/$bunfs/root/src/entrypoints/cli.js:4761:63)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-04-20T13:14:16.239Z"},{"error":"McpToolCallError: Caught Exception. Error: Request failed: HTTPSConnectionPool(host='127.0.0.1', port=27124): Max retries exceeded with url: /vault/KMS/Sessions/ (Caused by NewConnectionError(\"HTTPSConnection(host='127.0.0.1', port=27124): Failed to establish a new connection: [Errno 111] Connection refused\"))\n    at ZX7 (/$bunfs/root/src/entrypoints/cli.js:4761:63)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-04-20T13:14:16.265Z"}]

Code Example

[{"error":"McpToolCallError: Caught Exception. Error: Request failed: HTTPSConnectionPool(host='127.0.0.1', port=27124): Max retries exceeded with url: /search/simple/?query=%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F+%D0%B1%D0%B5%D0%B7+%D0%B4%D0%B5%D0%BF%D0%BB%D0%BE%D1%8F&contextLength=200 (Caused by NewConnectionError(\"HTTPSConnection(host='127.0.0.1', port=27124): Failed to establish a new connection: [Errno 111] Connection refused\"))\n    at ZX7 (/$bunfs/root/src/entrypoints/cli.js:4761:63)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-04-20T13:14:16.239Z"},{"error":"McpToolCallError: Caught Exception. Error: Request failed: HTTPSConnectionPool(host='127.0.0.1', port=27124): Max retries exceeded with url: /vault/KMS/Sessions/ (Caused by NewConnectionError(\"HTTPSConnection(host='127.0.0.1', port=27124): Failed to establish a new connection: [Errno 111] Connection refused\"))\n    at ZX7 (/$bunfs/root/src/entrypoints/cli.js:4761:63)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-04-20T13:14:16.265Z"}]
RAW_BUFFERClick to expand / collapse

Bug Description Claude Code currently has no built-in voice input. Developers who want to dictate tasks — non-English native speakers, solo founders, developers with RSI, people working on the go — are forced to use external tools like Whispering, Wispr Flow, or Superwhisper and paste transcriptions into the terminal or Desktop app. For Russian (and likely other non-Latin languages) this is especially painful:

Whisper transcribes words well but mangles technical identifiers: variable names, filenames, and paths get transliterated into Cyrillic Russian smart quotation marks («») and em-dashes (—) break command parsing Copy-paste workflow = constant context switch, productivity loss

Proposal Add a native voice input mode to CLI and Desktop:

CLI: claude --voice flag or in-session hotkey Desktop: dedicated mic button / hotkey iOS/Android: native microphone recording

Key requirements

Automatic language detection for dictation (en/ru/mixed) Smart identifier preservation — technical terms, filenames, variables, paths stay in Latin script regardless of dictation language. Example: "save in leads controller dot ts a function create lead" → save in leadsController.ts a function createLead Built-in vocabulary of stack technologies (React, Postgres, Docker, Next.js…) recognized as identifiers and never transliterated Punctuation normalization before parsing (smart quotes → straight quotes, em-dash → hyphen) "Voice → Plan → Approve → Execute" mode: dictation flows into Plan Mode first; code executes only after user confirmation

Use cases

Solo founders dictating tasks from phone in transit, returning to a ready PR Work in transit / hands-free coding Non-English native speakers — significantly lowered barrier to entry Accessibility: developers with RSI or wrist injuries Rapid prototyping: describe a feature in 30 seconds of voice vs 5 minutes of typing

Reference Whispering (open-source) with whisper-large-v3-turbo and the "Recommended" preset shows that Russian transcription quality is already production-ready. The task is removing friction between transcription and Claude Code. Why this matters for Claude Code specifically AI coding tools are the sweet spot for voice-first workflows: describing intent out loud is often faster than typing. Cursor, Windsurf, and Copilot haven't shipped a native solution. First mover here captures significant competitive advantage among international developers, accessibility users, and mobile-first workflows.

Environment Info

  • Platform: linux
  • Terminal: kitty
  • Version: 2.1.114
  • Feedback ID: 37211af4-a1cf-4375-ac35-7ac44afefaf8

Errors

[{"error":"McpToolCallError: Caught Exception. Error: Request failed: HTTPSConnectionPool(host='127.0.0.1', port=27124): Max retries exceeded with url: /search/simple/?query=%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F+%D0%B1%D0%B5%D0%B7+%D0%B4%D0%B5%D0%BF%D0%BB%D0%BE%D1%8F&contextLength=200 (Caused by NewConnectionError(\"HTTPSConnection(host='127.0.0.1', port=27124): Failed to establish a new connection: [Errno 111] Connection refused\"))\n    at ZX7 (/$bunfs/root/src/entrypoints/cli.js:4761:63)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-04-20T13:14:16.239Z"},{"error":"McpToolCallError: Caught Exception. Error: Request failed: HTTPSConnectionPool(host='127.0.0.1', port=27124): Max retries exceeded with url: /vault/KMS/Sessions/ (Caused by NewConnectionError(\"HTTPSConnection(host='127.0.0.1', port=27124): Failed to establish a new connection: [Errno 111] Connection refused\"))\n    at ZX7 (/$bunfs/root/src/entrypoints/cli.js:4761:63)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-04-20T13:14:16.265Z"}]

extent analysis

TL;DR

Implementing a native voice input mode with automatic language detection, smart identifier preservation, and punctuation normalization could address the current limitations of using external transcription tools with Claude Code.

Guidance

  • Investigate integrating Whispering's whisper-large-v3-turbo model with the "Recommended" preset to improve Russian transcription quality.
  • Develop a system to preserve technical identifiers (e.g., variable names, filenames, paths) in Latin script, regardless of the dictation language.
  • Implement punctuation normalization to replace smart quotes and em-dashes with standard characters before parsing the transcribed text.
  • Consider adding a "Voice → Plan → Approve → Execute" mode to ensure user confirmation before executing code generated from voice input.

Example

No specific code example can be provided without more context, but the integration might involve using the Whispering API to transcribe voice input and then processing the text to preserve identifiers and normalize punctuation.

Notes

The provided error messages suggest connection issues with the HTTPSConnectionPool, but these may not be directly related to the proposed feature. The focus should be on developing a native voice input mode that addresses the current pain points with external transcription tools.

Recommendation

Apply a workaround by integrating an existing transcription service like Whispering, while developing a native voice input mode to provide a more seamless experience for users. This approach allows for immediate improvement while working towards a more comprehensive solution.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix [Feature Request] Add native voice input with multilingual support and technical identifier preservation