Claude Code の音声入力(/voice)の使い方

Claude Code 入門 7分で読めます

長い指示を打ち込む代わりに、話しかけてプロンプトを入力する。Claude Code CLI には 音声入力(voice dictation) があり、/voice で有効にすると、話した内容がリアルタイムに文字起こしされてプロンプト欄に入ります。同じメッセージの中で音声とキーボード入力を混ぜることもできます。本記事は公式ドキュメント「Voice dictation」に基づく非公式の日本語解説です。

操作は2通りです。キーを押している間だけ録音する hold モードと、1回タップで録音を始めてもう1回タップで送信する tap モードです。音声入力は agent view でも使え、バックグラウンドセッションへの指示や返信を声で入力できます(Claude Code のバックグラウンドセッションと agent view)。

音声入力の前提条件

音声入力は、録音した音声を Anthropic のサーバーに送って文字起こしします。ローカルでは処理されません。使うには次のすべてが必要です。

文字起こしは Claude のメッセージやトークンを消費せず、/usage に表示される利用上限にも数えられません。録音は macOS・Linux・Windows とも組み込みのネイティブモジュールで行います。Linux でネイティブモジュールを読み込めない場合は ALSA utils の arecord か SoX の rec を使い、どちらもなければ /voice がインストール用のコマンドを表示します。

VS Code 拡張機能でも同じく Claude.ai アカウントを条件に音声入力が使えますが、SSH・Dev Containers・Codespaces などの VS Code Remote セッションでは使えません。マイクは手元にあり、拡張機能はリモート側で動くためです。

/voice で有効にする

/voice を実行すると音声入力が有効になります。初回はマイクのチェックが行われ、macOS ではまだ許可していなければターミナルに対するマイク許可のダイアログが表示されます。

/voice
Voice mode enabled (hold). Hold space to record. Dictation language: en (/config to change).

/voice には任意でモードを指定できます。

コマンド効果
/voiceオン/オフを切り替える(モードは現在のまま)
/voice holdhold モードで有効にする
/voice taptap モードで有効にする
/voice off無効にする

設定はセッションをまたいで保持されます。/voice を使わずに、ユーザー設定ファイルへ直接書くこともできます。

{
  "voice": {
    "enabled": true,
    "mode": "tap"
  }
}

有効にしてから最初の3セッションは、プロンプトが空のときに入力欄の下へ hold space to speak というヒントが出ます(カスタムステータスラインを設定している場合は表示されません)。文字起こしはコーディング用語に合わせて調整されており、regexOAuthJSONlocalhost のような語を正しく認識します。現在のプロジェクト名と git のブランチ名も、認識のヒントとして自動で加えられます。

hold モードと tap モード

hold モード(既定)

いわゆるプッシュ・トゥ・トークです。Space を押し続けている間だけ録音し、離すと止まります。Claude Code はターミナルから届くキーリピートを見て「押し続けている」と判断するため、録音開始までに短い準備時間があります。その間は入力欄の下に keep holding…、録音が始まると listening… と表示されます。準備中に入力されたスペースは録音開始時に自動で消え、Space を1回だけ押した場合は通常どおりスペースが入ります。

話した内容は、確定するまで薄い文字で表示されます。Space を離すと確定し、テキストはカーソル位置に挿入されます。再び Space を押し続ければ続きを追記でき、カーソルを動かしてから話せば途中に差し込めます。

> refactor the auth middleware to ▮
  # Space を押し続けて "use the new token validation helper" と話す
> refactor the auth middleware to use the new token validation helper▮

既定では、キーを離したあと Enter を押すまで送信されません。voice 設定に "autoSubmit": true を加えると、文字起こしが3語以上ならキーを離した時点で自動送信されます。

tap モード

/voice tap で有効にします。プロンプト欄が空の状態で Space を1回タップすると録音が始まり、入力欄の下に ● REC · tap to send と表示されます。もう一度タップすると録音が止まり、文字起こしが3語以上なら自動で送信されます。3語未満なら挿入だけされるので、誤タップで単語1つが送られることはありません。準備時間はなく、キーを押し続ける必要もありません。

最初のタップで録音が始まるのは入力欄が空のときだけなので、文章を入力中は普通にスペースを打てます。録音は、15秒間の無音か、合計2分で自動的に止まります。

