rename to CC-Notifier, update README with bundled installers
Claude Code Windows 弹窗通知 hook —— 当 Claude Code 完成任务、出错或发送通知时,在系统托盘弹出气泡提醒,不用一直盯着终端。
通知标题会自动带上当前项目名称,方便多窗口区分。
Windows 10/11
**PowerShell 7+**(hook 调用 pwsh)
pwsh
检查是否已安装:
pwsh --version
本仓库附带 PowerShell-7.6.2-win-x64.msi,双击安装即可。
PowerShell-7.6.2-win-x64.msi
也可通过以下方式获取:
winget install Microsoft.PowerShell
或从 PowerShell GitHub Releases 下载最新版。
脚本内部通过 powershell.exe(Windows 自带的 5.1)调用 BalloonTip,无需额外安装 Windows 组件。
powershell.exe
BalloonTip
将 hooks/notify.ps1 复制到 ~/.claude/hooks/:
hooks/notify.ps1
~/.claude/hooks/
mkdir -Force "$HOME\.claude\hooks" Copy-Item hooks/notify.ps1 "$HOME\.claude\hooks\notify.ps1"
有两种方式,二选一:
编辑 ~/.claude/settings.json,将以下内容合并到 "hooks" 字段中:
~/.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" 字段,将三个事件(Notification、Stop、StopFailure)逐个合并进去,不要覆盖已有的其他 hook。
Notification
Stop
StopFailure
本仓库附带 CC Switch v3.13.0 Windows 便携版(CC-Switch-v3.13.0-Windows-Portable.zip),解压即可使用。
CC-Switch-v3.13.0-Windows-Portable.zip
如果你使用 CC Switch 管理多套配置,直接将 full-settings-example.json 的内容复制到通用配置栏即可。
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" } ] } ] } }
注意:完整配置中的 env、model 等字段按需修改,hooks 部分是通知功能的核心。
env
model
hooks
重启 Claude Code,触发任意任务。任务完成后应看到系统托盘气泡通知。
也可以手动测试脚本:
echo '{"hook_event_name":"Stop","message":"test","cwd":"/my-project"}' | pwsh -File ~/.claude/hooks/notify.ps1
如需添加更多事件(如 SessionStart、PermissionRequest),脚本已内置对应处理,只需在 settings 中增加同格式的 hook 条目即可。
SessionStart
PermissionRequest
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),兼容性最好。
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 便携版
没有弹出通知?
Test-Path "$HOME/.claude/hooks/notify.ps1"
通知显示乱码?
脚本已处理 CJK 路径编码问题。如果仍有乱码,确认终端编码为 UTF-8:chcp 65001。
chcp 65001
MIT
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
CC-Notifier
Claude Code Windows 弹窗通知 hook —— 当 Claude Code 完成任务、出错或发送通知时,在系统托盘弹出气泡提醒,不用一直盯着终端。
效果
通知标题会自动带上当前项目名称,方便多窗口区分。
前置要求
Windows 10/11
**PowerShell 7+**(hook 调用
pwsh)检查是否已安装:
安装 PowerShell 7
本仓库附带
PowerShell-7.6.2-win-x64.msi,双击安装即可。也可通过以下方式获取:
或从 PowerShell GitHub Releases 下载最新版。
快速开始
1. 放置脚本
将
hooks/notify.ps1复制到~/.claude/hooks/:2. 配置 Hooks
有两种方式,二选一:
方式 A:只添加 Hook 配置(适合已有 settings 的用户)
编辑
~/.claude/settings.json,将以下内容合并到"hooks"字段中:如果已有
"hooks"字段,将三个事件(Notification、Stop、StopFailure)逐个合并进去,不要覆盖已有的其他 hook。方式 B:CC Switch 通用配置栏(一键粘贴)
本仓库附带 CC Switch v3.13.0 Windows 便携版(
CC-Switch-v3.13.0-Windows-Portable.zip),解压即可使用。如果你使用 CC Switch 管理多套配置,直接将
full-settings-example.json的内容复制到通用配置栏即可。文件内容如下:
3. 验证
重启 Claude Code,触发任意任务。任务完成后应看到系统托盘气泡通知。
也可以手动测试脚本:
Hook 事件说明
NotificationStopStopFailure如需添加更多事件(如
SessionStart、PermissionRequest),脚本已内置对应处理,只需在 settings 中增加同格式的 hook 条目即可。脚本工作原理
脚本用 pwsh 7 启动(处理 JSON 和 UTF-8 编码),再委托给 Windows 自带的 PowerShell 5.1 显示通知(5.1 能直接加载
System.Windows.Forms),兼容性最好。仓库文件
故障排除
没有弹出通知?
pwsh可用:pwsh --versionTest-Path "$HOME/.claude/hooks/notify.ps1"通知显示乱码?
脚本已处理 CJK 路径编码问题。如果仍有乱码,确认终端编码为 UTF-8:
chcp 65001。许可证
MIT