Claude Codeの通知設定とは?終了・許可待ちをベルやスマホに知らせる方法
この記事でわかること
- Claude Codeが通知を出す場面と、通知が出るまでの時間
- ターミナルのベル・デスクトップ通知・フック・スマホ通知の違いと選び方
- preferredNotifChannelの設定と、端末ごとの初期動作
- Notificationフックでの通知の作り方と、Windowsでの注意点
- Remote Controlを使ったスマホへのプッシュ通知の設定手順
- 通知が来ないときの原因と確かめ方
目次
- Claude Codeの通知とは
- 通知を出すのはClaude Code本体と、あなたが作る設定
- 通知の方法を選ぶ
- ターミナルのベル・デスクトップ通知
- 設定のしかた
- 選べる値
- デスクトップ通知を受け取る端末
- SSHやtmuxで使うとき
- フックで通知する
- Notificationフックの設定
- Windowsで通知を出す
- 通知の種類で絞る
- 音を鳴らす
- terminalSequenceで端末に通知を出させる
- 終わった瞬間に知らせる
- スマホに通知する
- 使える条件
- 設定の手順
- Claudeに「通知して」と頼む
- 席にいるときは届かない
- アプリ・バックグラウンドの通知
- デスクトップアプリ
- Dispatchからの作業
- エージェントビューのバックグラウンドセッション
- デスクトップアプリの定期タスク
- 通知が来ないとき
- スマホ側で確認すること
- 通知を止めたいとき
- よくある質問
- まとめ
Claude Codeに長めの作業を任せて、別の画面で資料を読んでいたら、実は10分前に「このコマンドを実行してよいですか」という確認で止まっていた。こうした場面は、使い始めてすぐに出てきます。
Claude Codeには、作業が終わったときや確認待ちになったときに知らせてもらう仕組みがいくつか用意されています。ターミナルのベル、デスクトップの通知、フックという自動実行の仕組み、そしてスマホへのプッシュ通知です。それぞれ設定の場所も、通知が届く条件も違います。
この記事では、通知が出る場面と時間の目安、方法ごとの違い、設定の手順、Windowsで使うときの注意、通知が来ないときの確かめ方を順に解説します。内容は2026年10月時点の公式ドキュメントをもとにしています。機能は更新が続いているため、細かい仕様は公式ページもあわせて確認してください。
Claude Codeの通知とは

Claude Codeは、作業が終わったときや、あなたの確認が必要になったときに、通知のイベントを発生させます。公式ドキュメントでは、Claudeが作業を終えたとき、または許可を求めて止まったときに、席を離れているように見える場合に通知イベントが発生すると説明されています。
通知が出るきっかけと、出るまでの時間は次のとおりです。
| 場面 | 通知が出るタイミング(ターミナルの場合) |
|---|---|
| ツールの使用許可を求められた | 許可の確認が出てから約6秒、入力がないとき。キー入力があるたびに先送りされる |
| Claudeが応答を終えた | 終えてから約60秒たっても入力がないとき。バックグラウンドで動いている別の作業が残っている間は出ない |
| MCPサーバーが入力フォームを開いた | 約6秒、入力がないとき |
| 認証が完了した | 完了したとき |
つまり、画面を見ながら入力しているときは通知は出ません。しばらく手を止めている、または別のウィンドウを見ているときだけ知らせる仕組みです。
「終わった瞬間」には通知されない
応答の終了を知らせる通知は、終わってから約60秒後です。終わった瞬間に知りたい場合は、後述するフックのStopイベントを使います。
通知を出すのはClaude Code本体と、あなたが作る設定
通知は大きく2種類に分けられます。1つはClaude Code本体が出す通知です。ターミナルのベルやデスクトップ通知、スマホへのプッシュ通知がこれにあたります。もう1つは、フックを使って自分で作る通知です。通知を受けて、好きなコマンドを動かせます。
この2つは同時に使えます。公式ドキュメントによると、フックは標準の通知と並んで動き、置き換えるものではありません。そのため、両方を有効にすると、同じ場面で通知が二重に出ることがあります。
通知の方法を選ぶ

