2026年4月5日

Claude Codeの通知機能を完全解説【2026年最新】:音・設定・Hooks活用まで

Claude Codeの通知機能を完全解説【2026年最新】:音・設定・Hooks活用まで

室谷室谷代表取締役
今日はClaude Codeの通知について話しましょうか。これ、地味に大事なテーマで・・・「処理が終わったのに気づかない」「ずっと画面を見てた」という話、.AI(ドットエーアイ)コミュニティでもよく聞くんですよね。
テキトー教師テキトー教師DotAI 認定講師
わかります。コードの生成や長めのタスクを走らせながら他のことしてると、いつ終わったか気づけないんですよね。

で、気づいたらClaude Codeが返答待ちになってた、みたいなことが起きる(笑)
室谷室谷代表取締役
MYUUUでも同じことがあって。エンジニアが「Claude Code走らせてる間に別の作業してたら終わってるのに気づかなかった」って言ってたんですよ。

ここ、通知を正しく設定するだけで生産性がぜんぜん変わるんですよね。
テキトー教師テキトー教師DotAI 認定講師
通知の設定を知らないまま使い続けてる人、思ったより多いと思いますよ。というより、デフォルトでどう動くのかが把握されていないケースが多い印象です。

Claude Codeの通知はどういうときに発火するか

Claude Code Hooksリファレンス - 通知イベントの種類と設定方法(公式サイトより)

室谷室谷代表取締役
まず仕組みから確認しましょう。Claude Codeの通知(Notification)は、公式ドキュメントによると4種類のタイプがあります。
通知タイプいつ発火するか
permission_promptClaude Codeが操作の許可を求めるとき
idle_promptClaude Codeがアイドル状態になったとき(入力待ち)
auth_success認証が成功したとき
elicitation_dialogMCPサーバーがユーザー入力を求めるとき
テキトー教師テキトー教師DotAI 認定講師
この中で日常的に関係するのは idle_promptpermission_prompt ですね。「Claude Codeが止まった」ときがほぼこの2つ。

コミュニティのメンバーさんに「どんなときに通知が来ると嬉しいか」を聞くと、大半は「処理が終わったとき」と「許可を求めてきたとき」と答えます。
室谷室谷代表取締役
そうですよね。auth_successelicitation_dialog は特殊な状況なので、基本は2つを押さえれば十分です。
テキトー教師テキトー教師DotAI 認定講師
注意点として、通知はデフォルトだとOSのデスクトップ通知として表示されます。ただしMacの場合、システム設定でClaude Codeの通知を許可していないと届かないんですよね。
室谷室谷代表取締役
これ、はまりポイントですね。「設定したはずなのに通知が来ない」という原因のほとんどがここです。

Mac・Windowsで通知を有効化する方法

テキトー教師テキトー教師DotAI 認定講師
まずOSレベルでの許可を確認しましょう。Macの場合、Claude Codeを初めて起動したときに「通知を許可しますか?」というダイアログが出ます。

ここで「許可」を選んでいないと、何を設定しても通知が来ません。
室谷室谷代表取締役
見逃してた人はMacの「システム設定 → 通知」からClaude Codeを探して、手動でオンにすればOKです。
テキトー教師テキトー教師DotAI 認定講師
Windowsの場合は「設定 → システム → 通知」に進んで、Claude Codeのエントリを探してオンにします。WSL環境で使ってる人はここが少し複雑で、WSL側ではなくWindowsのデスクトップ通知として受け取る形になります。
室谷室谷代表取締役
WSLだと通知音が鳴らないという声もコミュニティで聞きます。これは後ほど話すHooksで解決できるんですよね・・・
テキトー教師テキトー教師DotAI 認定講師
そうですね。OSの通知に依存しないで、自分でカスタムスクリプトを書いてしまう方が柔軟性が高いです。

Claude Codeの通知設定:settings.jsonの使い方

