Claude Code voice dictation: setup, fixes and limits

How to turn on Claude Code’s built-in voice dictation, the settings worth changing, the fixes when it won’t record, and where a system-wide dictation app still helps.

By Roscoe Morris · 16 July 2026 · Updated 15 October 2026 · 7 min read

Claude Code has voice dictation built in. Type /voice in the Claude Code CLI, hold Space while you talk, and let go to stop. Your words appear live in the prompt and wait for you to press Return. Transcription doesn’t count towards your Claude usage limits, but it needs a Claude.ai login and a microphone on the machine running Claude Code. Below: the exact setup, the settings worth changing, the errors you might hit, and the jobs a system-wide dictation app does that /voice can’t.

We make Speaky Box, a Mac dictation app, so we have an interest here. Everything about Claude Code on this page comes from Anthropic’s voice dictation docs, read on 15 October 2026. Claude Code changes often, so check the docs if something looks different.

How to turn on voice in Claude Code

  1. Sign in with a Claude.ai account. Run /login if you need to. Voice isn’t available when Claude Code uses an Anthropic API key, Amazon Bedrock, Google Cloud’s Agent Platform or Microsoft Foundry.
  2. Run /voice. The first time, Claude Code checks your microphone and macOS asks whether your terminal app may use it. Allow it.
  3. Hold Space and talk. There’s a short warm-up while Claude Code works out that the key is being held (the footer says “keep holding…”), then a live waveform. Let go to stop. The text lands at your cursor, so you can type, dictate, move the cursor and dictate again in the same prompt.

Voice stays on across sessions. The command takes an optional mode:

CommandWhat it does
/voiceTurns voice on or off, keeping the current mode
/voice holdPush-to-talk: records while the key is held (the default)
/voice tapTap to start, tap again to stop and send
/voice offTurns voice off

It also works in the Claude Code extension for VS Code, with the same Claude.ai account requirement.

Hold or tap: which mode to use

Hold suits short instructions mixed with typing. You stay in control of when it listens, and nothing is sent until you press Return.

Tap suits longer briefs. With the prompt empty, tap Space, talk, tap again. If the transcript is three words or more it’s sent straight away; anything shorter is left in the prompt, so a stray tap doesn’t fire off a single word. Recording also stops by itself after 15 seconds of silence or two minutes in total.

If you like hold mode but want it to send when you let go, add autoSubmit to the voice settings in your Claude Code user settings file (the same three-word rule applies):

{
  "voice": {
    "enabled": true,
    "mode": "hold",
    "autoSubmit": true
  }
}

The general trade-off between the two styles is in our post on hold to talk vs toggle dictation.

Settings worth changing

The key. Space has that warm-up because Claude Code spots a held key by watching for key repeat. Bind a modifier combination instead and recording starts on the first press. The action is voice:pushToTalk in the Chat context, set in ~/.claude/keybindings.json:

{
  "bindings": [
    {
      "context": "Chat",
      "bindings": { "meta+k": "voice:pushToTalk" }
    }
  ]
}

A custom key replaces Space rather than adding a second trigger. In hold mode, avoid a bare letter like v: it types into the prompt during the warm-up. Some keys never reach the terminal at all; Caps Lock can’t be bound.

The language. Dictation follows the same language setting that controls Claude’s replies, set in /config, and uses English if it’s empty. Twenty languages are supported, including French, German, Spanish, Italian, Dutch, Polish, Hindi, Japanese and Korean. If yours isn’t on the list, dictation falls back to English.

Vocabulary. Transcription is tuned for coding words like regex, OAuth, JSON and localhost, and your project name and git branch name are added as hints automatically. The docs don’t describe a way to add your own terms, so unusual library, service or colleague names may still come out wrong.

When /voice doesn’t work: the fixes