通知の方法は、使っている端末や作業の仕方で選びます。まずは次の表で、自分に合うものを探してください。
| 方法 | 何が起きるか | 設定する場所 | 向いている場面 |
|---|---|---|---|
| ターミナルのベル | 端末のベル文字を鳴らす。音や点滅は端末アプリ側の設定による | preferredNotifChannelをterminal_bellに | どの端末でも、まず手軽に始めたい |
| デスクトップ通知(端末機能) | iTerm2・Ghostty・Kittyでは、OSの通知として表示される | 初期設定のまま(auto) | 対応端末を使っている |
| Notificationフック | 自分で決めたコマンドを実行する。通知ダイアログ、音、外部サービスへの転送など | settings.jsonのhooks | 端末が標準の通知に対応していない、通知の中身を変えたい |
| スマホへのプッシュ通知 | Claudeアプリに通知が届く | Remote Controlと/config | 席を離れる、外出先でも気づきたい |
| デスクトップアプリの通知 | 見ていないセッションが終わったとき、OSの通知が出る | アプリの初期動作 | デスクトップアプリで使っている |
迷ったら、次の順で試すと失敗が少なくなります。
- 使っている端末を確かめるiTerm2・Ghostty・Kittyなら、何も設定しなくても通知が出ます。それ以外の端末なら、次の手順に進みます
- ベルを有効にする
preferredNotifChannelをterminal_bellにします。設定は1行で終わり、動いたかどうかもすぐ分かります - 足りなければフックを足すダイアログや音、外部への転送が必要なときだけ、Notificationフックを追加します
- 席を離れるならスマホ通知を足すRemote Controlを有効にして、スマホのClaudeアプリに通知を届けます
ターミナルのベル・デスクトップ通知

Claude Code本体が出す通知は、preferredNotifChannelという設定で切り替えます。端末のベルを鳴らすか、デスクトップ通知を出すか、何も出さないかを選べます。
設定のしかた
設定ファイル(~/.claude/settings.json)に、次の1行を足します。Windowsでは、ユーザーフォルダの中の.claudeフォルダにあるsettings.jsonです。
{
"preferredNotifChannel": "terminal_bell"
}
ファイルを直接開かなくても、Claude Codeの入力欄で/configと入力し、Local notificationsの項目から選ぶこともできます。公式ドキュメントでは、この項目がpreferredNotifChannelに対応すると説明されています。
選べる値
| 値 | 動き |
|---|---|
auto(初期値) | iTerm2・Ghostty・Kittyではデスクトップ通知を出す。Terminal.appでは、端末側の「音声ベル」をオフにしているときだけベルを鳴らす。それ以外の端末では何もしない |
terminal_bell | どの端末でも、ベル文字を鳴らす |
iterm2 | iTerm2のデスクトップ通知を出す |
iterm2_with_bell | iTerm2のデスクトップ通知を出し、ベルも鳴らす |
kitty | Kittyのデスクトップ通知を出す |
ghostty | Ghosttyのデスクトップ通知を出す |
notifications_disabled | 通知を出さない |
初期値のautoで通知が出る端末として挙げられているのは、上の3つです。Windows TerminalやVS Codeの統合ターミナルは、そこに含まれていません。そのため、これらの端末では初期設定のままだと何も通知されません。terminal_bellにするか、後述するフックを使います。
ベルの鳴り方は、端末アプリ側の設定しだい
Claude Codeがするのは、ベル文字を端末に送ることまでです。音が鳴るか、画面が光るか、タスクバーが点滅するかは、使っている端末アプリの設定で決まります。Windowsの端末アプリでのベルの設定については、公式ドキュメントに案内がありません。鳴らないときは、端末アプリ側のベルの設定を確認してください。
デスクトップ通知を受け取る端末
Ghosttyは、Claude Codeの通知をOSの通知センターへそのまま転送します。Kittyも同様で、追加の設定は必要ありません。iTerm2だけは、次の設定で転送を有効にする必要があります。
- 通知の設定を開くiTerm2の「Settings」→「Profiles」→「Terminal」を開きます
- 通知を許可する「Notification Center Alerts」にチェックを入れ、「Filter Alerts」から「Send escape sequence-generated alerts」を有効にします
それでも通知が出ない場合は、端末アプリにOSの通知許可があるかを確かめます。tmuxの中で動かしている場合は、次の設定も必要です。
SSHやtmuxで使うとき
公式ドキュメントによると、デスクトップ通知はSSH接続の先で動かしているセッションからも、手元のパソコンに届きます。サーバー上でClaude Codeを動かしている場合でも、通知で気づけます。
tmuxの中でClaude Codeを動かすと、初期状態では通知が外側の端末まで届きません。~/.tmux.confに次の1行を足し、tmux source-file ~/.tmux.confで反映します。
set -g allow-passthrough on
端末の状態表示に対応していれば、通知なしでも分かる
端末アプリが「OSC 7501 Program Status Protocol」という仕組みに対応している場合は、各セッションが作業中・入力待ち・終了のどれかを端末側に表示できます。Claude Code側の設定は不要で、Claude Code v2.1.295以降が必要です。対応しているかどうかは、使っている端末アプリのドキュメントで確認します。
フックで通知する

