こんにちは!
IT初心者の私が、ついにWSL(Windows Subsystem for Linux)上で「Claude Code」を使って、タスク完了時にWindowsの通知を出すことに成功しました!
設定は思った以上にややこしく、何度も壁にぶつかりました…。
でも、だからこそ分かった「つまずきポイント」と「解決のコツ」を、この記事で丁寧にシェアしていきます!
「通知が出ない…」
「なんか動かない…」
「エラーの意味がわからない…」
そんな風に悩んでいるあなたでも、この記事のとおり進めれば絶対にできます!
🎯 目標:WSL上でClaude Codeを動かし、Windowsに通知を出す!
最終的に目指すのは、以下のような環境です:
- Ubuntu(WSL)上で
claude
コマンドが動く - タスクが終わったら、Windows側でポップアップ通知が出る
これができると、「処理が終わったかどうか、いちいち画面を見なくてOK!」になります。最高です。
💥 よくあるつまずきポイントとその理由
実際に私がハマった落とし穴と、その解決策を表にまとめました:
つまずきポイント | 症状 | 原因 | 解決方法 |
---|---|---|---|
WSLとWindowsのパスがごちゃ混ぜ | explorer.exe ~/.claude が変な場所を開く | ~ が Windows 側の「ドキュメント」扱いに | \\wsl.localhost\Ubuntu\home\あなたのユーザー名\.claude を使う |
rootで起動していた | 設定が効かない・通知が出ない | configファイルを見ていない | WSLのユーザーを あなたのユーザー名 に固定する |
claude: command not found | claude が動かない | Windowsのnpmを見ている | Node.jsとnpmをWSL内でインストールしなおす |
npm install で失敗 | 「Windowsでは動かない」などのエラー | Windows側のnpmが動いていた | which npm で確認して、WSL内のnpmを使うように |
🛠 環境を整えるステップバイステップ
ここからは、初心者でも迷わないように、丁寧にステップごとに解説していきます。
✅ ステップ① WSLのユーザーを固定する
まずはWSLでいつも使うユーザー(例:yourname
)を指定して、rootで実行されないようにします。
WindowsのPowerShellを開いて、以下を実行してください:
wsl -d Ubuntu-22.04 --set-default-user yourname
yourname
は、Ubuntuで普段使っているユーザー名に置き換えてください。
これで、WSLを起動したときに root ではなく yourname
で自動ログインされるようになります。
✅ ステップ② Node.jsとnpmをWSL内でインストールする
方法1:nvmを使う(おすすめ)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install 22
nvm use 22
nvm alias default 22
source ~/.bashrc
を忘れるとnvm
が使えません!
方法2:aptでインストールする(簡単だけど古め)
npm install -g @anthropic-ai/claude-code
インストールが終わったら、claude
コマンドが動くか試してみてください。
claude "Hello Claude!"
✅ ステップ④ 通知設定ファイルを作る
.claude
フォルダを作って、そこに通知の設定ファイルを保存します。
mkdir -p ~/.claude
explorer.exe "\\wsl.localhost\Ubuntu\home\yourname\.claude"
するとWindows側でエクスプローラーが開きます。そこに config.yml
を新規作成してください。
中身は以下のとおり:
notifications:
on_idle:
command: "powershell.exe -c \"Add-Type -AssemblyName System.Windows.Forms; [System.Windows.Forms.MessageBox]::Show('Task Completed', 'Claude Code')\""
enabled: true
on_error:
command: "powershell.exe -c \"Add-Type -AssemblyName System.Windows.Forms; [System.Windows.Forms.MessageBox]::Show('Task Failed', 'Claude Code')\""
enabled: true
ポイント:
- 拡張子
.yml
に注意(.txt
にならないように)ダブルクォート
とバックスラッシュ
を忘れずに
✅ ステップ⑤ 通知テストで動作確認
設定が正しければ、以下のコマンドで通知が出るはずです:
claude config test-notify
成功すれば、Windowsのポップアップが表示されます! 🎉
🔍 最後にもう一度!チェックリスト
確認すること | 内容 |
---|---|
whoami の結果が root ならアウト | wsl -u yourname で再ログイン |
which npm が C:\ になってたらNG | Node.jsをWSL内で再インストール |
.yml ファイルが .txt になってないか? | 拡張子を表示して確認 |
通知設定にダブルクォート忘れがち | YAML内では特に注意 |
📘 まとめ:WSLでClaudeを使いこなすための5ステップ
- ユーザーを root ではなく自分のユーザーに固定
- Node.js と npm をWSL内にちゃんとインストール
- Claude CLIを
npm install -g
でインストール .claude/config.yml
を作り、通知設定を記述claude config test-notify
で通知をチェック!
💬 最後に
この記事は「何もわからなくても最後までできるように」を意識して書きました。
「なんで通知が出ないんだ!?」と何時間も悩んだ私の経験が、少しでも誰かの助けになりますように。
質問があれば、X(旧Twitter)などで聞いてくれてもOKです!応援しています!