目录

CC-Notifier

Claude Code Windows 弹窗通知 hook —— 当 Claude Code 完成任务、出错或发送通知时,在系统托盘弹出气泡提醒,不用一直盯着终端。

效果

  • Task completed — Claude 完成任务后弹出通知
  • Error occurred — 任务失败时弹出通知
  • 自定义消息 — Claude 主动发送的 Notification 也会弹窗

通知标题会自动带上当前项目名称,方便多窗口区分。

前置要求

  • Windows 10/11

  • **PowerShell 7+**(hook 调用 pwsh

    检查是否已安装:

    pwsh --version

安装 PowerShell 7

本仓库附带 PowerShell-7.6.2-win-x64.msi,双击安装即可。

也可通过以下方式获取:

winget install Microsoft.PowerShell

或从 PowerShell GitHub Releases 下载最新版。

脚本内部通过 powershell.exe(Windows 自带的 5.1)调用 BalloonTip,无需额外安装 Windows 组件。

快速开始

1. 放置脚本

hooks/notify.ps1 复制到 ~/.claude/hooks/

mkdir -Force "$HOME\.claude\hooks"
Copy-Item hooks/notify.ps1 "$HOME\.claude\hooks\notify.ps1"

2. 配置 Hooks

有两种方式,二选一:

方式 A:只添加 Hook 配置(适合已有 settings 的用户)

编辑 ~/.claude/settings.json,将以下内容合并到 "hooks" 字段中:

"hooks": {
  "Notification": [
    {
      "matcher": "",
      "hooks": [
        {
          "type": "command",
          "command": "pwsh -ExecutionPolicy Bypass -File $HOME/.claude/hooks/notify.ps1"
        }
      ]
    }
  ],
  "Stop": [
    {
      "hooks": [
        {
          "type": "command",
          "command": "pwsh -ExecutionPolicy Bypass -File $HOME/.claude/hooks/notify.ps1"
        }
      ]
    }
  ],
  "StopFailure": [
    {
      "hooks": [
        {
          "type": "command",
          "command": "pwsh -ExecutionPolicy Bypass -File $HOME/.claude/hooks/notify.ps1"
        }
      ]
    }
  ]
}

如果已有 "hooks" 字段,将三个事件(NotificationStopStopFailure)逐个合并进去,不要覆盖已有的其他 hook。

方式 B:CC Switch 通用配置栏(一键粘贴)

本仓库附带 CC Switch v3.13.0 Windows 便携版CC-Switch-v3.13.0-Windows-Portable.zip),解压即可使用。

如果你使用 CC Switch 管理多套配置,直接将 full-settings-example.json 的内容复制到通用配置栏即可。

文件内容如下:

{
  "env": {
    "API_TIMEOUT_MS": "3000000",
    "CLAUDE_CODE_ATTRIBUTION_HEADER": "0",
    "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
  },
  "alwaysThinkingEnabled": true,
  "model": "opus[1m]",
  "skipDangerousModePermissionPrompt": true,
  "hooks": {
    "Notification": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "pwsh -ExecutionPolicy Bypass -File $HOME/.claude/hooks/notify.ps1"
          }
        ]
      }
    ],
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "pwsh -ExecutionPolicy Bypass -File $HOME/.claude/hooks/notify.ps1"
          }
        ]
      }
    ],
    "StopFailure": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "pwsh -ExecutionPolicy Bypass -File $HOME/.claude/hooks/notify.ps1"
          }
        ]
      }
    ]
  }
}

注意:完整配置中的 envmodel 等字段按需修改,hooks 部分是通知功能的核心。

3. 验证

重启 Claude Code,触发任意任务。任务完成后应看到系统托盘气泡通知。

也可以手动测试脚本:

echo '{"hook_event_name":"Stop","message":"test","cwd":"/my-project"}' | pwsh -File ~/.claude/hooks/notify.ps1

Hook 事件说明

事件 触发时机 通知内容
Notification Claude 主动发送通知 透传 Claude 的消息文本
Stop 任务正常完成 “Task completed”
StopFailure 任务异常终止 “Error occurred”

如需添加更多事件(如 SessionStartPermissionRequest),脚本已内置对应处理,只需在 settings 中增加同格式的 hook 条目即可。

脚本工作原理

Claude Code hook → pwsh 7 启动 notify.ps1
  → 从 stdin 读取 JSON(含事件名、消息、工作目录)
  → 提取项目名称(路径最后一段)
  → 构建通知标题和正文
  → 委托 powershell.exe 5.1 调用 BalloonTip 显示气泡

脚本用 pwsh 7 启动(处理 JSON 和 UTF-8 编码),再委托给 Windows 自带的 PowerShell 5.1 显示通知(5.1 能直接加载 System.Windows.Forms),兼容性最好。

仓库文件

CC-Notifier/
├── README.md                                ← 说明文档
├── hooks/
│   └── notify.ps1                           ← 通知脚本
├── hooks-settings-example.json              ← 仅 Hook 配置片段
├── full-settings-example.json               ← CC Switch 通用配置
├── PowerShell-7.6.2-win-x64.msi             ← PowerShell 7 安装包
└── CC-Switch-v3.13.0-Windows-Portable.zip   ← CC Switch 便携版

故障排除

没有弹出通知?

  1. 确认 pwsh 可用:pwsh --version
  2. 确认脚本存在:Test-Path "$HOME/.claude/hooks/notify.ps1"
  3. 手动测试(见上方”验证”部分)
  4. 检查 Windows 通知设置:设置 → 系统 → 通知 → 确保 PowerShell / Claude Code 未被静音

通知显示乱码?

脚本已处理 CJK 路径编码问题。如果仍有乱码,确认终端编码为 UTF-8:chcp 65001

许可证

MIT

关于
119.0 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号