Claude Code Voice Input on Mac: Setup, Limits and Fixes
Set up Claude Code /voice on Mac, keep a draft before sending, and fix Space, microphone or SSH issues. Compare native and independent dictation.
Official Claude Code documentation rechecked October 21, 2026. Ducduc’s public download is v0.3.8 (build 45), released October 17. Later local test builds are not the public release. No equal-audio speed or accuracy benchmark is claimed. Check the public release
Quick answer
Claude Code /voice needs Claude.ai authentication, a local microphone and cloud transcription. Hold mode normally leaves a draft; tap mode can send automatically and has a 15-second silence/two-minute recording stop. A Mac dictation app adds another text-input route, including into a local terminal connected over SSH.
What are Claude Code /voice’s limits?
Claude Code’s built-in dictation is useful when you want speech directly in its input. Check authentication, recording mode, language and where the microphone lives before choosing it. A separate Mac dictation app becomes relevant when your problem is Chinese-English speech, input across apps, or keeping recognition audio on the Mac.
This maker-authored guide checks the official instructions on October 21, 2026, against the public Ducduc v0.3.8 release. It does not rank recognizers by speed or accuracy; we have not run an equivalent-audio comparison.
Voice mode versus dictation: which one is this?
Dictation turns speech into a written prompt. A two-way voice conversation also speaks the answer aloud. Anthropic’s voice-mode help distinguishes them: Claude Code dictation is not the same feature as conversational voice mode. This guide covers the CLI /voice input, not every microphone button in Claude’s desktop or mobile apps.
Start voice input on Mac without sending the prompt
- Open Claude Code in a local terminal and authenticate with your Claude.ai account. Run
/voice hold. - Allow microphone access for that terminal when macOS asks. Permission belongs to the app recording audio.
- Set your spoken language in
/config, then hold Space in the prompt input. Wait for the listening indicator, speak a harmless test request and release. - Check the transcript before pressing Enter. Merge the settings below to explicitly keep
autoSubmitoff; tap mode has different sending behavior.
For basic system dictation, Apple’s Mac guide is another starting point. Try it in the actual terminal field; text insertion depends on the destination. Choose a separate input layer for its specific workflow, not because native dictation is assumed to be missing.
Native recording, sending and access limits
The following comes from Anthropic’s voice guide:
| Question | Documented behavior |
|---|---|
| Who can use it? | Claude.ai authentication; direct API-key and third-party-provider configurations are excluded |
| Where is recognition? | Audio streams to Anthropic for transcription |
| Can it record remotely? | A local microphone is required; SSH/cloud and VS Code Remote sessions are excluded |
Does transcription use /usage quota? | Transcription does not; submitting the prompt is a separate agent interaction |
| Does stopping send the prompt? | Hold mode normally waits for Enter; autoSubmit can change that. Tap mode submits transcripts of at least three words |
| How long can tap recording run? | It stops after 15 seconds of silence or two minutes total |
For a review-first native setup, merge this voice object into your user settings at ~/.claude/settings.json, keeping your other settings. It selects hold mode and disables automatic submission:
{
"voice": {
"enabled": true,
"mode": "hold",
"autoSubmit": false
}
}
If Claude Code voice input is not working
| Symptom | Check first |
|---|---|
/voice is unknown or asks for a Claude.ai account | Check the active sign-in/provider; do not remove a required work configuration just to enable dictation |
| Space keeps adding spaces | Confirm hold mode is enabled; hold detection needs key-repeat events |
| Tap types a space | Tap recording starts only with an empty prompt; it can submit the result automatically |
| Microphone is denied or recording is silent | Check the terminal’s microphone permission and macOS Sound → Input separately |
| Voice connection failed | Check service connectivity; a captured silent input is a different failure |
| You use SSH or VS Code Remote | Built-in dictation needs a local microphone; consider local text input and paste |
These checks summarize Anthropic’s troubleshooting, not measurements of our app. Organization policies remain under the administrator’s control. Chinese is absent from the documented language list checked today; the Chinese-input guide covers that distinct problem. Japanese, Korean, French, German and Spanish are listed; try native dictation first when it meets your requirements.
What an independent Mac input layer changes
Ducduc supplies text to an app on macOS 14 or later. It recognizes speech on-device, cleans up the transcript and inserts it where safe. It does not run the coding task or provide authentication to Claude Code.
| Your requirement | Ducduc route | Boundary to check |
|---|---|---|
| One shortcut for prompts, email and notes | Use ordinary dictation in each focused field | A field must accept insertion; some targets need manual paste |
| Chinese requirements with English terms | Select Chinese (with mixed English) and add project vocabulary | Review raw and cleaned text; exact identifiers can still be wrong |
| A remote coding session | Dictate on the Mac, paste into the local SSH client | This supplies text, not microphone forwarding; the local terminal controls delivery |
| No cloud cleanup of transcript text | Use Ducduc Offline Mode with a local Ollama model | Download the model, disable Ollama cloud features and keep the local service running |
| Spoken requirements organized as a prompt | Enable Write prompts in AI coding tools | Formatting aims to preserve your meaning; it cannot fill in missing requirements |
A free Ducduc installation needs no account; built-in cloud cleanup has a weekly allowance. Check the current plan terms instead of assuming either transcription service makes all downstream agent work free.
Example: a Mac terminal connected to a remote machine
This is an illustrative workflow, not a tested compatibility claim for every SSH client or server. Suppose Claude Code runs on a remote host while you use iTerm2 on the Mac:
- Connect to the remote session as usual and focus Claude Code’s prompt, rather than an ordinary shell or a password prompt.
- Start Ducduc on the Mac and dictate a short instruction, such as “Explain the failing test; do not change any files.”
- Stop recording and wait in the same field. Check that the text arrived with the no-edit constraint intact.
- If a copy card appears, copy the result and paste it into the intended prompt yourself. Review before pressing Enter.
The useful distinction is where recording happens. A remote CLI without microphone access can still receive text pasted by its local terminal client. This does not guarantee the terminal exposes enough Accessibility information or accepts every paste. Secure-input troubleshooting covers that boundary.
A collapsed paste is different from missing text
If your installed terminal interface displays a collapsed paste preview, that alone does not prove words were lost. Inspect the draft before sending. The current terminal configuration guide no longer establishes the old 800-character/three-line threshold previously cited here, so this guide does not treat it as a current universal rule.
To diagnose apparent loss, compare Ducduc’s History with the composer. A complete History entry and a collapsed paste call for checking the destination preview. An incomplete raw transcript calls for checking recognition. A copy card calls for checking delivery. Repeating the whole recording before identifying the stage can create duplicate instructions.
Keep audio, cleanup text and the agent session separate
Ducduc keeps speech recognition on-device. Default cleanup sends recognized text to Ducduc’s service and its configured provider; a remote BYOK model receives text directly. Ollama can keep cleanup on the Mac when you use a downloaded local model, disable its cloud features and enable Ducduc Offline Mode. A localhost endpoint alone does not prove local inference. Missing language resources on macOS 14–15 can block recognition instead of causing an audio-upload fallback.
Local dictation does not make Claude Code local. When you send the prompt, its own settings and policies apply. Read Ducduc’s data-flow policy, then set up local cleanup if that boundary matters to your work.
Choose with one short trial
Use native /voice first when its language, authentication and host requirements fit. For a separate Mac input workflow, download Ducduc and test one non-sensitive prompt in the actual terminal or editor you use. Check words, constraints, destination and send behavior. Those four checks reveal more about suitability than an unmeasured claim that one tool is “more accurate.”
Try it on your own Mac
Try your own vocabulary and editor, then compare the raw transcript and cleaned text in History.
Published by the maker of Ducduc. Third-party information follows the sources and dates stated in this guide. Authorship, sources and examples