EN JA
無料ダウンロード

Claude Code の完了・確認待ちに気づく — macOS 通知設定ガイド

更新日: 2026年8月26日

タスクを投げて Slack に切り替え、10 分後に戻ったら Claude Code は 9 分前に終わっていた—— もっと悪いと、許可ダイアログを出したままずっと止まっていた。そんな見逃しをなくすための 通知設定を、1 行で終わる設定からカスタム hooks、常駐の状態モニターまで順に紹介します。

気づくべき 2 つの瞬間

Claude Code があなたを待つ状況は 2 種類あり、緊急度が違います:

どちらも Claude Code hooks で拾えます。Notification イベントは Claude が入力を必要とするときに発火し (許可ダイアログの場合は表示から数秒間未応答のときに発火するので、即答した分で通知が 溢れることはありません)、Stop イベントは応答完了時に発火します。

方法 1: ターミナルのネイティブ通知

スクリプトを書く前に、使っているターミナルを確認してください。Claude Code は GhosttyKittyiTerm2 経由で、 入力待ちのときに macOS のデスクトップ通知を出せます。

macOS 標準の Terminal.app にはこの連携がないため、次のベルか hooks を使ってください。

方法 2: ターミナルベル

Claude Code は注意が必要なタイミングでターミナルベルを鳴らせます。 ~/.claude/settings.json に 1 行:

{
  "preferredNotifChannel": "terminal_bell"
}

多くのターミナルはベルを視覚化してくれます。Terminal.app はタブにバッジを表示し、 iTerm2 はベルを通知に変換でき、tmux はウィンドウにベルインジケーターを付けます。 素朴な仕組みですが、どの環境でも動き、スクリプトも不要です。

方法 3: hooks でカスタムの macOS 通知を出す

追加ツールは不要です。macOS 標準の osascript で通知センターに通知を出せます。

1. 小さなスクリプトを 2 つ作る

mkdir -p ~/.claude/scripts

cat > ~/.claude/scripts/notify-waiting.sh <<'EOF'
#!/bin/bash
# Claude Code の "Notification" hook: セッションが入力待ち。
osascript -e 'display notification "セッションが入力を待っています" with title "Claude Code" sound name "Glass"'
EOF

cat > ~/.claude/scripts/notify-done.sh <<'EOF'
#!/bin/bash
# Claude Code の "Stop" hook: セッションの応答が完了。
osascript -e 'display notification "応答が完了しました" with title "Claude Code"'
EOF

chmod +x ~/.claude/scripts/notify-waiting.sh ~/.claude/scripts/notify-done.sh

2. ~/.claude/settings.json に登録する

hooks セクションを追加します(既にあればマージ)。この場所に書くと全プロジェクトに 適用されます。特定プロジェクトだけに絞るなら、そのプロジェクトの .claude/settings.json に書いてください。

{
  "hooks": {
    "Notification": [
      {
        "hooks": [
          { "type": "command", "command": "$HOME/.claude/scripts/notify-waiting.sh" }
        ]
      }
    ],
    "Stop": [
      {
        "hooks": [
          { "type": "command", "command": "$HOME/.claude/scripts/notify-done.sh" }
        ]
      }
    ]
  }
}

新しい Claude Code セッションを起動し(hooks は起動時に読み込まれます)、許可リストに 入れていないツールを使うタスクを頼んで、許可ダイアログを数秒放置してみてください。 通知が出れば成功です。

発展形

通知バナーの構造的な限界

この設定は本当に便利で、全員に勧めています。ただ、使い込むほどバナー特有の限界に当たります:

もう一つの選択肢: 常駐のステータスウィンドウ

AgentManager は同じ問題を「割り込んでくるイベント」ではなく 「一目で見える状態」として解きます。すべての Claude Code セッションを状態ランプ付きで 一覧する、常時最前面の小さなウィンドウを持つ macOS メニューバーアプリです — 確認待ち、 処理中、 完了、 待機:

セットアップはワンクリックです(hooks の登録は自動、解除もきれいにできます)。上の osascript 設定とも共存できます。hooks は複数登録できるので、Stop のバナーは 残しつつ、確認待ちの管理はウィンドウに任せる構成も可能です。

確認待ちをもう見逃さない

AgentManager は、どの Claude Code セッションが入力待ちになっても その瞬間に前面へ出します。無料で使えます — アカウント登録不要。

macOS 13+ — フリープランは同時表示 2 セッションまで