本文根据 Claude Code 官方文档《Voice dictation》《Commands》整理,资料核对于 2026-11-05。配图为本站整理的示意图,不是界面截图。本站(bigolab.com)不是 Anthropic 官方网站。
适用于谁
- 搜「claude code 支持语音输入吗」,想用说话代替打字的人;
- 开了
/voice但按空格没反应、或者报麦克风错误的人; - 想知道中文能不能语音输入的人。
结论先说
- 支持。 Claude Code 命令行版有语音听写(voice dictation),说的话会实时转成文字进入输入框,可以和打字混着用。
- 开启用
/voice。 默认是 hold(按住说话)模式:按住Space录音,松开后文字定稿;/voice tap是点一下开始、再点一下发送;/voice off关闭。 - 要求:必须用 claude.ai 账号登录(用 API 密钥、Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 时不能用);要有本地麦克风,云端会话和 SSH 会话不能用。
- 语音会上传到 Anthropic 的服务器转写,不在本地处理。官方同时说,转写不消耗 Claude 消息或 token,也不计入
/usage显示的限额。 - 听写语言有限:官方清单有 20 种语言,里面没有中文;语言设置不在清单里时,
/voice会警告并退回英文听写。

图:本站根据 Claude Code 官方文档:Voice dictation 整理的示意图
一、前提条件
官方列的三项都要满足:
- claude.ai 账号:语音转写服务只在用 claude.ai 账号认证时可用。用
ANTHROPIC_API_KEY、ANTHROPIC_AUTH_TOKEN、apiKeyHelper设置,或第三方云厂商,会优先于 claude.ai 登录,需要去掉并重启。登录与账号相关的事见 /guides/claude-code-login-logout-switch-account;需要订阅可以了解 /chongzhi/claude-code。 - 本地麦克风:云端会话(网页版 Claude Code)和 SSH 会话不能用。VS Code 扩展也支持语音,同样要求 claude.ai 账号,但在 VS Code 的远程会话(SSH、Dev Containers、Codespaces)里不能用,因为麦克风在本机、扩展跑在远端。
- WSL 用户:官方说需要 WSLg。从 Microsoft Store 装的 WSL2(Windows 10 或 11)带 WSLg;WSL1 没有,这时改在原生 Windows 上运行 Claude Code。
录音在 macOS、Linux 和 Windows 上用内置的原生模块;Linux 上如果原生模块加载不了,会退而用 ALSA 工具里的 arecord 或 SoX 的 rec,两个都没有时,/voice 会打印适合你的包管理器的安装命令。
二、怎么开、怎么用
在会话里运行:
text
/voice
官方说开启时会做一次麦克风检查,在 macOS 上这会触发系统的麦克风权限提示。/voice 的参数:
| 命令 | 效果 |
|---|---|
/voice | 开关切换,保持当前模式 |
/voice hold | 以 hold 模式开启 |
/voice tap | 以 tap 模式开启 |
/voice off | 关闭 |
语音设置会跨会话保留。也可以直接写进用户设置文件,不用每次运行 /voice:
json
{
"voice": {
"enabled": true,
"mode": "tap"
}
}
hold 模式(默认):按住 Space 开始录音。官方说 Claude Code 靠终端的按键重复事件来识别「按住」,所以开始前有一小段预热,底部显示 keep holding…,录音开始后变成 listening…;预热期间输入框里可能先打出一两个空格,录音启动时会自动删掉,单按一下空格仍然输入空格。松开后文字定稿,插在光标位置,你可以再按住继续追加。默认情况下松手后文字只是进入输入框,等你按 Enter;在 voice 设置里加 "autoSubmit": true,松开后会自动发送(转写至少 3 个词才发)。
tap 模式:/voice tap 后,输入框为空时点一下 Space 开始录音,底部显示 ● REC · tap to send,再点一下停止,转写文字达到 3 个词就自动提交,更短的只插入不提交,避免误触发。官方说输入框里有内容时,第一次点击不会开始录音,所以你仍然可以正常输入空格。录音在静音 15 秒或总共 2 分钟后自动停止。
想跳过 hold 模式的预热,可以改用 tap 模式,或把按键改成带修饰键的组合(如 meta+k)。改键写在 ~/.claude/keybindings.json 里,动作名是 voice:pushToTalk,上下文是 Chat。
取消录音:按 Esc 或 Ctrl+C,会停止麦克风、丢掉转写,并把输入框还原成录音开始前的内容;这一下不会同时打断 Claude 的回复或清空输入。
配了自定义状态栏时,首次几次出现的 hold space to speak 提示不会显示,见 /guides/claude-code-statusline-model-context-usage。更多快捷键见 /guides/claude-code-keyboard-shortcuts。
三、支持什么语言:中文呢
官方说听写用的是和 Claude 回复语言相同的 language 设置;这个设置为空时,听写默认英文。官方列出的听写语言(括号内是语言代码):捷克语(cs)、丹麦语(da)、荷兰语(nl)、英语(en)、法语(fr)、德语(de)、希腊语(el)、印地语(hi)、印尼语(id)、意大利语(it)、日语(ja)、韩语(ko)、挪威语(no)、波兰语(pl)、葡萄牙语(pt)、俄语(ru)、西班牙语(es)、瑞典语(sv)、土耳其语(tr)、乌克兰语(uk)。
这个清单里没有中文。 官方写明:如果你的 language 设置不在清单里,/voice 开启时会警告,并对听写退回英文,Claude 的文字回复不受影响。所以按官方当天的说法,对着 Claude Code 说中文,目前不在官方支持的听写语言里。官方页面在另一处(说明「3 个词自动提交」的计数规则时)提到中文、日文、泰文按词计数,但没有说中文能被听写,以你实际运行 /voice 时的提示为准。
想让 Claude 回复用中文,是另一个设置,见 /guides/claude-code-chinese-language-setting。如果需要的是对话式语音,Claude 手机和桌面应用里有自己的语音模式,见 /guides/claude-voice-mode。
四、用不了时按提示排查