端末が標準の通知に対応していない場合や、音を鳴らしたい、通知の中身を変えたいという場合は、フックを使います。フックの基本的な仕組みは別の記事(下の「あわせて読みたい」)で詳しく解説しているため、ここでは通知に必要な部分だけを説明します。
Notificationフックの設定
Claude Codeが通知を出すタイミングで動くイベントが、Notificationです。公式ガイドの最初の例も、このイベントを使った通知です。~/.claude/settings.jsonに、次の形で書きます。これは公式ガイドにあるMac向けの例です。
{
"hooks": {
"Notification": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "osascript -e 'display notification \"Claude Code needs your attention\" with title \"Claude Code\"'"
}
]
}
]
}
}
すでにhooksの設定がある場合は、全体を置き換えず、Notificationをほかのイベントと同じ階層に追加します。書いたら、入力欄で/hooksと入力し、Notificationの下にフックが出ていることを確かめます。
動作を試すには、Shift+Tabで権限モードを手動に切り替え、許可が必要な作業を頼んでから、別のウィンドウに切り替えます。許可待ちのまま数秒たつと、通知が出ます。
Windowsで通知を出す
Windowsの場合、公式ガイドに載っているのは、PowerShellでダイアログボックスを開く方法です。commandの中身を、次のように変えます。
{
"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')\""
}
]
}
]
}
}
この方法で出るのは、画面の隅に出る通知ではなく、ダイアログボックス(小さな確認の窓)です。公式ガイドでも、ダイアログがターミナルの後ろに開いてしまうことがあると注意されています。見えないときは、まず同じコマンドをPowerShellで直接実行して、ダイアログが出るかを確かめます。WSLの中でClaude Codeを動かしている場合は、powershell.exeにPATHが通っている必要があります。
| やりたいこと(Windows) | 公式ドキュメントでの扱い |
|---|---|
| ダイアログボックスで知らせる | 公式ガイドに例がある(上のPowerShellの例) |
| 画面の隅のトースト通知で知らせる | 公式に案内なし |
| 音を鳴らす | 公式に案内なし(音の例はMacのafplayのみ) |
| Windows Terminalでベルを鳴らす | terminal_bellでベル文字は送られる。鳴り方は端末側の設定で、公式に案内なし |
通知の種類で絞る
matcherを空にすると、あらゆる種類の通知で動きます。「許可待ちのときだけ」のように絞りたいときは、通知の種類を指定します。
| matcherの値 | 動くタイミング |
|---|---|
permission_prompt | ツールの使用許可などを求められ、約6秒たったとき |
idle_prompt | Claudeが応答を終えて約60秒たち、その間に入力がないとき |
auth_success | 認証が完了したとき |
elicitation_dialog | MCPサーバーが入力フォームを開き、約6秒入力がないとき |
agent_needs_input | バックグラウンドのセッションが入力待ちになったとき(エージェントビューを開いている間) |
agent_completed | バックグラウンドのセッションが終了または失敗したとき(エージェントビューを開いている間) |
種類ごとに別の処理を動かすこともできます。たとえば、許可待ちのときは目立つダイアログを出し、放置されたときは静かな通知にする、といった使い分けです。使える種類はほかにもあり、使用量の上限で止まった作業が再開したときのquota_auto_resume_firedなどは、Claude Code v2.1.234以降が必要です。
フックには、通知の本文と種類(messageとnotification_type)、セッションのIDと作業フォルダ(session_idとcwd)が標準入力のJSONで渡されます。複数のセッションを動かしているときは、通知にフォルダ名を入れると、どの作業の通知かが分かります。
通知フックでは、動作を止められない
Notificationフックは、通知を止めたり書き換えたりできません。通知を受けて外部のサービスへ転送する、音を鳴らす、といった「副作用」のための仕組みです。
音を鳴らす
通知に音をつけたいときも、フックを使います。公式ドキュメントにあるのは、Macのシステム音を鳴らす次の例です。
{
"hooks": {
"Notification": [
{
"hooks": [{ "type": "command", "command": "afplay /System/Library/Sounds/Glass.aiff" }]
}
]
}
}
Windowsで音を鳴らす書き方は、公式ドキュメントに案内がありません。Windowsで音で知りたい場合は、まずterminal_bellを試すのが、公式に沿った方法です。
terminalSequenceで端末に通知を出させる
フックは、端末とつながっていない状態で動きます。そのため、フックの中から端末に通知用の制御文字列を直接書き込むことはできません。代わりに、フックの出力のJSONにterminalSequenceという項目を入れると、Claude Code本体がその文字列を端末に出力してくれます。
公式ドキュメントでは、この方法はtmuxの中でも、Windowsでも動くと説明されています。使える制御文字列は許可リストで決まっていて、次のものが挙がっています。
- ウィンドウやアイコンのタイトル(OSC 0・1・2)
- iTerm2・ConEmu・Windows Terminal・WezTermの通知(OSC 9)
- Kittyの通知(OSC 99)
- urxvt・Ghostty・Warpの通知(OSC 777)
- ベル文字(BEL)
公式の例は、Bashとjqで書かれたスクリプトです。出力の形だけ示すと、次のようになります。
{ "terminalSequence": "(許可リストにある制御文字列)" }
この項目は、対話型のセッションで画面が表示されている間だけ有効です。-pオプションでの非対話実行や、Agent SDKでは無視されます。Windows向けのスクリプトの具体例は、公式には載っていません。
終わった瞬間に知らせる
先ほどの表のとおり、応答の終了を知らせる通知は約60秒後に出ます。終わった瞬間に知りたい場合は、Stopイベントのフックが使えます。Stopは、公式ドキュメントで「メインのClaude Codeが応答を終えたときに動く」と説明されているイベントです。
{
"hooks": {
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "(上で使った通知のコマンド)"
}
]
}
]
}
}
この使い方は、公式ガイドに通知用のサンプルがあるわけではありません。イベントの定義から考えた方法です。Stopは応答が終わるたびに動き、席にいるかどうかは見ません。席にいるときにも通知が出て、うるさく感じることがあります。ユーザーが中断したときは動かず、APIエラーで終わったときは別のStopFailureイベントが動きます。
スマホに通知する

