できること
話してプロンプト入力
Claude Code CLI で、プロンプトを打つ代わりに話して入力できます。発話はリアルタイムで入力欄に文字起こしされ、同じメッセージの中で音声とタイピングを混ぜられます。
開発用語に合わせた認識
文字起こしはコーディングの語彙に合わせて調整されており、regex・OAuth・JSON・localhost などの用語を認識します。現在のプロジェクト名と git のブランチ名も、認識のヒントとして自動で加わります。
2 つの録音方式
キーを押している間だけ録音するホールドモード (既定) と、1 回のキー操作で録音の開始と送信を切り替えるタップモードを選べます。
機能解説
概要
話した内容はその場でプロンプトの入力欄に文字起こしされるため、1 つのメッセージの中で音声とキーボード入力を混ぜて使えます。コーディングエージェントへの指示を声で伝えたい場面に関わる機能です。
Voice mode は、Claude Code CLI のプロンプト入力を音声で行うための機能です。発話は入力欄にリアルタイムで文字起こしされるため、音声で話した部分とキーボードで打った部分を同じメッセージにまとめられます。
/voice を実行すると音声入力が有効になり、そのときにマイクのチェックも行われます。/voice hold でホールドモード、/voice tap でタップモードとして有効にでき、/voice off で無効にします。この設定はセッションをまたいで保持され、/voice を実行する代わりにユーザー設定ファイルで直接設定することもできます。
ホールドモードでは agent view でも音声入力が使えます。dispatch input や peek-panel の返信欄にフォーカスがある状態で push-to-talk のキーを押し続けると、バックグラウンドのセッションに向けて音声で入力できます。
Claude Code の VS Code 拡張機能も、CLI と同じ claude.ai アカウントの要件のもとで音声入力に対応しています。
録音の方式と送信の動き
ホールドモード (既定)
Spaceを押し続けると録音が始まります。準備中はフッターに keep holding… と表示され、録音が始まると listening… に変わります。Spaceを離すと録音が止まり、確定したテキストがカーソル位置に挿入されます。- 既定では、文字起こしを挿入したあと
Enterが押されるのを待ちます。voice設定オブジェクトで"autoSubmit": trueを設定すると、キーを離した時点でプロンプトが自動で送信されます。ただし文字起こしが 3 語以上の場合に限ります。 - meta+k のような修飾キーの組み合わせを割り当てた場合は、準備の待ち時間なしに最初のキー操作で録音が始まります。
タップモード
- 1 回のタップで録音を始め、話したあとにもう一度タップするとプロンプトが送信されます。準備の待ち時間はなく、キーを押し続ける必要もありません。
- 文字起こしが 3 語未満の場合は挿入だけで送信されないため、誤ってタップしたときに単語 1 つだけが送られることはありません。
- 録音は、15 秒間の無音、または合計 2 分で自動的に止まります。
共通の動き
- 録音中に
EscまたはCtrl+Cを押すと音声入力を取り消せます。マイクが止まり、文字起こしは破棄され、プロンプトは録音を始める前の状態に戻ります。
言語とキーの設定
音声入力の言語は、Claude の応答言語を決める language 設定と共通です。この設定が空の場合、音声入力は英語になります。言語は /config で、または設定ファイルで直接指定でき、BCP 47 の言語コードと言語名のどちらでも書けます。language 設定が対応言語の一覧に無い場合は、有効化のときに /voice が警告を出し、音声入力だけが英語に切り替わります。Claude のテキストでの応答には影響しません。
VS Code の音声入力では、Claude Code の言語が設定されていない場合に accessibility.voice.speechLanguage 設定に従います。
音声入力のキーは Chat コンテキストの voice:pushToTalk に割り当てられており、既定は Space です。同じ割り当てがホールドモードとタップモードの両方に使われます。~/.claude/keybindings.json で割り当てを変更でき、独自のキーを割り当てると既定の Space は置き換えられます (2 つ目の起動キーとして追加されるのではありません)。なお、ターミナルは Caps Lock をキーイベントとして送らないため、Caps Lock に割り当てたキーバインドはエラーになります。
管理者・導入時に確認したい点
- 録音した音声は、文字起こしのために Anthropic のサーバーへストリーミングで送られます。音声はローカルでは処理されません。社内の情報の取り扱いルールと照らし合わせて確認が必要な点です。
- Linux では、ネイティブの音声モジュールを読み込めない場合、ALSA utils の
arecordまたは SoX のrecに切り替えて録音します。 - Linux で SoX はあるものの音声入力デバイスが無い場合、「マイクが無い」状態と「SoX が未インストール」の状態を区別して扱います。
- 利用できるプランについては、公式のリリースノートには記載がありません。
使い方
ここでは、タップモードで録音して送信する流れを示します。
/voice tapを実行して、タップモードを有効にします。- プロンプトの入力欄が空の状態で
Spaceをタップすると録音が始まります。録音中はフッターに● REC · tap to sendと表示されます。 - もう一度
Spaceをタップすると録音が止まります。文字起こしが 3 語以上あればプロンプトは自動で送信され、3 語未満の場合は入力欄に挿入されるだけで送信されません。
利用シーン
変更内容や調査の依頼など、長めの指示を Claude Code に伝える場面に使えます。話した内容を入力欄で確認してから Enter で送れます。
ファイル名や記号は打ち込み、説明部分は話すといった、音声とキーボードを 1 つのプロンプトの中で組み合わせる入力に向いています。
agent view でバックグラウンドのセッションに追加の指示を出す場面に使えます (ホールドモードの場合)。
英語以外の言語で指示を出したい場合は、language 設定に合わせて音声入力の言語を揃えて使えます。
ChatGPT・OpenAI の対応する機能
比較の単位となる業務: コーディングエージェントへの音声によるプロンプト入力
開発用語の扱いについて、Claude Code の Voice mode はコーディングの語彙に合わせた文字起こしを行い、現在のプロジェクト名と git のブランチ名を認識のヒントとして自動で加えます。ChatGPT 側の Dictation (音声入力) には、ディクテーションのクリーンアップ機能と、名前・ファイルパス・コードシンボル向けに設定できるディクテーション辞書が追加されています。
言語の扱いについては、Voice mode は Claude の応答言語と共通の language 設定を使います。ChatGPT のディクテーションは、保存されたメイン言語の設定に従います。
これまでの変更
Linux の音声モードが改善され、SoX があっても音声入力デバイスが無い場合に、「マイクが無い」と「SoX 未インストール」を区別するようになりました。
Caps Lock に割り当てたキーバインドでエラーを表示するようになりました。あわせて、VS Code の音声入力が、Claude Code の言語が未設定のときに
accessibility.voice.speechLanguage設定に従うようになりました。