claude-code-notifier
使い方 ガイド よくある質問
◐日本語
English العربية Deutsch Español Français עברית Italiano 日本語 한국어 Nederlands Polski Português (Brasil) Русский Türkçe Tiếng Việt 简体中文 繁體中文
はじめる
すべてのガイド

Windows での Claude Code 通知(PowerShell と WSL)

更新日: 2026年10月31日 · 6 分で読めます
このページの内容 01ネイティブ Windows か WSL か:hook の実行場所 02手軽な確認方法:terminal のベル 03PowerShell を使った Notification hook 04BurntToast で本物のトーストを表示する 05WSL から:相互運用機能で Windows を呼び出す 06Claude Code Notifier の位置づけ 07よくある質問

Claude Code は Windows Terminal、PowerShell、VS Code の terminal ではデフォルトでデスクトップ通知を表示しないため、Windows では自分で追加する必要があります。%USERPROFILE%\.claude\settings.json に、PowerShell を実行する Notification hook(完了通知には Stop hook も)を追加します。メッセージボックスなら何もインストールせずに使え、BurntToast モジュールを使えば本格的なトーストを表示できます。Claude Code を WSL 内で実行している場合、hook は Linux 上で実行されるため、Windows のデスクトップに届けるには Windows 相互運用機能経由で powershell.exe を呼び出す必要があります。

01ネイティブ Windows か WSL か:hook の実行場所

Claude Code は Windows 上でネイティブに実行するか、WSL 内で実行するかのどちらかで、これによって通知 hook の動き方が変わります。

  • ネイティブ Windows。設定は %USERPROFILE%\.claude\settings.json にあります。Anthropic の hooks リファレンスによると、コマンド hook はデフォルトで Git Bash 上で実行され、Git Bash がインストールされていない場合は PowerShell で実行されます。"shell": "powershell" を指定すると個別の hook で PowerShell を強制できます。その場合、Claude Code は pwsh.exe(PowerShell 7)が見つかればそれを使い、なければ powershell.exe(Windows PowerShell 5.1)を使います。
  • WSL。claude は WSL の terminal 内でインストール・実行するため、設定ファイルはディストリビューション内の Linux 側の ~/.claude/settings.json になり、hook は Linux のシェルで実行されます。そこで notify-send を使っても、通常 Windows のデスクトップには届きません。代わりに Windows のプログラムを呼び出してください。

02手軽な確認方法:terminal のベル

最も簡単な合図はベルです。設定ファイルに次を追加します:

{
  "preferredNotifChannel": "terminal_bell"
}

これで Claude Code は、完了時や入力待ちのときにベル文字を送信します。Windows Terminal では、ベルの動作はプロファイルごとに settings.json の bellStyle で設定します。"bellStyle": ["window", "taskbar"] にすると、音を鳴らす代わりにウィンドウとタスクバーのボタンが点滅します。詳しくは terminal ベルのガイドを参照してください。ただし、terminal が見えている間しか役に立ちません。

03PowerShell を使った Notification hook

Anthropic の hooks ガイドにある Windows 向けの例です。何もインストールせずに動作します:

{
  "hooks": {
    "Notification": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "powershell.exe -Command \"[System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms'); [System.Windows.Forms.MessageBox]::Show('Claude Code needs your attention', 'Claude Code')\""
          }
        ]
      }
    ]
  }
}

画面隅のトーストではなくダイアログボックスが開き、terminal の背後に表示されることもあります。まず PowerShell でコマンドを試してください。Claude Code で /hooks と入力すると、hook が読み込まれているか確認できます。

matcher が空の場合、permission_prompt(承認待ちが約 6 秒続いた)や idle_prompt(Claude が約 60 秒前に完了した)を含むすべての通知タイプで発火します。タイミングについては Notification hook ガイドで説明しています。

04BurntToast で本物のトーストを表示する

BurntToast は、Windows のトースト通知用に広く使われている、コミュニティ製の PowerShell モジュールです。ユーザー単位で一度インストールします:

Install-Module -Name BurntToast -Scope CurrentUser

動作を確認します:

New-BurntToastNotification -Text 'Claude Code', 'Claude needs your attention'

hook で使います。このバージョンはプロファイルなしで PowerShell を起動し、この呼び出しに限って実行ポリシーを回避するため、Git Bash からでも PowerShell からでも同じように動作します:

{
  "hooks": {
    "Notification": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "powershell.exe -NoProfile -ExecutionPolicy Bypass -Command \"New-BurntToastNotification -Text 'Claude Code', 'Claude needs your attention'\""
          }
        ]
      }
    ],
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "powershell.exe -NoProfile -ExecutionPolicy Bypass -Command \"New-BurntToastNotification -Text 'Claude Code', 'Claude has finished'\"",
            "async": true
          }
        ]
      }
    ]
  }
}

Stop hook は毎ターンの終わりに実行されるため、タスクの完了を 1 分後ではなくすぐに知ることができます。Stop hook ガイドを参照してください。"async": true を指定すると hook がバックグラウンドで実行されるため、PowerShell の起動が遅くても Claude Code が待たされません。

トーストがまったく表示されない場合は、設定 > システム > 通知 を確認してください。通知がオンで、応答不可がオフになっている必要があります。BurntToast のトーストは通常そこで Windows PowerShell の項目として表示されるため、その通知も許可しておく必要があります。

05WSL から:相互運用機能で Windows を呼び出す

WSL 内では hook は Linux 上で実行されますが、WSL は .exe の名前で Windows のプログラムを起動できます。Anthropic のガイドでは、Windows 相互運用機能によって powershell.exe が PATH に含まれている必要があると説明されています。これはデフォルトで有効で、/etc/wsl.conf の [interop] セクションにある appendWindowsPath で制御されます。WSL のシェルから確認してください:

