• #claude-code
  • #windows
  • #productivity

Claude Code 通知フック設定

本記事では、複数のClaude Codeセッションを並行実行する際に、どのタブが入力待ちかを音で判別できるようにする設定を説明する。

設定ファイル

~/.claude/settings.json (Windows: C:\Users\<username>\.claude\settings.json)

完全な設定例

{
  "model": "opus",
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "TodoWrite",
        "hooks": [
          {
            "type": "command",
            "command": "powershell.exe -Command \"[console]::beep(600, 100)\""
          }
        ]
      }
    ],
    "Stop": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "powershell.exe -Command \"[console]::beep(1000, 500); [console]::beep(1200, 500); [console]::beep(1500, 500)\""
          }
        ]
      }
    ],
    "PostToolUse": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "powershell.exe -Command \"[console]::beep(800, 200)\""
          }
        ]
      }
    ],
    "SubagentStop": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "powershell.exe -Command \"[console]::beep(1200, 100); [console]::beep(1200, 100); [console]::beep(1200, 100)\""
          }
        ]
      }
    ],
    "Notification": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "powershell.exe -Command \"[console]::beep(2000, 150); [console]::beep(2000, 150)\""
          }
        ]
      }
    ]
  }
}

各フックの説明

フックタイミング音の特徴
PreToolUse (TodoWrite)Todoリスト更新前低め1回 (600Hz)
PostToolUseツール実行後中音1回 (800Hz)
SubagentStopサブエージェント完了中高音3連 (1200Hz)
StopClaude応答完了上昇3音 (1000→1200→1500Hz)
Notification入力待ち通知高音2連 (2000Hz)

重要: Notification フック

Notification フックは Claude Codeが入力待ちになったとき に発火する。複数タブでClaudeを並行実行している場合、この通知音でどのタブが入力を待っているか判別できる。

"Notification": [
  {
    "matcher": "",
    "hooks": [
      {
        "type": "command",
        "command": "powershell.exe -Command \"[console]::beep(2000, 150); [console]::beep(2000, 150)\""
      }
    ]
  }
]

Windows Terminal との併用

Windows Terminalの「ベル通知スタイル」設定と組み合わせると、タスクバーのフラッシュも利用可能:

  1. Windows Terminal設定 (Ctrl+,)
  2. プロファイル → 既定値 → 詳細設定
  3. 「ベル通知スタイル」で以下を有効化:
    • 音によるチャイム
    • フラッシュウィンドウ
    • フラッシュタスクバー

ただし、Claude Code自体はBEL文字を出力しないため、hooksでの通知設定が必要。

参考