claude-code-notifier
工作原理 指南 常见问题
◐简体中文
English العربية Deutsch Español Français עברית Italiano 日本語 한국어 Nederlands Polski Português (Brasil) Русский Türkçe Tiếng Việt 简体中文 繁體中文
开始使用
全部指南

在 VS Code、Cursor 和 JetBrains 终端中接收 Claude Code 通知

更新于 2026年10月31日 · 阅读约 7 分钟
本页内容 01IDE 为什么没有动静 02方案 1:terminal 响铃 03方案 2:Notification hook 04远程窗口:SSH、WSL、dev container 和 JetBrains Remote Development 05通过 /ide 使用外部 terminal 06其他值得了解的事 07Claude Code Notifier 的定位 08常见问题

VS Code、Cursor 和 JetBrains 的 IDE 终端默认收不到 Claude Code 的桌面通知,因为 Claude Code 只会向 iTerm2、Ghostty 和 Kitty 发送通知。要收到提醒,可以设置 "preferredNotifChannel": "terminal_bell" 让 IDE 处理响铃,或者在 ~/.claude/settings.json 中添加一个 Notification hook 来显示桌面通知或发送 push。无论在集成终端还是 VS Code 扩展的聊天面板中,hook 都会触发,因为两者读取的是同一个设置文件。

01IDE 为什么没有动静

Claude Code 的内置提醒取决于它所运行的终端。在默认设置下,它只在 iTerm2、Ghostty 和 Kitty 中弹出桌面通知,Anthropic 的终端文档也明确指出 VS Code 集成终端收不到通知。JetBrains 终端的情况相同。终端响铃指南解释了 preferredNotifChannel 的每个取值。

在 VS Code 和 Cursor 中运行 Claude Code 有两种方式,两者的区别很关键:

扩展聊天面板在集成终端中运行 claude
运行的是什么扩展内置的 Claude Code你自己安装的独立 CLI
设置~/.claude/settings.json~/.claude/settings.json(同一个文件)
Hook会触发会触发
内置桌面通知文档未说明默认无
Terminal bell 设置不适用取决于 IDE 是否处理响铃

JetBrains IDE(IntelliJ IDEA、PyCharm、WebStorm、GoLand、Android Studio 等)的情况与右侧一列相同:Claude Code 插件会在 IDE 的集成 terminal 中运行 claude 并与之连接。

02方案 1:terminal 响铃

如果 claude 运行在集成 terminal 中,在 ~/.claude/settings.json 中加入:

{
  "preferredNotifChannel": "terminal_bell"
}

这样 Claude Code 需要你处理时会发出响铃字符,之后怎么提醒由 IDE 决定。VS Code 和 Cursor 通过无障碍信号(accessibility signal)设置处理 terminal 响铃,在设置中搜索“terminal bell”即可选择提示音。在 JetBrains IDE 中,请查看对应版本的 terminal 设置。没戴耳机或 IDE 在后台时,响铃很容易被忽略,所以大多数人会接着用方案 2。

03方案 2:Notification hook

Hook 会运行你指定的命令,在所有 IDE 中都可用,无论是 terminal 还是 VS Code 聊天面板。下面这个在 macOS 上显示桌面通知:

{
  "hooks": {
    "Notification": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "osascript -e 'display notification \"Claude Code needs your attention\" with title \"Claude Code\"'"
          }
        ]
      }
    ]
  }
}

在 Linux 上用 notify-send 'Claude Code' 'Claude Code needs your attention',在 Windows 上用一条 PowerShell 命令;Linux 指南和 Windows 指南里有测试过的版本。如果 osascript 在 macOS 上没有任何显示,打开 System Settings > Notifications,允许 Script Editor 发送通知,osascript 的通知就是以这个 app 的名义发出的。

在 VS Code 扩展中,不用打开文件也能查看 hook:打开 Customize 区域并选择 Hooks,即可看到当前会话加载的 hook,按事件分组(需要 Claude Code v2.1.269 或更高版本)。

如果想在 Claude 完成时立即收到提醒,而不只是在它等待时,再加一个 Stop hook。Claude 完成时获取通知的指南展示了两者如何搭配使用。

VS Code 扩展中的触发时机不同

在 terminal 中,permission_prompt 通知要等 prompt 大约六秒没有按键才会触发,每按一次键都会重新计时。而在 VS Code 扩展(以及 Claude Desktop)中,根据 Anthropic 的文档,它会在 Claude 发出请求约六秒后触发,打字不会推迟它;如果你提前作答,则不会触发。如果在面板里工作时觉得太吵,可以设置环境变量 CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS=1 将其关闭。Notification hook 指南列出了所有通知类型及其触发时机。

04远程窗口:SSH、WSL、dev container 和 JetBrains Remote Development

IDE 通知最常在这里出问题。当 VS Code 或 Cursor 窗口连接到 SSH 主机、WSL 或 dev container 时,Claude Code 运行在那台系统上,读取的是那里的 ~/.claude/settings.json,而不是你笔记本上的。你的 hook 也在那里运行。这时 osascript 或 notify-send 这类桌面命令没有桌面可用,会静默失败。

JetBrains Remote Development 也类似:Claude Code 插件必须安装在远程主机上,Claude Code 也在那里运行。