席を離れて作業を任せたいときは、スマホのClaudeアプリへのプッシュ通知が便利です。公式ドキュメントでは、Remote Control(リモートコントロール)が接続されている間だけ、スマホに通知が届くと説明されています。
使える条件
Remote Controlの要件として、公式ドキュメントに次の点が挙げられています。
| 項目 | 条件 |
|---|---|
| プラン | Pro・Max・Team・Enterpriseで利用できる。APIキーでの利用は対象外 |
| Team・Enterprise | 管理者(Owner)が、Claude Codeの管理設定でRemote Controlを有効にしておく |
| ログイン | /loginでclaude.aiのアカウントでログインしている |
| 接続先 | Amazon Bedrock・Google Cloud・Microsoft Foundryを使っている場合や、ANTHROPIC_BASE_URLを別のホストにしている場合は使えない |
| パソコン | Claude Codeを動かしているパソコンがオンで、プロセスが動き続けている必要がある |
Remote Control自体の始め方は、別の記事(このあとの「あわせて読みたい」)で詳しく解説しています。
設定の手順
- スマホにClaudeアプリを入れるiOSまたはAndroid用のClaudeアプリを入れ、Claude Codeと同じアカウント・組織でログインします
- 通知を許可するアプリの初回起動時に出るOSの通知の許可を承認します
- Remote Controlを開始するパソコンで
claude remote-controlを実行するか、開いているセッションで/remote-controlと入力します - /configでプッシュを有効にするClaude Codeで
/configを開き、通知の項目をオンにします
/configには、プッシュ通知の項目が2つあります。どちらも初期値はオフです。
| /configの項目 | 設定名 | 届く通知 |
|---|---|---|
| Push when Claude decides | agentPushNotifEnabled | 長い作業が終わったときなど、Claudeが「通知する価値がある」と判断したとき |
| Push when actions required | inputNeededNotifEnabled | 許可の確認や質問が、入力待ちになっているとき |
公式ドキュメントによると、この2つ以外に、イベントごとの細かい設定はありません。通知を絞りたいときは、オン・オフの組み合わせで調整します。
Claudeに「通知して」と頼む
通知のタイミングは、プロンプトで頼むこともできます。公式ドキュメントでは、notify me when the tests finishのように書く例が紹介されています。日本語で「テストが終わったら通知して」と頼む形でも、同じ使い方です。
この通知には、PushNotificationというClaudeのツールが使われます。公式のツール一覧では、このツールはデスクトップ通知を出し、Remote Controlが接続されていればスマホにもプッシュを送ると説明されています。Amazon Bedrockなどを経由している場合は、プッシュの配信が使えないと注記されています。
席にいるときは届かない
スマホへのプッシュは、接続したターミナルで入力しているときや、そのウィンドウを見ているときは送られません。パソコンの前にいるのに、スマホが何度も鳴る、ということは起きにくい作り方になっています。
別のウィンドウで作業しているときも「席にいる」とみなしたい場合は、環境変数CLAUDE_CLIENT_PRESENCE_FILEにファイルのパスを指定します。そのファイルが存在する間は、プッシュが送られなくなります。画面のロックを検知するツールなどで、ロック解除時にファイルを作り、ロック時に消す使い方が想定されています。この変数はClaude Code v2.1.181以降が必要です。
スマホ通知は、ベルやフックの代わりではない
スマホへのプッシュは、Remote Controlが接続されている間だけ届きます。Remote Controlを使わない日や、接続が切れている間は届きません。パソコンの前での通知は、ベルやフックで受けるのが基本です。
アプリ・バックグラウンドの通知