图:本站根据 Claude Code 官方文档:Voice dictation 整理的示意图
官方的排查条目:
Unknown command: /voice:只有当前登录的是 claude.ai 账号时才有这个命令。没登录就运行/login;如果环境里设了ANTHROPIC_API_KEY、ANTHROPIC_AUTH_TOKEN、apiKeyHelper或第三方云厂商,它们会优先于 claude.ai 登录,要去掉并重启;Voice mode requires a Claude.ai account:没找到可用的 claude.ai 登录,/login重登;Voice mode is disabled by your organization's policy:管理员的组织策略关闭了语音听写,联系管理员;Microphone access is denied:给终端开麦克风权限。macOS:System Settings → Privacy & Security → Microphone;Windows:Settings → Privacy & security → Microphone,打开桌面应用的麦克风访问,然后再运行/voice;- Linux 上
Voice mode requires SoX for audio recording:原生模块没加载且没有备用工具,按提示装 SoX,如sudo apt-get install sox; - WSL 上
Voice mode could not find a working audio recorder in WSL:官方说 WSLg 用的是 PulseAudio,要装sudo apt install sox libsox-fmt-pulse; Voice input is failing repeatedly and has been paused:10 秒内连续 3 次失败,Claude Code 暂停听写,直到第一次失败后 10 秒;多半是麦克风或音频栈在这台机器上抓不到音频;- 按住
Space没反应:观察输入框。空格一直累积,说明语音没开,运行/voice hold;只出现一两个空格就没了,说明语音开着但按住检测没触发,要求终端发送按键重复事件,系统层关了按键重复时识别不了,改用/voice tap; - tap 模式下点空格输入了空格:第一次点击只在输入框为空时开始录音,先清空输入框;
No audio detected from microphone:录到了静音。确认系统默认输入设备选对且没静音,Windows 在 Settings → System → Sound → Input 里选麦克风;Voice connection failed:录音没送到转写服务,检查网络后重试;No speech detected:音频到了但没识别出词,靠近麦克风、减小噪音,确认听写语言和你说的语言一致;- 转写乱码或语言不对:听写默认英文,说别的语言要先在
/config里设语言。
macOS 上终端不在麦克风列表里:官方的办法是用 tccutil reset Microphone <bundle-id> 重置该终端的麦克风权限(系统自带终端是 com.apple.Terminal,iTerm2 是 com.googlecode.iterm2),然后用 Cmd+Q 完全退出终端再打开,运行 /voice 触发新的权限提示。官方警告:不带 bundle ID 运行会撤销所有应用的麦克风权限。
常见问题
Q:语音输入用的是我的 token 额度吗?
官方说转写不消耗 Claude 消息或 token,也不计入 /usage 的限额。发出去的那条提示本身仍是一条普通提示,用量怎么看见 /guides/claude-usage-limits。
Q:我的声音会被保存吗?
官方说录音会流式上传到 Anthropic 的服务器转写,不在本地处理;数据怎么处理见官方的 Data usage 页。
Q:桌面版或网页版也能用吗?
本文说的是命令行版和 VS Code 扩展。官方说云端会话不能用。
相关教程
参考资料
- Claude Code 官方文档:Voice dictation — https://code.claude.com/docs/en/voice-dictation
- Claude Code 官方文档:Commands — https://code.claude.com/docs/en/commands
0 条评论
还没有评论,来抢沙发~