Claude Code's built-in /voice needs a Claude.ai account. It does not work if Claude Code uses an Anthropic API key, Amazon Bedrock, Google Vertex AI or Microsoft Foundry. Anthropic has said it won't change this for now.
The workaround is a dictation app that types into your terminal like a keyboard. Claude Code just sees typed text, so it doesn't matter how it is signed in. This guide explains the limit and shows how to set up a working voice setup in about 2 minutes.
Why does /voice say it needs a Claude.ai account?
When you use /voice, Claude Code sends your audio to Anthropic's own speech-to-text service. That service is tied to the consumer Claude.ai sign-in, not to your model provider. The Claude Code voice dictation docs say it plainly:
"A Claude.ai account: the speech-to-text service is only available when you authenticate with one, and is not available when Claude Code is configured to use an Anthropic API key directly, Amazon Bedrock, Google Cloud's Agent Platform, or Microsoft Foundry."
("Google Cloud's Agent Platform" is the name the docs now use for what most people know as Vertex AI.)
Depending on your setup, you will see one of these messages:
Unknown command: /voice— an API key or a third-party provider is active, so the command is hidden.Voice mode requires a Claude.ai account— Claude Code couldn't find a usable Claude.ai sign-in.Voice mode is disabled by your organization's policy— an admin has turned voice off.
A user asked Anthropic to change this in GitHub issue #60857, "Enable voice dictation (/voice) when using AWS Bedrock, Vertex AI, and other third-party providers". It was closed as not planned. So don't wait for a fix.
Which Claude Code setups can't use /voice?
Anthropic API key —
ANTHROPIC_API_KEY,ANTHROPIC_AUTH_TOKENor anapiKeyHelpersetting.Amazon Bedrock — common in companies that keep AI spend and data inside AWS.
Google Vertex AI (Google Cloud's Agent Platform).
Microsoft Foundry (Azure).
Company LLM gateways that route Claude Code through a proxy using one of the options above.
SSH and cloud sessions — even with a Claude.ai account,
/voiceneeds a microphone on the machine running Claude Code.
If you do have a Claude.ai account
Sometimes the problem is a leftover API key. The docs say an API key or third-party provider "takes precedence over a claude.ai sign-in". If you pay for Claude Pro or Max and still see Unknown command: /voice:
Remove
ANTHROPIC_API_KEYandANTHROPIC_AUTH_TOKENfrom your shell profile, and anyapiKeyHelpersetting.Restart Claude Code.
Run
/loginand sign in with Claude.ai.Run
/voiceagain.
If your company requires Bedrock, Vertex, Foundry or an API key, this won't help. Read on.
The workaround: dictation that types into the terminal
A system-wide dictation app records your voice, turns it into text, and types that text where your cursor is. To Claude Code, it looks the same as you typing on the keyboard. It never touches Claude Code's login, so it works with every provider.
You have a few options:
Built-in OS dictation. Windows has Voice Typing (
Win + H) and macOS has Dictation. Both are free. They often get code words wrong, and Linux has no built-in dictation at all.Local Whisper tools. Free and offline, but you set them up and maintain them yourself.
A cloud dictation app. This is what we build: Voca (usevoca.net). It runs on Windows, macOS and Linux, and you pay per hour of audio. It is not the free, offline app from VocaHQ that shares the name.
The rest of this guide uses Voca, but the idea works with any tool that types system-wide.
How to set up Voca with Claude Code in 2 minutes
Create a free account on usevoca.net. You get 5 hours of transcription a month with no card.
Install the desktop app for Windows, macOS or Linux (X11 or Wayland) and sign in. The download links are on the Voca for Claude Code page.
Allow microphone access when your system asks.
Pick a hotkey that doesn't clash with Claude Code. Avoid
Space,Esc,Ctrl + CandShift + Tab, which Claude Code uses.Click into the Claude Code prompt. Press the hotkey once, speak your prompt, then press it again. There is nothing to hold down.
Check the text and press Enter to send it to Claude.
Voca also copies the text to your clipboard. If it ever lands in the wrong window, paste it with Ctrl + V or ⌘ V.
Teach it your repo and function names
Speech models don't know that you said useAuthStore or billing-svc. Two features fix this:
Dictionary. Add names, internal tools and odd spellings once, and Voca spells them your way on every device.
Project scan. Voca reads the project name and dependency names from files like
package.json,composer.json,go.mod,Cargo.tomlandpyproject.toml, plus folder and file names 2 levels deep. By default it does not open your source files. You can see every term and where it came from in Settings → Dictionary, and turn the scan off there.
Voca also removes filler words like "um" and false starts before the text lands. Your prompt reads like you typed it.
Is it safe for company use? Where does the audio go?
If your team chose Bedrock or Vertex to control where data goes, ask this about any voice tool, including /voice. Both add a speech-to-text provider. Here is what happens with Voca:
Where audio goes: from the app to Voca's API over TLS, then to Whisper on Groq for transcription. Audio is held in memory only.
How long it's kept: seconds. The audio is released as soon as the text comes back. It is never written to disk, backed up or used for training. Zero data retention is enabled on our Groq account.
What we keep: the length, time and model of each recording, for billing. Transcripts are saved only if you turn history on. It is off by default.
Project terms: sent with each recording to fix spelling, then discarded. The server never stores them.
Hosting: the app and database run in EU data centres.
To be honest about limits: Voca is not SOC 2, ISO 27001 or HIPAA certified, and it needs an internet connection. If your security team needs those, check with them first. If an admin has turned off /voice by policy, ask before adding another voice tool. The full details are on our trust page and in the privacy policy.
Billing for a team
Voca team plans mix two kinds of seats on one invoice:
Pro seats at $6 per user per month, unlimited, for heavy users.
Credit seats that share a pool at $0.10 per hour of audio, with a monthly cap you set per person.
Each team also gets 5 free hours a month, shared by the credit seats. See pricing for the details.
/voice vs Voca: side by side
Login needed: /voice needs a Claude.ai sign-in. Voca works however Claude Code is signed in, including API key, Bedrock, Vertex and Foundry.
Operating systems: /voice runs on macOS, Linux and Windows. Voca runs on Windows, macOS and Linux (X11 and Wayland).
WSL: /voice needs WSLg and won't work on WSL1. Voca runs on the Windows side and types into your terminal window, so the WSL version doesn't matter.
SSH and remote sessions: /voice doesn't work in SSH, cloud or VS Code Remote sessions. Voca uses your local microphone and types into your local terminal window, which is connected to the remote machine.
Outside Claude Code: /voice works only in Claude Code (CLI and VS Code extension). Voca works in any text field: terminal, IDE, browser, Slack, GitHub.
Coding words: /voice uses your project name and git branch as hints. Voca uses your dictionary and a project scan.
Languages: /voice supports 20 languages, set in
/config. Voca detects over 90 languages automatically.Text appears: /voice shows text live as you speak. Voca types the text when you stop.
Cost: /voice is included in Claude.ai plans and doesn't use tokens. Voca is free for 5 hours a month, then $0.10 per hour of audio or $6 a month for unlimited Pro.
If you can use /voice, it's a good tool and it's free with your plan. Many people use both: /voice inside Claude Code, and Voca for commit messages, PR descriptions and Slack. If you can't use /voice, Voca fills the gap. Linux users may also like our guide to Claude Code voice input on Linux.
Frequently asked questions
Why does Claude Code voice mode need a Claude.ai account?
Claude Code sends your audio to Anthropic's own speech-to-text service, and that service only works with a Claude.ai sign-in. It is not linked to your model provider, so API key, Bedrock, Vertex and Foundry users can't reach it.
Can I use /voice with Bedrock or Vertex?
No. The docs say voice dictation is not available with Amazon Bedrock, Google Vertex AI (Google Cloud's Agent Platform) or Microsoft Foundry. A request to change this (GitHub issue #60857) was closed as not planned. A system-wide dictation app such as Voca works instead, because it types into the terminal like a keyboard.
Is there a voice mode for Claude Code with an API key?
Not a built-in one. /voice is hidden when an API key is active. You can use your OS dictation or a dictation app that types into the terminal. Voca (usevoca.net) works with any Claude Code login on Windows, macOS and Linux, and has 5 free hours a month.
Is my audio stored?
Not by Voca. Audio is streamed to Whisper on Groq, turned into text, and discarded within seconds. It is never saved or used for training. We keep only the length, time and model of each recording for billing. Transcripts are saved only if you turn history on.
Try it on your next prompt
Install Voca, set a hotkey, and dictate your next Claude Code prompt. The 5 free hours are enough to test it on a full week of real work. Start on the Voca for Claude Code page.