ターミナルではなく、デスクトップアプリや、バックグラウンドで動くセッションを使っている場合は、通知の仕組みが少し違います。
デスクトップアプリ
Claude Codeのデスクトップアプリは、見ていないセッションが作業を終えたときに、OSの通知を出します。公式ドキュメントでは、ターミナルのような設定は特に案内されていません。
デスクトップアプリで動かすセッションでは、許可待ちのフック(permission_prompt)の動き方も、ターミナルと違います。約6秒後に動き、入力しても先送りされません。VS Codeの拡張機能も同じ方式です。このフックを止めたいときは、環境変数CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKSを1にします。
Dispatchからの作業
スマホのClaudeアプリから「Dispatch」で頼んだ作業が、デスクトップアプリのCodeセッションになった場合は、そのセッションが終わったとき、または承認が必要なときに、スマホにプッシュ通知が届きます。これはDispatchが独自に送る通知で、公式ドキュメントでは、先ほどの/configの2つの項目とは別に説明されています。
エージェントビューのバックグラウンドセッション
エージェントビュー(複数のバックグラウンドセッションを一覧する画面)を開いている間は、ローカルのバックグラウンドセッションが入力待ち・終了・失敗になったときに、preferredNotifChannelの設定で通知が出ます。同時に、Notificationフックもagent_needs_inputまたはagent_completedの種類で動きます。定期的に動くセッション(/loopなど)は、入力が必要なときだけ通知します。
デスクトップアプリの定期タスク
デスクトップアプリで定期実行を設定している場合は、タスクが動き始めたときにデスクトップ通知が出て、サイドバーの「Scheduled」に新しいセッションが追加されます。パソコンが止まっていた間に実行されなかった分が追いつき実行されるときも、通知が出ます。
クラウドやVS Code拡張の通知設定
クラウド上で動かすセッションの通知や、VS Code拡張機能の通知の細かい設定は、確認した範囲の公式ドキュメントには記載が見つかりませんでした。必要な場合は、公式の最新情報を確認してください。
通知が来ないとき

