---
title: "Claude Codeの音声入力（/voice）の使い方｜日本語設定・Windows対応と読み上げ【2026年10月】"
url: "https://www.issoh.co.jp/tech/details/11199/"
published: 2026-03-04
updated: 2026-10-22
categories: ["Claude"]
publisher: "株式会社一創"
---

# Claude Codeの音声入力（/voice）の使い方｜日本語設定・Windows対応と読み上げ【2026年10月】

Claude Codeの音声入力は、CLIで`/voice`を実行するだけで使えます。話した内容はプロンプト欄にそのまま文字起こしされ、キーボード入力と同じメッセージの中で混ぜられます。ただし、何も設定しないと日本語が英語として認識されること、APIキーやAmazon Bedrock経由のログインでは使えないこと、WSLでは追加パッケージが要ることの3点は、使い始める前に確認してください。

この記事では、Claude Code公式ドキュメントの[Voice dictation](https://code.claude.com/docs/en/voice-dictation)と[CHANGELOG](https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md)（v2.1.301時点）をもとに、有効化の手順・日本語設定・OS別の準備・エラー別の対処を整理します。日本語で使うときに踏みやすい不具合と、それが直った版も一覧にしました。Claude Code本体には読み上げ（TTS）が無いため、応答を音声で聞く組み方も扱います。

## まとめ

- `/voice`で有効化し、**スペースを長押しして話すホールドモード**（既定）か、**1回押して開始・もう1回で送信するタップモード**（`/voice tap`）を選べます。
- 日本語で話すなら`/config`で`language`を`japanese`（または`ja`）にします。未設定だと英語として文字起こしされます。対応言語は日本語を含む20言語です。
- 日本語環境では、IMEの全角スペース・日本語のフォルダ名・自動送信に関わる不具合が過去にありました。**v2.1.280より前の版なら`claude update`で更新**してから試してください。
- 利用には**claude.aiアカウントでのログイン**が必要です。APIキー直指定、Amazon Bedrock、Google CloudのAgent Platform、Microsoft Foundry、クラウドセッション、SSH接続では使えません。`Unknown command: /voice`と出るなら、まず環境変数のAPIキーを疑います。
- 文字起こしはAnthropicのサーバーで行われ、**Claudeのメッセージやトークンを消費せず、`/usage`の上限にも数えられません**。
- macOS・Linux・Windowsはネイティブで動きます。WSLではWSLgと`sox libsox-fmt-pulse`が必要で、WSL1ならWindowsネイティブで動かします。
- 読み上げは標準機能に無いため、Stopフックで最後の応答をOSの音声合成に渡すか、VoiceMode MCPのような外部ツールを組み合わせます。

## Claude Codeの音声入力の仕組みと使える条件

Claude Codeの音声入力（公式名はVoice dictation）は、マイクで録音した音声をAnthropicのサーバーへストリーミングし、文字起こし結果をプロンプト欄に流し込む機能です。**音声はローカルでは処理されません**。Claudeと音声で会話する機能ではなく、キーボードの代わりに口で入力する機能です。

文字起こしはコーディング用語に合わせて調整されており、`regex`・`OAuth`・`JSON`・`localhost`のような用語を正しく拾います。さらに、今開いているプロジェクト名とgitブランチ名が認識のヒントとして自動で渡されます。

使えるかどうかは、ログイン方法と実行場所で決まります。

| 条件                             | 音声入力 | 補足                      |
| ------------------------------ | ---- | ----------------------- |
| claude.aiアカウントでログイン            | 使える  | Claude Codeを含むプランが前提    |
| Anthropic APIキーを直接設定           | 使えない | `/login`でclaude.aiに切り替え |
| APIキー系の環境変数が残っている              | 使えない | claude.aiのログインより優先される   |
| Bedrock・Agent Platform・Foundry | 使えない | 文字起こしサービスが提供されない        |
| クラウドセッション・SSH接続                | 使えない | 手元のマイクに届かない             |
| 組織ポリシーで無効化                     | 使えない | 管理者に確認                  |

v2.1.84以降、今のログイン方法で使えないスラッシュコマンドは一覧から隠れます。`/voice`が補完候補に出ない、または`Unknown command: /voice`と表示される場合は、`ANTHROPIC_API_KEY`・`ANTHROPIC_AUTH_TOKEN`・`apiKeyHelper`設定・外部プロバイダーのどれかが使われていないかを確認します。公式ドキュメントによると、これらはclaude.aiのログインより優先されるため、claude.aiでログインし直しても外さない限り`/voice`は出てきません。外してからClaude Codeを再起動してください。

料金面では、文字起こしはClaudeのメッセージやトークンを消費せず、`/usage`に表示される上限にも数えられません。追加料金も要りません。音声で入力したプロンプトをClaudeが処理する分は、キーボードで打った場合と同じく通常どおり上限に数えられます。

## /voiceの有効化とホールド・タップの2モード

有効化のコマンドと、2つの録音モードの違いです。どちらのモードでも録音に使うキーは同じ（既定はスペース）です。

### /voiceコマンドの引数とsettings.jsonでの常時有効化

`/voice`を実行するとマイクのチェックが走り、macOSでは初回だけターミナルへのマイク許可ダイアログが出ます。有効になると、モードと文字起こし言語が表示されます。

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

| コマンド          | 動作                 |
| ------------- | ------------------ |
| `/voice`      | 今のモードのままオン・オフを切り替え |
| `/voice hold` | ホールドモードで有効化        |
| `/voice tap`  | タップモードで有効化         |
| `/voice off`  | 無効化                |

設定はセッションをまたいで保持されます。`/voice`を実行するとClaude Codeが`voice`オブジェクトを書き込みますが、ユーザー設定ファイル（`~/.claude/settings.json`）に直接書くこともできます。次はホールドモードで、キーを離した時点で送信する例です。

```
{
  "voice": {
    "enabled": true,
    "mode": "hold",
    "autoSubmit": true
  }
}
```

`mode`を省くと`"hold"`になります。**`autoSubmit`はホールドモード専用**の項目で、タップモードは設定しなくても自動送信します。タップモードにするなら`"mode": "tap"`だけで足ります。

古い解説にある`"voiceEnabled": true`は、v2.1.92で`voice`オブジェクトに置き換えられた旧形式です。今も読み込まれますが、両方あると`voice.enabled`が優先されます。新しく書くなら`voice`オブジェクトを使ってください。

有効にしてから最初の3セッションは、プロンプト欄が空のときにフッターへ`hold space to speak`のヒントが出ます（カスタムのステータスラインを設定している場合は出ません）。

### ホールドモードのウォームアップと挿入位置

ホールドモードは、キーを押している間だけ録音するプッシュ・トゥ・トークです。Claude Codeはターミナルから届くキーリピートの連打で長押しを判定するため、録音が始まるまで短いウォームアップがあります。フッターは`keep holding…`から`listening…`に変わり、ウォームアップ中に入力されたスペースは録音開始時に自動で消えます。スペースを1回だけ押した場合は普通に空白が入ります。

キーを離すと、文字起こし結果がカーソル位置に挿入されます。既定では送信されず、Enterを押すまで編集できます。カーソルを動かしてからもう一度長押しすれば、文の途中に音声を差し込めます。`"autoSubmit": true`を設定した場合も、送信されるのは文字起こしが3語以上のときだけです。

ホールドモードは`claude agents`のエージェントビューでも使えます（v2.1.145以降）。返信欄やディスパッチ入力にフォーカスがある状態でキーを長押しすれば、裏で動いているセッションへの指示を話して送れます。

### タップモードの自動送信と録音の自動停止

タップモードは、プロンプト欄が空の状態でスペースを1回押すと録音が始まり、もう1回押すと止まって送信されます。ウォームアップは無く、キーを押し続ける必要もありません。録音中のフッターには`● REC · tap to send`と表示されます。

- 文字起こしが3語以上なら自動で送信し、それより短ければ挿入だけで止めます（誤タップで1語だけ送るのを防ぐため）。
- 15秒間の無音、または録音開始から2分で自動的に止まります。
- 入力欄に文字があるときの1回目のタップは、録音を始めずに空白を入れます。

送信前に文字起こしを確認・編集したいなら自動送信を無効にしたホールドモード、キーから手を離して話し、停止時に送信したいならタップモードが向いています。OSのキーリピートを無効にしている環境ではホールドの長押しを検知できないため、タップモードを使います。

### Esc・Ctrl+Cによる録音の取り消し

録音中に`Esc`か`Ctrl+C`を押すと、マイクを止めて文字起こしを破棄し、プロンプトを録音前の状態に戻します。このときの`Esc`はClaudeの応答を中断せず、`Ctrl+C`も終了操作の1回目に数えられません。録音後の文字起こし処理中にも取り消せます。

## 日本語で音声入力するための設定と注意点

日本語で話しても英文になる、長押ししても録音が始まらない、日本語で話すと自動送信されない。日本語環境で起きる症状の多くは、言語設定か古い版が原因です。

### language設定と対応20言語

音声入力は、Claudeの応答言語を決める`language`設定をそのまま使い、空なら英語として文字起こしします。`/config`のLanguageで日本語を選ぶか、設定ファイルに次のように書きます。値は`ja`のような言語コードでも`japanese`のような言語名でも構いません。

```
{
  "language": "japanese"
}
```

この設定を入れると、Claudeの応答も日本語になります。CLIには音声入力専用の言語設定がなく、応答言語と共通です。有効化時の表示が`Dictation language: ja`になっていれば反映されています。

`language`が効く範囲と、コードコメントやコミットメッセージまで日本語にする設定は[Claude Codeを日本語で使う設定](https://www.issoh.co.jp/tech/details/18753/)にまとめました。

対応言語は、チェコ語・デンマーク語・オランダ語・英語・フランス語・ドイツ語・ギリシャ語・ヒンディー語・インドネシア語・イタリア語・日本語・韓国語・ノルウェー語・ポーランド語・ポルトガル語・ロシア語・スペイン語・スウェーデン語・トルコ語・ウクライナ語の20言語です（v2.1.69で10言語追加）。一覧に無い言語を`language`に設定すると、`/voice`の有効化時に警告が出て、音声入力だけが英語にフォールバックします。

VS Code拡張では、`language`が空のときにVS Codeの`accessibility.voice.speechLanguage`設定が使われ、それも空なら英語になります。

### 日本語環境で起きた不具合と修正された版

CHANGELOGを「voice」で追うと、日本語環境に直接関わる修正が4件あります。症状に心当たりがあれば、`claude -v`で版を確かめ、古ければ`claude update`で更新してから設定を疑ってください。

| 症状                           | 修正された版   |
| ---------------------------- | -------- |
| IMEがオンだと長押ししても録音が始まらない       | v2.1.83  |
| 日本語名のフォルダやブランチで接続に失敗する       | v2.1.160 |
| 日本語だと自動送信が働かない               | v2.1.195 |
| `Ctrl+C`でプロンプトは消えるがマイクが止まらない | v2.1.280 |

- **IMEの全角スペース**：日本語IMEがオンのままスペースを押すと全角スペースが入り、以前はこれを長押しと判定できませんでした。
- **日本語のフォルダ名・ブランチ名**：プロジェクト名とブランチ名は認識のヒントとして送られるため、ここに非ASCII文字や記号が含まれると接続に失敗していました。`~/案件/顧客A`のような日本語名のフォルダで開いているなら該当します。
- **自動送信**：3語以上で送る判定が空白区切りの単語数だったため、日本語・中国語・タイ語では送信されませんでした。現在は単語単位で数えるので、タップモードとホールドモードの`autoSubmit`で日本語も自動送信されます。

### 日本語で話すときの認識させ方と打つべき部分

公式ドキュメントが認識のヒントとして挙げるのは、開いているプロジェクト名とgitブランチ名、それに`regex`や`OAuth`のような開発用語です。ファイル名・関数名・社内の固有名詞も自動で認識ヒントに含まれるとは、公式ドキュメントに明記されていません。日本語と英語を1回の録音で混ぜたときの精度についても、公式ドキュメントに記載はありません。

変数名・ファイルパス・URL・コマンドのように、1文字違うと意味が変わる部分はキーボードで打つのが確実です。方針や背景は話し、識別子は打つ。録音はカーソル位置に挿入されるので、話す→打つ→話すの順で1つのプロンプトを組み立てられます。プロジェクトの前提を毎回口で説明しなくて済むよう、CLAUDE.mdに書いておくのも効きます。CLAUDE.mdの書き方は[Claude Codeの使い方](/tech/details/17375/)を参照してください。

## macOS・Windows・WSL・Linux別の準備

録音には、macOS・Linux・Windowsいずれもビルトインのネイティブモジュールが使われます。OSごとに必要な準備は、主にマイク権限と、WSL・Linuxの録音バックエンドです。

### macOSのマイク権限とtccutilによるリセット

初回の`/voice`でターミナルアプリへのマイク許可を求められます。拒否した場合は、システム設定の「プライバシーとセキュリティ」→「マイク」で使っているターミナルをオンにし、`/voice`を実行し直します。

ターミナルが一覧に出てこない場合は、そのアプリの許可状態だけをリセットします。

```
# Terminal.app の場合（iTerm2 は com.googlecode.iterm2）
tccutil reset Microphone com.apple.Terminal

# その他のターミナルはバンドルIDを調べてから
osascript -e 'id of app "Ghostty"'
```

リセット後は`Cmd+Q`でターミナルを完全に終了してから開き直し、`/voice`を実行すると許可ダイアログが出ます。バンドルIDを付けずに`tccutil reset Microphone`を実行すると、ZoomやSlackを含む全アプリのマイク許可が取り消されるので避けてください。

### WindowsネイティブとWSLでの録音設定

WindowsはWSLを経由しなくても、ネイティブで音声入力が使えます。「WindowsはWSL経由のみ」と書いた古い解説は、現在の公式ドキュメントと食い違います。Windowsで確認する設定は2か所です。

- `Microphone access is denied`と出る：「設定」→「プライバシーとセキュリティ」→「マイク」で、デスクトップアプリのマイクアクセスをオンにして`/voice`を実行し直します。
- `No audio detected from microphone`と出る：「設定」→「システム」→「サウンド」→「入力」で、使うマイクが選ばれているか、入力レベルが0になっていないかを確認します。

WSLで動かす場合は条件が増えます。

- WSLgが必要です。Microsoft StoreからインストールしたWSL2（Windows 10・11）には含まれています。
- WSLgは音声をALSAデバイスではなくPulseAudio経由で流すため、SoXのPulseAudioバックエンドを明示的に入れます。`sox`だけ入れるとALSAバックエンドしか入らず、`/dev/snd`が無いWSLでは録音できません。
- WSL1などWSLgが無い環境では、WSLではなくWindowsネイティブのClaude Codeを使います。

```
sudo apt install sox libsox-fmt-pulse
```

### Linuxの録音バックエンドとヘッドレス環境

Linuxでネイティブモジュールが読み込めない場合は、ALSA utilsの`arecord`かSoXの`rec`にフォールバックします。どちらも無いと、`/voice`がパッケージマネージャーに合わせたインストールコマンドを表示します（例：`sudo apt-get install sox`）。

サーバーやコンテナのように音声入力デバイスが無い環境では、SoXを入れても録音できません。v2.1.195以降は`Voice mode requires a microphone, but SoX could not open an audio capture device`と表示され、「SoXが無い」と区別されるようになりました。この表示が出たら、マイクのあるローカルのマシンでClaude Codeを動かしてください。

### VS Code拡張のログイン要件とリモート接続の制限

VS Code拡張も、CLIと同じくclaude.aiアカウントで音声入力が使えます。ただしRemote SSH、Dev Containers、Codespacesでは使えません。マイクは手元のPCにあり、拡張はリモートホスト側で動くためです。Bedrockなど外部プロバイダーでログインしている場合も、音声入力は表示されません。拡張の導入と設定は[Claude Code for VS Codeの使い方](/tech/details/10685/)で扱っています。

### デスクトップアプリ・スマホ・Remote Controlでの扱い

Claude Codeの公式ドキュメントで`/voice`の対象として書かれているのは、CLIとVS Code拡張だけです。デスクトップアプリのCodeタブ（[desktop](https://code.claude.com/docs/en/desktop)）、スマホのClaudeアプリ（[mobile](https://code.claude.com/docs/en/mobile)）、[Remote Control](https://code.claude.com/docs/en/remote-control)の各ページには、音声入力についての記載がありません（2026年10月16日時点）。

一方、Claudeのデスクトップアプリのチャットには音声入力（ディクテーション）があります。Anthropicの[Claude Academy](https://academy.claude.com/tutorials/navigating-the-claude-desktop-app)は、音声・ディクテーション・ファイルのアップロードがWeb・スマホ・デスクトップアプリで使え、ディクテーションはLinuxでは未対応だと説明しています。Macでは[クイック入力](https://support.claude.com/en/articles/12626668-use-quick-entry-with-claude-desktop-on-mac)の音声ショートカットを設定で有効にすると、Caps Lockを1回押して録音を開始し、もう1回押して停止できます。文字起こしを確認して送信します（音声入力はmacOS 14以降）。「claude desktop 音声入力」で探している機能は、多くの場合こちらです。

スマホから[Remote Control](/tech/details/11141/)で手元のセッションを操作する場合、`/voice`が使うのはPC側のマイクです。スマホで話して指示したいなら、端末のキーボードに付いている音声入力で文字にしてから送ります。デスクトップアプリの使い方は[Claude Codeデスクトップアプリの使い方](/tech/details/11800/)にまとめています。

## 録音キーをvoice:pushToTalkで変更する方法

既定の録音キーはスペースです。打鍵中に誤って録音が始まるのが気になる場合や、ウォームアップを無くしたい場合は、`~/.claude/keybindings.json`で`voice:pushToTalk`を別のキーに割り当てます（v2.1.71で追加）。

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

- `voice:pushToTalk`に割り当てられるキーは1つだけで、別のキーを設定するとスペースの割り当ては置き換わります。`"space": null`は明示のための行で、省いても動作は変わりません。
- `meta+k`のような修飾キーの組み合わせは文字を入力しないため、最初の押下で録音が始まります。トランスクリプトビューアーやvimのNORMALモードからも録音できます。
- ホールドモードで`v`のような単独の文字キーを割り当てると、ウォームアップ中にその文字が入力されてしまいます。
- `Caps Lock`はターミナルにキーイベントとして届かないため割り当てられず、エラーになります。

## 音声入力が動かないときのエラーメッセージ別の対処

表示されるメッセージで原因を切り分けられます。

| メッセージ                                            | 原因                  | 対処                        |
| ------------------------------------------------ | ------------------- | ------------------------- |
| `Unknown command: /voice`                        | APIキー等が優先されている      | 環境変数等を外して再起動              |
| `Voice mode requires a Claude.ai account`        | claude.aiのログインが無効   | `/login`し直す               |
| `disabled by your organization's policy`         | 組織ポリシーで無効           | 管理者に確認                    |
| `Microphone access is denied`                    | OSのマイク権限が無い         | OS設定で許可し再実行               |
| `requires SoX for audio recording`               | Linuxで録音手段が無い       | 表示されたコマンドでSoXを導入          |
| `SoX could not open an audio capture device`     | マイクが無いホスト           | マイクのあるマシンで実行              |
| `could not find a working audio recorder in WSL` | PulseAudioバックエンドが無い | `sox libsox-fmt-pulse`を導入 |
| `No audio detected from microphone`              | 無音を録音した             | 既定の入力デバイスと音量を確認           |
| `Voice connection failed`                        | 文字起こしサービスに届かない      | ネットワークを確認                 |
| `WebSocket upgrade rejected with HTTP 4xx`       | 古いログイン、またはプロキシ      | `/login`、VPN・プロキシを確認      |
| `No speech detected`                             | 言葉として認識されない         | マイクに近づき言語設定を確認            |
| `failing repeatedly and has been paused`         | 10秒間に3回失敗           | 上記の原因を直して再試行              |

`WebSocket upgrade rejected`は回線の不通ではなく、サーバーが接続を断ったことを示します。400番台なら、ログインの期限切れか、プロキシやボット対策のサービスが文字起こしサービスの代わりに応答していることが多い、と公式ドキュメントは説明しています。社内ネットワークで出る場合は、プロキシの許可設定を確認してください。

メッセージが出ないまま動かないケースも2つあります。ホールドモードでスペースを押し続けても空白が増え続けるだけなら、音声入力がオフです（`/voice hold`で有効化）。空白が1〜2個入って止まるなら、有効ではあるものの長押しを検知できていないので、タップモードに切り替えます。

## 公式/voiceとVoiceMode MCPの依存パッケージの違い

「Claude Code 音声入力」で見つかる解説（この記事の旧版を含む）には、Linuxで`ffmpeg`・`portaudio19-dev`・`pulseaudio`などを入れるよう求めるものがあります。これはコミュニティ製のVoiceMode MCP（GitHub：[mbailey/voicemode](https://github.com/mbailey/voicemode)）のREADMEにある依存パッケージで、公式の`/voice`の要件ではありません。公式機能はネイティブモジュールで録音し、Linuxで追加が要るのはフォールバック用の`arecord`か`rec`（SoX）だけです。WSLで要るのも`sox libsox-fmt-pulse`です。`/voice`を使うだけなら、VoiceMode MCPの手順は無視して構いません。

逆に、次のどれかに当てはまるなら、公式の`/voice`ではなく外部ツールを選ぶべきです。

- 音声を社外サーバーに送れない（公式は録音をAnthropicのサーバーへ送るため、ローカルで文字起こしするツールが要る）
- APIキーやBedrockでClaude Codeを使っている
- 応答を音声で聞きたい（公式は入力専用）

## 応答の読み上げ（TTS）と音声会話を足す方法

Claude Codeの`/voice`は入力専用で、**応答を読み上げる機能はありません**。「Claude Code 読み上げ」「claude tts」で探している場合は、次の3つから選びます。

### StopフックとOS音声合成による最終応答の読み上げ

いちばん手軽なのはフックです。Stopイベントはメインのエージェントが応答を終えたときに発火し、入力JSONの`last_assistant_message`に最終応答のテキストが入ります。[Hooksのリファレンス](https://code.claude.com/docs/en/hooks)も、読み上げや通知のフックではトランスクリプトファイルではなくこのフィールドを使うよう勧めています。トランスクリプトは非同期に書かれるため、フックの発火時点で直前の応答がまだ入っていないことがあるからです。

macOSなら標準の`say`コマンドに渡します。JSONを読む`jq`が無い環境ではHomebrewなどで導入してください。`~/.claude/settings.json`に次を追加します。

```
{
  "hooks": {
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "jq -r '(.last_assistant_message // empty)[:300]' | say -v Kyoko",
            "async": true
          }
        ]
      }
    ]
  }
}
```

- 2026年10月16日にClaude Code v2.1.299（macOS）で、このフックが`last_assistant_message`を受け取り、日本語音声Kyokoで読み上げることを確認しました。
- `"async": true`にすると、対話セッションでは読み上げを待たずに操作を続けられます。ただし、`claude -p`では終了時に実行中の非同期フックが打ち切られるため、最後まで読み上げる必要がある場合は同期実行にします。
- コードブロックを含む長い応答をそのまま読ませると聞き取れないため、`jq`の文字列スライスで先頭300文字に絞っています。`head -c`で切るとUTF-8の日本語が文字の途中で切れるので、文字数で切る`jq`のスライスを使います。
- 要約だけ聞きたいならCLAUDE.mdで「最後に1行で結論を書く」よう指示し、最終行だけを渡す方法もあります。
- Linuxでは`say`だけを`espeak-ng`に置き換えても動きません。`Kyoko`はeSpeak NGの音声名ではなく、eSpeak NGの[言語一覧](https://github.com/espeak-ng/espeak-ng/blob/master/docs/languages.md)は日本語に「ひらがなとカタカナ」と注記しているため、漢字交じりの応答はそのままでは読ませられません。日本語を読ませるなら、漢字に対応した別の音声合成エンジンを選びます。

フックの書き方とイベントの一覧は[Claude Code Hooksの設定方法](/tech/details/9864/)にまとめています。

### VoiceMode MCPによるWhisperと音声合成のローカル構成

VoiceMode（MITライセンス）は、Claude Codeと音声で「会話」するためのMCPサーバーです。入力と読み上げの両方を担い、Whisper.cppとKokoroをローカルで動かし、音声認識・音声合成の接続先（`VOICEMODE_STT_BASE_URLS`・`VOICEMODE_TTS_BASE_URLS`）をローカルのURLだけにすれば、音声を外部に送らずに動かせます。設定ガイドの例はローカルの後ろにOpenAIのURLを並べてクラウドへフォールバックさせる構成なので、外部送信を禁止するならOpenAIのURLを外します。ローカルのサービスを入れない場合はOpenAIのAPIを使います。対応OSはLinux・macOS・Windows（ネイティブ・WSL）・NixOSです。

```
# Claude Code プラグインとして導入する場合
claude plugin marketplace add mbailey/voicemode
claude plugin install voicemode@voicemode

# Claude Code 内で依存関係とローカル音声サービスを導入
/voicemode:install
/voicemode:converse
```

前の章で挙げた3条件（社外に音声を出せない・APIキーで使っている・応答も聞きたい）がそろうなら、こちらを選びます。

### Claudeアプリの音声モードとClaude Codeの/voiceの違い

「claude 音声会話」「claude ボイスモード 日本語」で探している機能は、Claude CodeではなくClaudeアプリの音声モードです。Claudeに話しかけて応答を音声で聞く会話機能で、条件が大きく異なります。

| 項目    | Claude Codeの/voice         | Claudeアプリの音声モード        |
| ----- | -------------------------- | ---------------------- |
| 役割    | プロンプトの音声入力                 | 音声での会話（読み上げあり）         |
| 対象プラン | claude.aiアカウントのClaude Code | Freeを含む全プラン（ベータ）       |
| 使える場所 | CLI・VS Code拡張              | iOS・Android・デスクトップ・Web |
| 利用上限  | 文字起こしは数えない                 | 通常の上限に数える              |
| 日本語   | `language`設定で対応            | 英語以外はベータ               |

## Aqua Voiceなど外部の音声入力アプリとの組み合わせ

公式の`/voice`が使えない環境や、Claude Code以外のアプリでも同じ音声入力を使いたい場合は、OS全体で動く音声入力アプリを使います。これらは文字起こし結果をカーソル位置に入力する仕組みなので、Claude Code側の設定は要りません。

| 手段                 | 対応OS                      | 向く場面                |
| ------------------ | ------------------------- | ------------------- |
| Claude Codeの/voice | macOS・Windows・Linux       | claude.aiログインで手元のPC |
| Aqua Voice         | macOS・Windows・iOS・Android | 他のアプリでも同じ辞書を使う      |
| Wispr Flow         | Mac・Windows・iOS・Android   | 無料枠はデスクトップで週2,000語  |
| Windowsの音声入力       | Windows                   | `Windows+H`で起動      |
| VoiceMode MCP      | Linux・macOS・Windows       | ローカル処理・読み上げが要る      |

### Aqua VoiceをClaude Codeで使うときの手順と注意

Aqua Voiceは公式サイトに[Claude Code向けの使い方ページ](https://aquavoice.com/use-cases/claude-code)を設けています。手順は、Claude Codeを動かしているターミナル（Ghostty・iTerm・Warp・Terminal・エディター内蔵のもの）を開き、設定したキーを押しながら話して離すだけです。文字起こし結果がプロンプトに入ります。

- **SSH先やtmuxでも使える**：Aqua VoiceはOS全体の入力層として動くため、同じキーがSSH接続やtmuxのペインでも効きます。公式の`/voice`はSSH接続では使えないので、リモートのサーバーでClaude Codeを動かす人にはここが決め手になります。
- **単語登録で補う**：`/voice`が自動で渡すヒントはプロジェクト名とブランチ名だけです。Aqua Voiceの同ページは、リポジトリ名・パッケージ名・ブランチ名をカスタム辞書に登録するよう勧めています。
- **無料枠は累計1,000語**：毎週戻る枠ではなく、使い切ったら有料プランに移ります。Proは年払いで月8ドルです（[料金ページ](https://aquavoice.com/pricing)、2026年10月16日時点）。

Linux版は無く、対応はMac・Windows・iPhone・Androidです。Linuxのデスクトップで外部の手段を使うなら、VoiceMode MCPを選びます。

### 外部アプリと/voiceの使い分け

claude.aiでログインしていて使うのがClaude Codeだけなら、`/voice`を選ぶ方が手間も費用もかかりません。プロジェクト名とブランチ名を自動でヒントにでき、文字起こしが上限に数えられないためです。外部アプリを選ぶのは、SSH先でClaude Codeを動かす場合と、Claude Code以外のアプリでも同じ単語登録を使い回したい場合です。Windowsの音声入力はAzure Speech servicesによるオンラインの音声認識を使うため、社外に音声を出せない環境では公式`/voice`と同じ制約がかかります。各アプリの料金とプランは頻繁に変わるため、導入前に公式の料金ページで確認してください。

同じ用途でOpenAIのCodexを使う場合、音声入力はデスクトップアプリとCLIで仕組みも提供状況も異なります。設定方法は[Codexの音声入力とは？App・CLIの2系統と設定方法・Windows対応を解説](/tech/details/12799/)で、ツール全体の選び方は[CodexとClaude Codeの違い](/tech/details/17627/)で扱っています。

## よくある質問

### Claude Codeの音声入力はWindowsで使えますか？

使えます。WindowsはネイティブのClaude Codeでそのまま`/voice`が動きます。WSLで動かす場合はWSLgが必要で、`sudo apt install sox libsox-fmt-pulse`でSoXのPulseAudioバックエンドを入れます。WSL1ではWindowsネイティブ版を使ってください。

### 音声入力で日本語が認識されず英語になるのはなぜですか？

`language`設定が空の場合は、英語として文字起こしされます。`/config`でLanguageを日本語にするか、設定ファイルに`"language": "japanese"`を書いてから`/voice`を実行し直してください。有効化時の表示が`Dictation language: ja`になっていれば反映されています。

### Claude Codeに応答を読み上げる（TTS）機能はありますか？

標準ではありません。`/voice`は入力専用です。読み上げたい場合は、Stopフックで`last_assistant_message`をmacOSの`say`などに渡すか、入力と読み上げの両方を担うVoiceMode MCPを導入します。

### Claudeのデスクトップアプリやスマホでも音声入力できますか？

Claudeのデスクトップアプリとスマホアプリのチャットには音声入力（ディクテーション）があり、デスクトップではLinuxだけが未対応です。Macでは、クイック入力の音声ショートカットを設定で有効にすると、Caps Lockで話せます（macOS 14以降）。ただし、Claude Codeの`/voice`について公式ドキュメントが対象としているのはCLIとVS Code拡張で、デスクトップアプリのCodeタブ・スマホ・Remote Controlのページには記載がありません。

### WhisperでオフラインのClaude Code音声入力はできますか？

公式の`/voice`は音声をAnthropicのサーバーに送るため、オフラインでは使えません。音声処理をローカルで行う場合は、Whisper.cppとKokoroを使うVoiceMode MCPが候補です。ただし、Claude Codeによる応答生成までオフラインになるわけではありません。

## 関連記事

- [Claude Codeの使い方｜導入から権限とCLAUDE.md設定まで実務手順](/tech/details/17375/)
- [Claude Code Hooksの設定方法｜全33イベント一覧とsettings.jsonの書き方【2026年9月版】](/tech/details/9864/)
- [Claude Code for VS Codeの使い方：公式docsの読み方・インストール・タブ補完非対応の回避策【2026年10月版】](/tech/details/10685/)
- [Claude Codeデスクトップアプリの使い方｜対応OS・4つの実行環境・定期実行の上限【2026年7月最新】](/tech/details/11800/)
- [Codexの音声入力とは？App・CLIの2系統と設定方法・Windows対応を解説【2026年版】](/tech/details/12799/)

---

出典: [Claude Codeの音声入力（/voice）の使い方｜日本語設定・Windows対応と読み上げ【2026年10月】](<https://www.issoh.co.jp/tech/details/11199/>)（株式会社一創）
