Copy That
Claude Code · 语音输入错误

修复 Claude Code 中的“No audio detected from microphone”(未检测到麦克风音频)。

No audio detected from microphone. Check that the correct input device is selected and that Claude Code has microphone access.

Claude Code 的 /voice 开始录音了,但只录到静音。麦克风本身可能没问题:最常见的原因是会话仍绑定在启动后已经变化的输入设备或二进制文件上。

快速修复
  1. 开一个新的 Claude Code 会话(用 /exit 退出后重新运行 claude,或用 claude --resume 保留对话)。这能解决最常见的原因。
  2. 检查“系统设置 → 声音 → 输入”:选中了正确的麦克风,并且说话时音量条会动。
  3. 检查“系统设置 → 隐私与安全性 → 麦克风”:你的终端(或 VS Code)已打开。
所有原因及修复方法
  1. 会话中途合上了屏幕、让 Mac 睡眠或连上了 AirPods

    会话会一直使用启动时找到的设备录音。当该设备消失或重新出现时(在 Apple 芯片 Mac 上合上屏幕、从睡眠中唤醒、连上蓝牙耳机),从那以后录到的都是静音。关掉再打开 /voice 也没用。请开一个新会话;如果还不行,退出并重启终端。

    相关报告见 #78169(合盖,以“不在计划内”关闭)、#88890 和 #89635(蓝牙、睡眠)。针对默认设备变化的修复已在 v2.1.195 中发布(#65331)。

  2. 会话打开期间 Claude Code 自动更新了

    在 macOS 上,自动更新会替换正在运行的会话仍在使用的二进制文件,而 macOS 会停止给这个旧进程麦克风权限。录音看似开始了,但录到的是静音。重启会话即可(claude --resume 会保留你的对话)。

    未解决的 issue:#99892 和 #94687。

  3. 会话运行了很长时间

    在一个很长的会话中,之前正常的语音可能会失灵。开一个新会话即可。

    #52845,与 #40091 重复(以“不在计划内”关闭)。

  4. 系统默认输入设备不对,或其音量为零

    Claude Code 从系统默认输入设备录音。在 macOS 上打开“系统设置 → 声音 → 输入”,选择你的麦克风,说话时看看音量条有没有动。在 Windows 上:设置 → 系统 → 声音 → 输入。

    出自 Claude Code 文档。

  5. 终端没有使用麦克风的权限

    macOS 会把麦克风权限授予 Claude Code 所运行的应用:Terminal、iTerm2、Ghostty、Warp,或者使用集成终端时的 VS Code。在“系统设置 → 隐私与安全性 → 麦克风”中打开它。如果列表里没有该应用,重置它的权限让 macOS 重新询问,用 ⌘Q 退出应用,重新打开后运行 /voice。务必传入 bundle ID:否则 tccutil 会重置所有应用的麦克风权限。

    # Terminal: com.apple.Terminal · iTerm2: com.googlecode.iterm2
    # Ghostty: com.mitchellh.ghostty · Warp: dev.warp.Warp-Stable · VS Code: com.microsoft.VSCode
    tccutil reset Microphone com.apple.Terminal
    
    # Not sure of the bundle ID? Ask macOS:
    osascript -e 'id of app "iTerm"'

    出自 Claude Code 文档。

  6. 会话是在后台启动的

    通过 claude agents 派发的会话运行在后台进程中,macOS 无法把麦克风权限归属给它。请在普通的前台会话中口述。

    未解决的 issue:#86217。

截至 2026 年 10 月。信息来自 Claude Code 文档及其 GitHub issue。

或者干脆不用 Mac 的麦克风

用 iPhone 或 Apple Watch 当麦克风。

Copy That 在 iPhone 或 Apple Watch 上录音,用 Whisper 在 Mac 上转写,然后粘贴到 Claude Code 中。Mac 上的合盖、AirPods、输入设备和麦克风权限都不再重要,因为 Mac 根本不录音。

Claude Code 语音输入 →

常见问题
为什么 /voice 在新标签页里能用,在旧会话里却不行?
旧会话启动后有东西变了:你切换或重新连接了输入设备、合上了屏幕,或者 Claude Code 自动更新了。旧会话仍绑定在过时的设备或二进制文件上。新会话会使用当前的。
为什么 Claude Code 的麦克风不工作?
如果 Claude Code 提示“No audio detected from microphone”,说明录音开始了但只听到静音:开一个新会话,并检查输入设备及其音量。如果提示“Microphone access is denied”,在“隐私与安全性 → 麦克风”中允许你的终端。如果 /voice 是未知命令,用 /login 登录:语音功能需要 Claude.ai 账户,API 密钥、Bedrock 或 Vertex 都不行。
如何为 Claude Code 开启麦克风?
在 Claude Code 中运行 /voice,然后在 macOS 询问时,在“系统设置 → 隐私与安全性 → 麦克风”中允许你的终端应用(或 VS Code)。在 Windows 上,在“设置 → 隐私和安全性 → 麦克风”中允许桌面应用。
有没有办法彻底避免这个问题?
用一个不属于 Mac 的麦克风。Copy That 在 iPhone 或 Apple Watch 上录音,用 Whisper 在 Mac 上转写,然后粘贴到 Claude Code 中,所以 Mac 上的输入设备、合盖和麦克风权限都无关紧要了。
同样适用于