command -v powershell.exe

Windows 側に BurntToast をインストールしておけば、WSL の ~/.claude/settings.json に書く hook も同じコマンドです:

{
  "hooks": {
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "powershell.exe -NoProfile -ExecutionPolicy Bypass -Command \"New-BurntToastNotification -Text 'Claude Code', 'Claude has finished'\"",
            "async": true
          }
        ]
      }
    ]
  }
}

WSL から Windows PowerShell を起動すると 1 秒以上かかることがあり、これも "async": true を使う理由の一つです。

06Claude Code Notifier の位置づけ

ここまでの hook は、席にいるときなら十分です。しかし席を離れると役に立たず、トーストから Claude のコマンドを承認することもできません。

Claude Code Notifier は、Claude Code の hooks を基盤にした独立したツールです(Anthropic ではなく TouchTap が開発)。無料のコマンドラインツール ccn は Mac、Windows、Linux で動作します(Windows 版はベータ)。ネイティブ Windows では PowerShell からインストールします:

irm https://claudecodenotifier.com/install.ps1 | iex

Claude Code の設定に hook のエントリを追加し、ファイルのほかの部分には手を加えず、バックアップも保存します。インストール直後から、Claude の完了時、権限が必要なとき、質問があるときに Windows のトーストを表示します。スマートフォンもネットワークも不要です。terminal ではなく Claude Code に hook するため、Windows Terminal、PowerShell、IDE の terminal のどれでも同じように動作します。

Claude Code を WSL で実行している場合は、Claude Code とその設定がある WSL 内に、Linux 用のコマンドで ccn をインストールしてください:

curl -fsSL https://claudecodenotifier.com/install.sh | sh

その後 ccn test を実行します。WSL 内からのデスクトップ通知が Windows のデスクトップに届くかどうかは WSL の構成次第なので、WSL ではスマートフォン経由が確実です。スマートフォンをペアリングすると、イベントが push 通知で届き、権限を一度だけ許可・セッション中は許可・拒否したり、Claude の質問に答えたり、次の指示を送ったりをスマートフォンから行えます。スマートフォンアプリについては、スマートフォンのペアリング、ccn のページ、料金を参照してください。

ccn をインストールする場合は、通知が重複しないよう、自分で設定した toast 用の hook を削除してください。

07よくある質問

Windows で PowerShell の hook が何もしないのはなぜですか?

まず、同じコマンドを PowerShell で直接実行してみてください。そこで動くなら、/hooks に hook が表示されているか、JSON のエスケープが正しいか(内側の " にはすべてバックスラッシュが必要)を確認します。BurntToast の場合は、Claude Code を実行するのと同じユーザーにモジュールがインストールされているか、また応答不可(Do Not Disturb)がオフになっているかも確認してください。

Windows 版 Claude Code で hook を使うには Git Bash が必要ですか?

いいえ。Git for Windows がインストールされていれば hook は Git Bash で、なければ PowerShell で実行されます。個々の hook に "shell": "powershell" を指定することもできます。

notify-send は WSL で使えますか?

Windows のデスクトップに通知を出す目的では、通常は使えません。確実なのは、上で紹介したように WSL の相互運用機能を使って hook から powershell.exe を呼び出す方法です。

Windows Terminal だけで Claude Code の通知を表示できますか?

デフォルトではできません。preferredNotifChannel を terminal_bell に設定し、ウィンドウやタスクバーが点滅する bellStyle を選ぶか、toast を出す hook を使ってください。

Windows の通知を無料で受け取る方法はありますか?

はい。上記の PowerShell hook も、ccn のデスクトップ通知も無料です。サブスクリプションまたは買い切り購入が必要なのはスマホアプリだけです。

Claude Code Notifier Claude Code の処理完了や入力待ちをスマートフォンへの push で受け取り、そのまま承認・拒否・回答できます。ccn コマンドラインツールは Mac、Windows、Linux で無料で使えます。
iOS 版をダウンロード Android 版をダウンロード ccn をインストール

関連ガイド

  • Claude Code の hook 解説: 全イベントとその用途Claude Code の hook とは何か、settings.json のどこに書くのか、matcher・入力・終了コードの仕組み、各 hook イベントの用途を解説します。
  • Claude Code の Notification hook:発火するタイミングと使い方Claude Code の Notification hook がいつ発火するのか、permission_prompt と idle_prompt の意味、受け取る入力、そして発火前に待機する理由を解説します。
  • Linux で Claude Code の通知を受け取るClaude Code の処理完了時や入力待ちのときに Linux のデスクトップ通知を出す方法を紹介します:notify-send の hook、サウンド、ターミナルのエスケープシーケンス、そして ccn。
  • VS Code、Cursor、JetBrains のターミナルで Claude Code の通知を受け取るClaude Code の作業完了時に IDE のターミナルが無反応な理由と、設定や hook を使って VS Code、Cursor、JetBrains で通知を受け取る方法を解説します。
claude-code-notifier

Claude Code Notifier は独立したサードパーティ製アプリケーションです。Anthropic, PBC との提携関係はなく、同社による承認や後援も受けていません。「Claude」および「Claude Code」は Anthropic, PBC の商標です。

アプリ iOS アプリ Android アプリ macOS・Windows・Linux 用 ccn すべてのガイド
法的情報 プライバシーポリシー 利用規約 その他の言語 © 2026 touchtap. 無断複写・転載を禁じます。 TouchTap Ltd はイングランド・ウェールズで登記されています(会社番号 13942589)。