What you seeWhat to do
“Voice mode requires a Claude.ai account”You’re signed in with an API key or another provider. Run /login with a Claude.ai account.
“Microphone access is denied”System Settings > Privacy & Security > Microphone, turn on your terminal app, then run /voice again.
Your terminal isn’t in the Microphone listRun tccutil reset Microphone com.apple.Terminal (or com.googlecode.iterm2 for iTerm2), quit the terminal with Cmd+Q, reopen it and run /voice. Always include the app’s ID: without it, every app on your Mac loses microphone access.
Holding Space just types spacesIf spaces keep piling up, voice is off: run /voice hold. If one or two appear and then nothing, key repeat may be turned off in macOS; switch to /voice tap.
“No audio detected from microphone”System Settings > Sound > Input: check the right microphone is chosen and its level isn’t near zero.
“Voice mode is disabled by your organization’s policy”Your organisation has HIPAA compliance turned on, which disables voice. Only an admin can tell you whether that will change.
Garbled text, or the wrong languageSet your language in /config; dictation assumes English otherwise.
Nothing works over SSH or in Claude Code on the webExpected. The microphone has to be on the machine running Claude Code, so remote sessions aren’t supported.

What /voice doesn’t do

  • It only works in Claude Code. The CLI and the VS Code extension. It won’t type into Cursor’s agent panel, Slack, Mail, a pull request description in your browser, or anywhere else on your Mac.
  • No remote sessions. Not over SSH, not in Claude Code on the web, and not in VS Code Remote, Dev Containers or Codespaces.
  • Claude.ai sign-in only. Teams running Claude Code through an API key, Bedrock, Google Cloud or Foundry can’t use it.
  • It’s a transcript. The docs describe your speech going live into the prompt. They don’t mention removing ums and false starts, or rearranging a ramble into a brief.
  • It isn’t on-device. Audio is streamed to Anthropic’s servers for transcription. (The same goes for Speaky Box: your recording goes to a speech service, comes back as text and is deleted. If you need dictation that never leaves your Mac, neither is that.)

Built-in /voice or a Mac dictation app?

You want toClaude Code /voiceSpeaky Box
Dictate prompts to Claude Code on your own MacYesYes
Talk to Claude Code running on a remote machine over SSHNo, the mic must be localYes. It types into the terminal window on your Mac, whatever is running in it
Use it with an API key, Bedrock or Foundry loginNoYes. It has nothing to do with Claude Code’s login
Dictate into Cursor, Slack, Mail, Word or a browser tooNoYes, anywhere the cursor is
Have ums and restarts taken outNot mentioned in the docsYes
Turn a ramble into a structured briefNoYes, with the Smart key
Get your own names and terms spelt rightProject and branch name hintsYour own Words list
CostNo extra cost; doesn’t count towards Claude usage limitsFree for 2,000 words a week, Pro £8.99 a month

Our honest take: if you only ever talk to Claude Code in a terminal on your own Mac, start with /voice. It’s one command, it costs nothing extra and it already knows your branch name. A system-wide app earns its place when you also want to talk into other apps, when you work over SSH or with an API key, or when you’d rather say a messy ramble and get a clean brief back.

Using Speaky Box with Claude Code

  • Pick a key your terminal doesn’t use. Right option is a safe choice. If you also keep /voice on, the two won’t clash as long as your Speaky Box key isn’t Space.
  • Use the Smart key for tasks. Say what you want in any order and it arrives as a brief: task, context, constraints, done when. Why that shape works is in how to prompt Claude by voice.
  • Use the Dictate key for quick replies. “Yes, do that”, “the second option”: plain words, nothing rearranged.
  • Add your repo’s names to the Words list. Service names, file names, libraries. Terminals show every typo. More in custom vocabulary for dictation.
  • Vim keybindings? Be in insert mode before you hold the key.

It works in Terminal, iTerm2, Warp, Ghostty, Kitty and the integrated terminals in Cursor and VS Code. If you also brief Cursor’s agent, see voice coding in Cursor, and Speaky Box for Claude covers the desktop app and claude.ai.

How we checked

Every statement about Claude Code’s voice dictation comes from Anthropic’s documentation page linked above, read on 15 October 2026. We haven’t quoted anything we couldn’t find there. Speaky Box prices are from our pricing page on the same day.

Talk like a person.
Prompt like a pro.

Speaky Box for Mac. Free for 2,000 words a week.

Download for Mac