【結論】Windows通知はHookとPowerShellで実装する
WindowsでもNotification Hookを使えば、Claudeが入力待ちになった時やSessionが停止した時に音やToast通知を出せます。
対話Modeで動かないCommand連結より、Event駆動のHookを優先します。
# PowerShellで実行:Claude Codeを起動
claude
# 起動後のセッション内で実行:Notification Hookを設定
/hooks具体的な手順・設定方法
- Notification EventにPowerShell Scriptを登録し、まず
[console]::Beep(1000,300)で動作確認します。 - Toast通知が必要なら組織承認済みModuleまたはWindows標準APIを使い、Install sourceを確認します。
- Hook commandにはPrompt本文やFile内容を渡さず、固定MessageとProject名程度に限定します。
実践プロンプト / 活用テクニック
設定案を生成させるPromptです。
# 起動後のセッション内で実行
Windows 11向けのNotification Hookを設定します。
Claudeが入力待ちになった時だけ短いBeepを鳴らすPowerShell Commandとsettings.json例を提示してください。実際に保存する前にJSONとCommandをレビューします。
注意点・よくあるエラーと対処法
PowerShell 5.1と7ではCommand連結やModule動作が異なるため、$PSVersionTable.PSVersionで確認します。
会社PCではToast Moduleの追加InstallがPolicy違反になる場合があるため、標準BeepやTerminal bellを選びます。
Remote sessionや通知OFF設定では表示されないため、Hook logとWindows通知設定を確認します。