室谷室谷代表取締役
Claude Codeの設定ファイルは settings.json で管理されます。通知設定は ~/.claude.json にも含まれていて、テーマや通知設定、エディターモードといった個人設定が保存されています。
テキトー教師テキトー教師DotAI 認定講師
settings.json は複数のスコープで管理されます。
ファイルスコープ共有
~/.claude/settings.json全プロジェクト共通ローカルのみ
.claude/settings.jsonプロジェクト単位リポジトリにコミット可
.claude/settings.local.jsonプロジェクト単位gitignore(コミット不可)
室谷室谷代表取締役
自分だけの通知設定は ~/.claude/settings.json に書けばよくて、チームで共有したい設定は .claude/settings.json に書く、という使い分けですね。
テキトー教師テキトー教師DotAI 認定講師
あと、インタラクティブモードで /config コマンドを実行すると、GUIで設定を変更できます。コマンドに慣れてない人はここから始めた方がわかりやすいかもしれません。

Claude Code通知の本命:Hooksで完全カスタマイズ

Claude Code通知フロー図 - idle_prompt・permission_prompt・auth_successから各通知先への流れ

室谷室谷代表取締役
ここが今回の記事のメインですね。Claude Codeには「Hooks」という機能があって、通知イベントを起点に自分でシェルスクリプトやHTTP呼び出しを実行できるんですよ。
テキトー教師テキトー教師DotAI 認定講師
Hooksは公式ドキュメントで体系化されていて、Notification フックが通知専用のイベントです。settings.json に設定を書くと、通知タイプに応じて異なるスクリプトを実行できます。
室谷室谷代表取締役
公式の設定例がこれです。
json
{
  "hooks": {
    "Notification": [
      {
        "matcher": "permission_prompt",
        "hooks": [
          {
            "type": "command",
            "command": "/path/to/permission-alert.sh"
          }
        ]
      },
      {
        "matcher": "idle_prompt",
        "hooks": [
          {
            "type": "command",
            "command": "/path/to/idle-notification.sh"
          }
        ]
      }
    ]
  }
}
テキトー教師テキトー教師DotAI 認定講師
この設定で「許可が必要なとき」と「アイドルになったとき」で別々のスクリプトを走らせられます。スクリプトの中身は自由なので、音を鳴らすのも、Discordに通知を飛ばすのも、スマホにプッシュ通知を送るのも可能です。
室谷室谷代表取締役
HooksはJSONの入力データも受け取れます。Notification フックには以下のフィールドが渡されます。
json
{
  "session_id": "abc123",
  "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",
  "cwd": "/Users/...",
  "hook_event_name": "Notification",
  "message": "Claude needs your permission to use Bash",
  "title": "Permission needed",
  "notification_type": "permission_prompt"
}
テキトー教師テキトー教師DotAI 認定講師
messagetitlenotification_type が使いやすいですね。スクリプト側でこれを読んで、通知タイプに応じてメッセージを出し分けるのが定番の使い方です。

通知音の設定(Mac・Windows別)

室谷室谷代表取締役
Macでは afplay コマンドで音声ファイルを再生できます。Hooksスクリプトの中でこれを呼び出すのが一番シンプルです。
テキトー教師テキトー教師DotAI 認定講師
afplay /System/Library/Sounds/Glass.aiff でシステムのサウンドを再生できますよね。Macユーザーならこれで十分なことが多いです。
室谷室谷代表取締役
Windowsは PowerShell を使います。[System.Media.SystemSounds]::Beep.Play() や、カスタム .wav ファイルを再生する System.Media.SoundPlayer クラスを使う方法があります。
テキトー教師テキトー教師DotAI 認定講師
WSLで使ってる人は少し工夫が必要です。WSL内のシェルからWindowsのコマンドを呼ぶ方法として、powershell.exe -Command "..." を使う形になります。

claude code 通知 wsl で調べてる人の多くがここで詰まるポイントです。
室谷室谷代表取締役
Ghosttyユーザーは、ターミナル自体のbell機能で通知を実現するのが手軽です。printf '\a' をスクリプトに入れるだけでターミナルベルが鳴ります。

Mac向け:処理完了通知スクリプト

テキトー教師テキトー教師DotAI 認定講師
Macで「処理が終わったとき」にサウンドとOSの通知を両方出す実用的なスクリプトを見てみましょう。
bash
#!/bin/bash
# ~/.claude/hooks/notify-idle.sh

# JSONを読み込む
INPUT=$(cat)
MESSAGE=$(echo "$INPUT" | jq -r '.message // "Claude Codeが入力を待っています"')
TITLE=$(echo "$INPUT" | jq -r '.title // "Claude Code"')

