[FEATURE] Voice dictation: recognize spoken punctuation commands as punctuation marks
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
Claude Code's voice dictation currently transcribes spoken punctuation words (e.g., "comma," "period," "question mark," "quote") literally as words rather than converting them into the corresponding punctuation marks. Combined with the unreliability of prosody-driven auto-punctuation (see #54571), this leaves users with no robust way to control punctuation in dictated text.
I'd like the dictation feature to recognize a small set of spoken punctuation commands in the active dictation language and emit them as the actual punctuation characters.
Proposed Solution
Recognize a defined set of punctuation commands in each supported dictation language and emit them as the actual punctuation character instead of as a literal word. Minimum useful set per language:
period / full stop
comma
question mark
exclamation mark
colon
semicolon
opening and closing quotation marks
new paragraph / new line
Alternative Solutions
_No response_
Priority
Medium - Would be very helpful
Feature Category
Other
Use Case Example
When dictating, I want to control punctuation explicitly by speaking it. This is especially important when auto-punctuation gets things wrong (cf. #54571) — without spoken commands, the only fallback is to manually fix the transcript after the fact, which defeats much of the speed gain from dictation.
This is a well-established pattern in mainstream dictation systems:
Apple Dictation (macOS, iOS)
Windows Speech Recognition / Voice Access
Google's voice input on Android
Dragon NaturallySpeaking
All of these convert spoken punctuation words into the corresponding marks, in multiple languages. Android's German voice input, for example, reliably converts "Komma" → ,, "Punkt" → ., "Fragezeichen" → ?, "Anführungszeichen" → ".
Additional Context
_No response_
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