通知が来ないときは、まず「どの方法の通知が来ないのか」を切り分けます。ベルやデスクトップ通知、フック、スマホのどれかによって、見る場所が違います。
| 症状 | 考えられる原因 | 確かめること・対処 |
|---|---|---|
| 何も出ない(Windows Terminal・VS Codeの端末など) | 初期値のautoは、iTerm2・Ghostty・Kitty以外では通知しない | preferredNotifChannelをterminal_bellにするか、Notificationフックを使う |
| 許可待ちなのに、すぐ通知されない | ターミナルでは、許可の確認から約6秒の入力なしが条件。入力するたびに先送りされる | 手を止めて待つ。確認の瞬間に動かしたいならPermissionRequestイベントを使う |
| 終わってもすぐ通知されない | 終了の通知は約60秒後 | Stopフックを使う。バックグラウンドの作業が残っている間は出ない |
| iTerm2で通知が出ない | エスケープシーケンスによる通知が許可されていない | 「Send escape sequence-generated alerts」を有効にする |
| tmuxの中で通知が出ない | 通知が外側の端末に届かない | set -g allow-passthrough onを追加して反映する |
| Macのフックが動かない | Script Editorに通知の許可がない。エラーも出ずに失敗する | 「システム設定」→「通知」でScript Editorの通知を許可する |
| Linuxで通知が出ない | 通知のデーモンがない(サーバー・SSH・コンテナなど) | デスクトップ環境のあるマシンで試す。コマンドが無ければlibnotify-binなどを入れる |
| Windowsでダイアログが見えない | ダイアログがターミナルの後ろに開いている | PowerShellで同じコマンドを直接実行して確かめる。WSLではpowershell.exeのPATHを確認する |
/hooksにフックが出てこない | JSONの書き間違い(末尾のカンマなど) | 書式を直し、数秒待つ。反映されなければセッションを開き直す |
| スマホに届かない | Remote Controlが未接続、または/configの項目がオフ | 接続を確認し、2つの項目の設定を見直す |
/configに「No mobile registered」と出る | スマホの通知用の情報が更新されていない | スマホのClaudeアプリを一度開く。次にRemote Controlが接続したとき、表示が消える |
スマホ側で確認すること
公式ドキュメントでは、スマホに通知が届かないときの確認点が次のように挙げられています。
- iOS:集中モード(Focus)や通知のまとめ表示が、通知を遅らせたり隠したりすることがあります。「設定」→「通知」→「Claude」を確認します
- Android:電池の最適化が強いと、通知の配信が遅れることがあります。Claudeアプリを、電池の最適化の対象から外します
通知を止めたいとき
通知が多すぎる場合は、方法ごとに止められます。
| 止めたい通知 | 方法 |
|---|---|
| ベル・デスクトップ通知 | preferredNotifChannelをnotifications_disabledにする |
| フックの通知 | 設定ファイルから該当のフックを消す。disableAllHooksで、フック全体を止めることもできる |
| スマホへのプッシュ | /configの2つの項目をオフにする |
注意したいのは、notifications_disabledにしても、Notificationフックは動き続ける点です。公式ドキュメントによると、この設定が変えるのは「どう知らせるか」であり、フックを動かすかどうかではありません。
よくある質問
通知の設定は、どのファイルに書きますか?
自分のすべてのプロジェクトで使うなら、~/.claude/settings.jsonに書きます。Windowsでは、ユーザーフォルダの中の.claudeフォルダにあるファイルです。preferredNotifChannelは、どの設定ファイルにも書けます。通知は自分の好みの問題なので、チームで共有するプロジェクトの設定ファイルではなく、自分の設定ファイルに書くのが向いています。
Windowsでも通知は出ますか?
出ます。ただし、初期設定では出ない端末が多いため、設定が必要です。Windows Terminalなどでは、preferredNotifChannelをterminal_bellにするか、PowerShellでダイアログを出すフックを設定します。画面の隅のトースト通知や、音を鳴らす書き方は、公式ドキュメントに案内がありません。
通知を受け取るのに、追加の料金はかかりますか?
ベル・フック・デスクトップ通知は、Claude Codeの設定だけで使えます。スマホへのプッシュは、Remote Controlが使えるプラン(Pro・Max・Team・Enterprise)が前提です。通知の機能そのものの料金については、公式ドキュメントに記載がありません。
通知の文面を変えられますか?
フックで出す通知は、コマンドの中の文字を自由に変えられます。Claude Code標準の通知の文言を変える設定は、公式ドキュメントに案内がありません。
席にいるのに通知が出るのはなぜですか?
ターミナルでは、約6秒または約60秒の間、入力がないと「席を離れている」とみなされます。画面を読んでいるだけでキーボードに触れていないときも、通知が出ることがあります。Stopフックで通知を出す場合は、席にいるかどうかに関係なく、応答が終わるたびに動きます。
複数のセッションを動かしています。どれの通知か分かりますか?
フックの標準入力には、セッションIDと作業フォルダ(cwd)が渡されます。スクリプトでフォルダ名を取り出して通知の本文に入れると、どの作業の通知かが分かります。
スマホ通知は、APIキーやBedrock経由でも使えますか?
使えません。Remote Controlは、APIキーでの利用に対応していません。Amazon Bedrock・Google Cloud・Microsoft Foundryを使っている場合も対象外です。claude.aiのアカウントでのログインが必要です。
パソコンを閉じても、スマホ通知は届きますか?
届きません。Remote Controlは、パソコンの上で動いているClaude Codeにスマホをつなぐ仕組みです。パソコンがスリープしたり、Claude Codeのプロセスが止まったりすると、セッションは切断されます。復帰して再接続されるまで、プッシュも届きません。
音だけ鳴らして、画面には出したくありません。
Macなら、afplayで音を鳴らすフックと、preferredNotifChannelをnotifications_disabledにする設定の組み合わせで実現できます。Windowsで音だけを鳴らす書き方は、公式ドキュメントに案内がありません。
まとめ
この記事のまとめ
- Claude Codeの通知は、許可待ちは約6秒、応答の終了は約60秒、入力がないときに出る
- 通知の方法は、端末のベル・デスクトップ通知・フック・スマホへのプッシュの4つが基本
- 端末のベルは
preferredNotifChannelをterminal_bellにする。初期値のautoで通知が出るのは、iTerm2・Ghostty・Kittyなど - 通知の中身を変えたいときや、端末が対応していないときは、Notificationフックを使う。終わった瞬間に知りたいなら
Stopフックも使える - Windowsでは、公式ガイドにあるのはPowerShellのダイアログ表示の例。トースト通知や音の書き方は公式に案内がない
- スマホへのプッシュは、Remote Controlの接続中だけ届き、
/configで2つの項目を有効にする
通知は、Claude Codeに作業を任せる時間を、ほかの仕事に使うための設定です。最初はベルかデスクトップ通知で始め、足りない部分だけフックやスマホ通知を足していくと、設定が複雑になりません。
チームでClaude Codeを使い始める段階では、通知の設定のほかにも、権限の決め方やフックでのルールづくり、使い方の共有など、決めることが増えていきます。INTERCREATE JAPANでは、Claude Code・Codexの導入から、社内で使い続けられる仕組みづくりまでをお手伝いしています。
参考・出典
- Configure your terminal for Claude Code(Claude Code Docs)
- Automate actions with hooks(Claude Code Docs)
- Hooks reference(Claude Code Docs)
- Settings reference(Claude Code Docs)
- Continue local sessions from any device with Remote Control(Claude Code Docs)
- Claude Code on mobile(Claude Code Docs)
- Desktop application(Claude Code Docs)
- Agent view(Claude Code Docs)
- Tools reference(Claude Code Docs)
INTERCREATE JAPAN