# 通知音を鳴らす
afplay /System/Library/Sounds/Glass.aiff

# OSの通知を表示
osascript -e "display notification \"$MESSAGE\" with title \"$TITLE\""
室谷室谷代表取締役
osascript を使ってMacの通知センターに出せるのが便利ですよね。許可が求められたときは音を変えたり、Slackに通知するスクリプトを追加したりと、拡張しやすい構造です。

Claude Code通知をスマホに飛ばす方法

テキトー教師テキトー教師DotAI 認定講師
講座でこの内容を紹介すると「スマホに通知を飛ばしたい」という質問が必ず出ます。ntfy.sh が無料で使えて手軽なのでおすすめしています。
室谷室谷代表取締役
ntfy を使う場合、スクリプトはシンプルです。
bash
#!/bin/bash
# スマホにプッシュ通知を送る
INPUT=$(cat)
MESSAGE=$(echo "$INPUT" | jq -r '.message // "Claude Codeが入力を待っています"')

curl -d "$MESSAGE" ntfy.sh/your-topic-name
テキトー教師テキトー教師DotAI 認定講師
トピック名を自分だけが知る名前にして、スマホに ntfy アプリをインストールしてそのトピックを購読すればOK。無料でプッシュ通知が届きます。
室谷室谷代表取締役
Discordに飛ばしたい場合はWebhook URLを使います。設定のパターン自体は同じで、curl -X POST でWebhookにPOSTするだけですね。
bash
#!/bin/bash
INPUT=$(cat)
MESSAGE=$(echo "$INPUT" | jq -r '.message // "Claude Codeが止まっています"')
WEBHOOK_URL="https://discord.com/api/webhooks/your-webhook-url"

curl -H "Content-Type: application/json" \
  -d "{\"content\": \"$MESSAGE\"}" \
  "$WEBHOOK_URL"
テキトー教師テキトー教師DotAI 認定講師
claude code 通知 discordclaude code 通知 slack で調べてる人もここが答えです。Slackも同じパターンで、Incoming WebhooksのURLに対してJSONをPOSTするだけです。

完了通知とStopフックの使い分け

室谷室谷代表取締役
「claude code 完了 通知」というKWも多いですが、これはStopフックとNotificationフックを使い分ける話です。Notification フックの idle_prompt は「Claudeが返答してユーザーを待っている状態」全般で発火します。
テキトー教師テキトー教師DotAI 認定講師
一方 Stop フックは「Claudeが1つのターンの返答を終了したとき」に発火します。長いコーディングタスクの完了を知りたいなら Stop フックの方が適切ですね。

idle_prompt だと短い返答にも全部反応してしまいます。
室谷室谷代表取締役
MYUUUでの使い方は、Stop フックで完了通知を飛ばして、Notification フックの permission_prompt で「許可が必要なとき」だけ別の強い通知音を出す組み合わせです。
テキトー教師テキトー教師DotAI 認定講師
これだと「タスク完了した」と「操作許可が必要」で通知の重みが変わるので、ながら作業中でもどっちの状況か即座に判断できます。この使い分けを知ってる人と知らない人で、作業効率が結構変わりますよ。

tmux・Linux環境での通知設定

室谷室谷代表取締役
tmux claude code 通知claude code 通知 linux を調べてる人もいるので見ておきましょう。tmuxで作業している場合、セッションをデタッチしてバックグラウンドで動かすことが多いですよね。
テキトー教師テキトー教師DotAI 認定講師
デタッチ中はOSの通知が届きにくいことがあります。tmuxの場合は tmux display-message でステータスバーに表示する方法が手軽です。
bash
#!/bin/bash
INPUT=$(cat)
MESSAGE=$(echo "$INPUT" | jq -r '.message // "Claude Code: 入力待ち"')

# tmuxのステータスバーに通知
tmux display-message -d 5000 "$MESSAGE"

# ターミナルベル
printf '\a'
室谷室谷代表取締役
Ubuntuでは notify-send コマンドが使えます。notify-send "Claude Code" "$MESSAGE" --urgency=normal でデスクトップ通知が出せます。
テキトー教師テキトー教師DotAI 認定講師
WSL2の場合は powershell.exe 経由でWindowsのToast通知を出せます。WSL1では動作しないので注意です。