可行的替代方案:

  • Windows 上的 WSL:hook 可以通过 Windows 互操作调用 powershell.exe,只要它在 WSL 内的 PATH 中。
  • SSH 主机和容器:通过网络把提醒发到能触达你的地方,比如 ntfy,或 Telegram、Slack 或 Discord webhook。SSH 指南介绍了各种选项。

05通过 /ide 使用外部 terminal

如果想用内置桌面通知,可以在 iTerm2、Ghostty 或 Kitty 中运行 Claude Code,再用 /ide 命令连接到 IDE。查看 diff 和共享选区仍通过 IDE 完成,提醒则由外部 terminal 发出。在 iTerm2 中需要先开启提醒设置,见 terminal 响铃指南。

06其他值得了解的事

  • Shift+Enter:在 VS Code 和 Cursor 中运行一次 /terminal-setup,Shift+Enter 就能插入换行。JetBrains 的 terminal 不支持,可以用 Ctrl+J,或先输入 \ 再按 Enter。
  • Remote Control:可以在 VS Code 扩展中用 /remote-control 启动 Anthropic 的 Remote Control,在 Claude 手机 app 上跟进会话。它有自己的套餐和登录要求,见对比。
  • 多个窗口:如果在多个 IDE 窗口中运行 Claude Code,在提醒中加上项目文件夹,就知道是哪个在等你。hook 的输入包含 cwd。见同时运行多个会话。

07Claude Code Notifier 的定位

如果你就坐在 IDE 前,用 Notification hook 调用系统自带的通知工具是个不错的免费方案。但离开屏幕时它就帮不上忙,也无法直接作答。

Claude Code Notifier 的 ccn 同样是一个 hook,所以在 IDE terminal 中和在其他 terminal 中一样可用,支持 Mac、Windows 和 Linux。单独安装时,它会在 Claude 完成、需要权限或提问时显示桌面通知。配对手机后,你可以在手机上对权限请求选择允许一次、本会话内允许或拒绝,选择 Claude 问题的答案,并发送下一条指令。如果你在最近 30 秒内打过字,terminal 会照常询问,手机上不会有待处理的请求。手机推送经由中继发送,而不是本地桌面,所以如果把 ccn 装在 IDE 窗口所连接的远程机器上,手机照样能收到。Claude Code Notifier 是独立产品,并非 Anthropic 出品。见 ccn 页面和配对手机。

08常见问题

为什么 Claude Code 在 VS Code 中不通知我?

VS Code 集成 terminal 收不到 Claude Code 的内置桌面通知。在 ~/.claude/settings.json 中设置 "preferredNotifChannel": "terminal_bell" 或添加 Notification hook,然后开启新会话。

Claude Code VS Code 扩展支持 hook 吗?

支持。Claude Code 在 IDE 扩展中触发的 hook 事件与 terminal 中相同,扩展和 CLI 共用 ~/.claude/settings.json。扩展的 Customize 区域可以查看和编辑 hook。

在 Cursor 中能用吗?

能。Cursor 可以安装同一个 Claude Code 扩展,claude 在其集成 terminal 中的运行方式与 VS Code 相同。上面的内容全部适用。

我的 hook 在本地能用,但在 Remote SSH 窗口里不行,为什么?

在远程窗口中,Claude Code 及其 hook 都运行在远程机器上,而那台机器没有桌面环境。请在那台机器上编辑 ~/.claude/settings.json,改用 ntfy 这类网络 push,而不是桌面通知命令。

Claude Code Notifier Claude Code 完成任务或需要你介入时,手机会收到 push,你可以直接在手机上批准、拒绝或回复。ccn 命令行工具在 Mac、Windows 和 Linux 上均可免费使用。
下载 iOS 版 下载 Android 版 安装 ccn

相关指南

  • Claude Code 内置通知:terminal bell 与 preferredNotifChannel介绍 Claude Code 内置提醒的工作方式、preferredNotifChannel 各个取值的作用,以及如何配置 iTerm2、Apple Terminal、Kitty、Ghostty 和 tmux。
  • 如何在 Claude Code 完成时收到通知用 Stop hook 提示“已完成”,用 Notification hook 提示“需要输入”。附 Mac、Windows 和 Linux 上可直接复制的配置,以及手机提醒方案。
  • Claude Code Notification hook:何时触发、如何使用Claude Code 的 Notification hook 何时触发,permission_prompt 和 idle_prompt 的含义,它接收的输入,以及为什么会延迟触发。
  • 通过 SSH 在远程服务器上接收 Claude Code 通知通过 SSH 在 VPS 或远程服务器上运行 Claude Code,照样能收到通知:用能经 SSH 传回的 terminal 转义序列,或者用 ccn 推送到手机。
claude-code-notifier

Claude Code Notifier 是一款独立的第三方应用,与 Anthropic, PBC 无关联,亦未获其认可或赞助。“Claude”和“Claude Code”是 Anthropic, PBC 的商标。

应用 iOS 应用 Android 应用 适用于 macOS、Windows 和 Linux 的 ccn 全部指南
法律信息 隐私政策 服务条款 其他语言 © 2026 touchtap。保留所有权利。 TouchTap Ltd 注册于英格兰和威尔士,公司编号 13942589。