Claude Codeの音声入力(/voice)をWSL2で使う

Claude Codeの音声入力(/voice)をWSL2で使う AI
Claude Codeの音声入力(/voice)をWSL2で使う

はじめに

Claude Code には /voice という音声入力機能があり、話した内容をそのままプロンプトにできます。ただし WSL2 上で動かすと、最初は「録音ツールが見つからない」というエラーで止まりました。

この記事では、Windows 11 + WSL2 の環境で Claude Code の音声入力を使えるようにするまでの手順を、実際に出たエラーと対処を含めてまとめます。長い指示や、バグの経緯を説明するときにキーボードを打たずに済むのが目的です。

前提条件

音声入力を使うには、次の3つがそろっている必要があります(公式ドキュメント)。

項目 条件
Claude Code のバージョン v2.1.69 以降
ログイン方法 claude.ai アカウント(APIキー、Bedrock、Vertex では使えない)
WSL で使う場合 WSLg が有効な WSL2(音声を PulseAudio 経由で扱うため)

なお、音声はローカルのマイクから取り込むため、SSH 接続先や Web 版の Claude Code では使えません。WSLg が使えない環境(WSL1 など)では、Windows ネイティブで Claude Code を動かすよう案内されています。

手順1:バージョンを確認する

まずターミナルでバージョンを確認します。

claude --version

私の環境では 2.1.310 (Claude Code) と表示され、条件の v2.1.69 以降を満たしていました。

手順2:言語を日本語に設定する

音声入力は、Claude の応答言語と同じ language 設定を使って文字起こしします。設定していないと英語として聞き取られるため、日本語で話すなら先に変えておきます。

Claude Code のプロンプトで /config を開き、言語(language)を日本語に設定してください。

手順3:/voice を実行する(WSL でエラー)

Claude Code のプロンプトで /voice を実行すると音声入力が有効になります。初回はマイクのチェックが走り、成功すれば Voice mode enabled (hold) と表示されます。

ところが WSL2 上では、次のメッセージで止まりました。

Voice mode could not find a working audio recorder in WSL.

WSL2 with WSLg provides audio via PulseAudio — install SoX with its
PulseAudio backend (sudo apt install sox libsox-fmt-pulse) so Claude Code
can record through it.

If WSLg is not available (for example WSL1), run Claude Code in native
Windows instead.

要するに「WSL 内に録音ツールがない」ということです。WSLg が PulseAudio で音声を提供しているので、SoX(録音ツール)とその PulseAudio 用バックエンドを入れれば録音できる、という案内になっています。

手順4:WSLg が有効か確認する

SoX を入れる前に、WSLg が動いているかを確かめます。WSL のターミナルで次を実行します(Claude Code 内なら先頭に ! を付けても実行できます)。

ls /mnt/wslg
echo $PULSE_SERVER

/mnt/wslg の中に PulseServer などがあり、$PULSE_SERVER に unix:/mnt/wslg/PulseServer のような値が出れば WSLg は有効です。何も出ない場合は WSLg が使えていないので、Windows ネイティブで Claude Code を動かす方法を検討します。

手順5:SoX をインストールする

エラーメッセージの案内どおり、SoX と PulseAudio 用バックエンドを入れます。

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

root ユーザーで作業している場合は sudo は不要です。

手順6:マイクのテスト

Claude Code に戻る前に、録音できるかを単体で確認しておくと切り分けが楽です。

rec -d test.wav trim 0 3
play test.wav

3秒録音して再生され、自分の声が聞こえれば OK です。無音の場合は、Windows の「設定 → プライバシーとセキュリティ → マイク」で「デスクトップ アプリがマイクにアクセスできるようにする」がオンになっているか確認してください。

使い方とまとめ

準備ができたら、Claude Code で再度 /voice を実行します。使い方は2つのモードがあります。

モード 有効にするコマンド 動き
ホールド(既定) /voice hold スペースキーを押している間だけ録音し、離すと文字起こしがプロンプト欄に入る。確認して Enter で送信
タップ /voice tap タップで録音し、文字起こしが3語以上あれば自動で送信される

オフにするときは /voice off です。設定はセッションをまたいで保持されます。

WSL2 で使う場合のポイントは、WSLg が有効であることと、SoX(sox と libsox-fmt-pulse)を入れておくことの2点でした。エラーメッセージが具体的な対処まで書いてくれているので、まずはそれに従うのが近道です。

参考:Voice dictation(Claude Code 公式ドキュメント)

Views: 2