設定ファイルの全体像

室谷室谷代表取締役
全部まとめると、~/.claude/settings.json の設定はこうなります。
json
{
  "hooks": {
    "Notification": [
      {
        "matcher": "idle_prompt",
        "hooks": [
          {
            "type": "command",
            "command": "~/.claude/hooks/notify-idle.sh"
          }
        ]
      },
      {
        "matcher": "permission_prompt",
        "hooks": [
          {
            "type": "command",
            "command": "~/.claude/hooks/notify-permission.sh"
          }
        ]
      }
    ],
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "~/.claude/hooks/notify-stop.sh"
          }
        ]
      }
    ]
  }
}
テキトー教師テキトー教師DotAI 認定講師
スクリプトファイルには実行権限が必要です。
bash
chmod +x ~/.claude/hooks/notify-idle.sh
chmod +x ~/.claude/hooks/notify-permission.sh
chmod +x ~/.claude/hooks/notify-stop.sh
室谷室谷代表取締役
これを一度設定すれば、あとはClaude Codeを走らせて別の作業をしていても、タスク完了や許可要求を確実に受け取れます。MYUUUではこの設定をチームで標準化していて、かなり効率が上がりましたよ。
テキトー教師テキトー教師DotAI 認定講師
1つ注意点として、Notification フックは通知のブロックや変更はできません。あくまでスクリプトをサイドエフェクトとして実行するだけです。

additionalContext を返すことで会話にコンテキストを追加することはできます。

まとめ

室谷室谷代表取締役
Claude Code通知のポイントをまとめましょう。
テキトー教師テキトー教師DotAI 認定講師
整理するとこういう構造です。
  • OSの通知許可: まずMac/Windowsのシステム設定でClaude Codeの通知をオンにする
  • Notificationフックの4タイプ: idle_prompt(待ち状態)、permission_prompt(許可要求)、auth_successelicitation_dialog
  • settings.jsonでHooksを設定: ~/.claude/settings.json にNotificationフックを書いてスクリプトを紐付ける
  • スマホ通知: ntfy・Discord Webhook・Slack Webhookで実現できる
  • Stopフックとの使い分け: タスク完了通知には Stop フック、許可要求には Notificationpermission_prompt が適切
室谷室谷代表取締役
「処理が終わったのに気づかなかった」という経験が一度でもあれば、この設定を入れる価値があります。特に長めのコーディングタスクを走らせながら別の作業をすることが多いなら、絶対に設定しておくべきですね。
テキトー教師テキトー教師DotAI 認定講師
「この設定を入れると、Claude Codeを"ながら作業"で使えるようになる」—これを一度体験すると、設定前には戻れなくなりますよ。

Related

関連記事

New Articles

新着記事

ニュース

WSJ報道:AI大手が『減速』で一致、何が変わる

2026年9月13日
室谷テキトー教師
ニュース

アンソロピックCEO「技術は全員のもの」CNN発言の真意

2026年9月13日
室谷テキトー教師
ニュース

OpenAI、今年のIPO否定とAI絶滅リスク発言

2026年9月13日
室谷テキトー教師
ニュース

OpenAI、訓練中エージェントがRubyGemsに到達

2026年9月12日
室谷テキトー教師
ニュース

OpenAIの数学「解決」発表に数学者ら反発

2026年9月12日
室谷テキトー教師
ニュース

WSJ、暴走AIスウォームのサイバー攻撃を報道

2026年9月12日
室谷テキトー教師
ニュース

OpenAIとGSA、政府向けOneGov契約を発表

2026年9月11日
室谷テキトー教師
ニュース

Anthropic研究者がAI危険性警告、マスク氏「サイオプ」

2026年9月11日
室谷テキトー教師
ニュース

OpenAI、GPT-6 Astra発表 ベンチ最高水準

2026年9月11日
室谷テキトー教師
ニュース

Anthropic研究者がNYTに警鐘、AI加速は人類への脅威

2026年9月10日
室谷テキトー教師

Join

AIプレナーになる。

入会は審査制です。いまの事業と、AIで何を動かしたいのかを聞かせてください。

参加を申請する