日本語のようにスペースで区切らない言語でも、3語のしきい値は単語単位で数えられるため、tap モードや autoSubmit を有効にした hold モードで自動送信されます。

言語とキー割り当てを変える

日本語で話す

音声入力の言語は、Claude の応答言語を決める language 設定と共通です。この設定が空だと英語として認識されます。/config で設定するか、設定ファイルに言語コードまたは言語名で書きます。

{
  "language": "japanese"
}

対応言語は、日本語(ja)・英語(en)・韓国語(ko)・ドイツ語・フランス語・スペイン語・ポルトガル語・イタリア語・ロシア語・ヒンディー語など20言語です。一覧にない言語を設定すると、/voice を有効にするときに警告が出て、音声入力は英語で動きます(Claude のテキスト応答の言語には影響しません)。VS Code 拡張機能では、language が空なら VS Code の accessibility.voice.speechLanguage 設定が使われます。

録音キーを変える

録音キーは Chat コンテキストの voice:pushToTalk アクションに割り当てられており、既定は Space です。hold と tap の両モードで共通です。~/.claude/keybindings.json で変更できます(キー割り当ての書き方は Claude Codeのキーボードショートカットをカスタマイズするを参照)。

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

voice:pushToTalk に割り当てられるキーは1つだけで、別のキーを割り当てると Space の割り当ては置き換わります(例の "space": null は分かりやすさのためで、省略しても動作は同じです)。hold モードでは v のような修飾なしの文字キーは避けます。準備時間中にその文字が入力されてしまうためです。meta+k のような修飾キーとの組み合わせなら、最初の押下から準備時間なしで録音が始まります。tap モードには準備時間がないので、ほとんどのキーが使えます。Caps Lock のようにターミナルに届かないキーは割り当てられません。

うまく動かないときの対処

公式ドキュメントに載っている主なエラーと対処は次のとおりです。

表示・症状対処
Voice mode requires a Claude.ai accountAPI キーやサードパーティのプロバイダで認証している。/login で Claude.ai アカウントにサインインする。
Voice mode is disabled by your organization's policy組織の管理者ポリシーで無効になっている。管理者に確認する。
Microphone access is deniedOS の設定でターミナルにマイクを許可する。macOS はシステム設定 → プライバシーとセキュリティ → マイク、Windows は設定 → プライバシーとセキュリティ → マイク(デスクトップアプリのアクセス)。その後 /voice を再実行する。
Voice mode requires SoX for audio recording(Linux)ネイティブモジュールが読み込めず代替もない。エラーに表示されたコマンド(例: sudo apt-get install sox)で SoX を入れる。
Voice mode could not find a working audio recorder in WSLWSLg は PulseAudio 経由なので sudo apt install sox libsox-fmt-pulse を実行する。
hold モードで Space を押し続けても何も起きないスペースが増え続けるなら音声入力がオフ(/voice hold で有効化)。1〜2個で止まるならキーリピートが検出されていない。OS でキーリピートが無効だと検出できないので /voice tap に切り替える。
tap モードでスペースが入力される録音開始は入力欄が空のときだけ。入力欄を空にするか、/voice tap でモードを確認する。
No audio detected from microphone無音が録音された。OS の既定の入力デバイスと入力レベルを確認する。
Voice connection failed文字起こしサービスへの接続に失敗した。ネットワークを確認して再試行する。
No speech detected や、文字起こしが別の言語になるマイクに近づき雑音を減らす。話している言語と language 設定が一致しているか確認する(既定は英語)。

macOS のマイク設定の一覧にターミナルが表示されない場合は、tccutil reset Microphone com.apple.Terminal(iTerm2 なら com.googlecode.iterm2)でそのアプリの許可状態をリセットし、ターミナルを Cmd+Q で完全に終了して開き直してから /voice を実行します。バンドル ID を付けずに tccutil reset Microphone を実行すると、Mac 上のすべてのアプリのマイク許可が取り消されるので注意してください。

本記事は Anthropic 公式ドキュメント「Voice dictation」に基づく非公式の日本語解説で、コマンド一覧と設定リファレンスの voice 項目とも照合しています(確認日 2026-09-17)。仕様は更新される場合があるため、最新情報は公式ページで確認してください。