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 terminal 中接收 Claude Code 通知

更新於 2026年10月31日 · 閱讀時間 7 分鐘
本頁內容 01為什麼 IDE 沒有動靜 02方法一:terminal bell 03方法二:Notification hook 04遠端視窗:SSH、WSL、dev container 與 JetBrains Remote Development 05搭配 /ide 使用外部 terminal 06其他值得注意的事 07Claude Code Notifier 的角色 08常見問題

VS Code、Cursor 與 JetBrains 的 IDE terminal 預設收不到 Claude Code 的桌面通知,因為 Claude Code 只會送給 iTerm2、Ghostty 與 Kitty。若要收到提醒,可以設定 "preferredNotifChannel": "terminal_bell" 讓 IDE 處理鈴聲,或在 ~/.claude/settings.json 中加入 Notification hook 來顯示桌面通知或傳送 push。無論是在整合式 terminal 還是 VS Code 擴充功能的聊天面板,hook 都會觸發,因為兩者讀取的是同一個設定檔。

01為什麼 IDE 沒有動靜

Claude Code 的內建提醒取決於它所執行的 terminal。在預設設定下,它只會在 iTerm2、Ghostty 與 Kitty 中發出桌面通知,而 Anthropic 的 terminal 文件也明確列出 VS Code 整合式 terminal 收不到通知。JetBrains 的 terminal 情況相同。terminal 鈴聲指南說明了 preferredNotifChannel 的每個值。

在 VS Code 與 Cursor 中執行 Claude Code 有兩種方式,兩者的差異很重要:

擴充功能聊天面板在整合式 terminal 中執行 claude
執行的程式擴充功能內附的 Claude Code你自行安裝的獨立 CLI
設定~/.claude/settings.json~/.claude/settings.json(同一個檔案)
Hooks會觸發會觸發
內建桌面通知文件未說明預設沒有
Terminal bell 設定不適用IDE 有處理 bell 就能用

JetBrains IDE(IntelliJ IDEA、PyCharm、WebStorm、GoLand、Android Studio 等)的情況和右欄相同:Claude Code 外掛會在 IDE 的整合式 terminal 中執行 claude 並與之連線。

02方法一:terminal bell

若 claude 是在整合式 terminal 中執行,請在 ~/.claude/settings.json 加入:

{
  "preferredNotifChannel": "terminal_bell"
}

之後 Claude Code 需要你時就會送出 bell 字元,接下來怎麼處理由 IDE 決定。VS Code 和 Cursor 透過協助工具的訊號設定處理 terminal bell;在設定中搜尋「terminal bell」即可選擇音效。JetBrains IDE 請查看對應版本的 terminal 設定。沒戴耳機或 IDE 在背景時很容易漏掉 bell,所以多數人會接著採用方法二。

03方法二: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 上沒有任何反應,請開啟系統設定 > 通知,允許 Script Editor 發送通知,osascript 的通知就是從這個 app 發出的。

在 VS Code 擴充功能中,不必開檔就能檢查 hooks:開啟 Customize 區塊並選擇 Hooks,即可看到本次 session 載入的 hooks,依事件分組(需 Claude Code v2.1.269 以上)。

如果想在 Claude 完成的當下收到通知,而不是等它在等待時才通知,請再加上 Stop hook。Claude 完成時通知指南有兩者並用的範例。

VS Code 擴充功能的觸發時機不同

在 terminal 中,permission_prompt 通知會等到 prompt 約六秒沒有按鍵才觸發,每按一次鍵就會往後延。根據 Anthropic 文件,在 VS Code 擴充功能(以及 Claude Desktop)中,它會在 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,而不是你筆電上的。你的 hooks 也在那裡執行,因此 osascript 或 notify-send 這類桌面指令沒有桌面可顯示,會默默失敗。

JetBrains Remote Development 也類似:Claude Code 外掛必須裝在遠端主機上,Claude Code 也在那裡執行。

可行的替代做法:

  • Windows 上的 WSL:只要 powershell.exe 在 WSL 內的 PATH 中,hook 就能透過 Windows interop 呼叫它。
  • SSH 主機與 container:透過網路把通知送到你收得到的地方,例如 ntfy,或 Telegram、Slack 或 Discord webhook。SSH 指南介紹了各種選項。

05搭配 /ide 使用外部 terminal

如果想用內建桌面通知,可以在 iTerm2、Ghostty 或 Kitty 中執行 Claude Code,再用 /ide 指令連到 IDE。檢視 diff 和分享選取內容仍透過 IDE 運作,通知則由外部 terminal 發出。iTerm2 需先啟用其提醒設定,詳見 terminal bell 指南。

06其他值得注意的事

  • Shift+Enter:在 VS Code 和 Cursor 中執行一次 /terminal-setup,Shift+Enter 就能換行。JetBrains terminal 不支援,請改用 Ctrl+J,或先輸入 \ 再按 Enter。
  • Remote Control:Anthropic 的 Remote Control 可在 VS Code 擴充功能中用 /remote-control 啟動,讓你在 Claude 手機 app 上追蹤 session。它有自己的方案與登入要求,請參閱比較文章。
  • 多個視窗:如果你在多個 IDE 視窗中執行 Claude Code,請在通知中加上專案資料夾,才知道是哪一個需要你。Hook 的輸入包含 cwd。請參閱同時執行多個 session。

07Claude Code Notifier 的角色

如果你人就在 IDE 前,搭配平台通知工具的 Notification hook 是不錯的免費方案。但離開螢幕時它幫不上忙,也無法讓你回應。

Claude Code Notifier 的 ccn 同樣是 hook,所以在 IDE terminal 中的運作方式和其他 terminal 一樣,支援 Mac、Windows 與 Linux。單獨安裝時,它會在 Claude 完成、需要權限或提出問題時顯示桌面通知。配對手機後,你可以在手機上對權限請求選擇允許一次、本次 session 皆允許或拒絕,選擇 Claude 問題的答案,並送出下一個指令。如果你在最近 30 秒內有打字,terminal 會照常詢問,手機端不會等待。手機 push 透過 relay 傳送而非本機桌面,因此若把 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,然後開啟新的 session。

Hooks 在 Claude Code VS Code 擴充功能中有效嗎?

有效。Claude Code 在 IDE 擴充功能中觸發的 hook 事件與 terminal 相同,擴充功能和 CLI 也共用 ~/.claude/settings.json。擴充功能的 Customize 區塊可以檢視和編輯 hooks。

在 Cursor 中也能用嗎?

可以。Cursor 可以安裝同一個 Claude Code 擴充功能,claude 也會像在 VS Code 中一樣在整合式 terminal 執行。以上內容全部適用。

我的 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 的通知在 VPS 或遠端伺服器上透過 SSH 執行 Claude Code,照樣能收到通知:使用可經由 SSH 傳回的 terminal escape sequence,或透過 ccn 推送到手機。
claude-code-notifier

Claude Code Notifier 為獨立的第三方應用程式,與 Anthropic, PBC 並無關聯,亦未獲其背書或贊助。「Claude」及「Claude Code」為 Anthropic, PBC 之商標。

App iOS App Android App ccn(macOS、Windows、Linux) 所有指南
法律資訊 隱私權政策 服務條款 其他語言 © 2026 touchtap. 保留所有權利。 TouchTap Ltd 註冊於英格蘭和威爾斯,公司編號 13942589。