clacky

如何在 Claude Code 或 Codex 完成時收到通知

2026年10月6日 更新

你在 Claude Code 或 Codex 裡開始一個很長的任務,切去做別的事,十分鐘後回來才發現它兩分鐘時就停了,一直在等你按「是」。在代理完成或需要你同意時響一聲或跳出通知,就能解決這個問題。

兩個工具都有免費的方法可以做到。這篇指南先介紹這些方法,再介紹 Clacky 的代理提醒,它會幫你把同樣的東西設定好。

重點整理

  • Claude Code 在 Ghostty、Kitty 和 iTerm2 裡本來就能通知你(iTerm2 需要改一個設定)。在其他終端機裡,加一個掛鉤(hook)。
  • Claude Code 的 Stop 掛鉤會在它完成時觸發;Notification 掛鉤會在它需要你時觸發。把任一個指向 afplay 播放聲音,或指向 osascript 顯示通知。
  • Codex:在 ~/.codex/config.toml 加一行 notify,或打開它內建的終端機通知。
  • 不想改設定檔?Clacky 的代理提醒會幫你加好掛鉤,並為「完成」和「需要你」播放不同的聲音。

代理怎麼告訴你它做完了

Claude Code 或 Codex完成,或需要你
Hook / notify執行你的指令
你聽到了聲音 · 橫幅 · 光暈
本頁的每種方法原理都一樣:代理在對的時機執行一個指令。

兩個工具都能在對的時機執行你指定的指令。這就是通知的本質:Claude Code 叫它 hook(掛鉤),Codex 叫它 notify。不管這個指令做什麼(播放聲音、顯示橫幅、讓螢幕閃一下),都會在代理停下來或要求輸入時發生。

Claude Code:內建通知

Claude Code 完成時,或在權限提示上等待時,可以自己送出桌面通知。Anthropic 的文件說,這在 Ghostty 和 Kitty 裡開箱即用。在 iTerm2 裡,要先打開一次:

  1. iTerm2 → Settings → Profiles → Terminal。
  2. 勾選 Notification Center Alerts。
  3. 按 Filter Alerts,然後啟用 Send escape sequence-generated alerts。

在 tmux 裡執行 Claude Code?在 ~/.tmux.conf 加上 set -g allow-passthrough on,否則通知永遠到不了你的終端機。你也可以在 Claude Code 的 /config 設定裡選擇它怎麼通知你(例如終端機鈴聲)。

來源:Claude Code 文件:終端機設定

Claude Code:會播放聲音的掛鉤

在 Apple 的「終端機」、VS Code 或任何其他終端機裡,用掛鉤就能做到。掛鉤放在 ~/.claude/settings.json(所有專案)或 .claude/settings.json(單一專案)。有兩個事件很重要:

  • Stop:Claude 回答完了。
  • Notification:Claude 需要你(權限提示,或它已經在等你輸入)。

下面這段會在兩種情況都播放 macOS 音效。把它合併到你的設定檔裡(保留檔案中原有的內容):

{
  "hooks": {
    "Stop": [{ "hooks": [{ "type": "command", "command": "afplay /System/Library/Sounds/Glass.aiff" }] }],
    "Notification": [{ "matcher": "", "hooks": [{ "type": "command", "command": "afplay /System/Library/Sounds/Ping.aiff" }] }]
  }
}

比較喜歡橫幅通知?改用這個指令(和 Anthropic 的範例相同):

osascript -e 'display notification "Claude Code needs your attention" with title "Claude Code"'

在 Claude Code 裡輸入 /hooks 可以看到目前設定了什麼。新的掛鉤會套用到儲存後才開始的工作階段。/System/Library/Sounds/ 裡的音效都可以自由使用:Glass、Ping、Pop、Purr、Submarine 等等。

來源:hooks 參考文件 · hooks 指南

Codex:notify 設定

Codex CLI 會在每一輪結束後執行你指定的程式,用 ~/.codex/config.toml 裡的 notify 設定。Codex 會把這一輪的 JSON 描述加在最後一個參數(它的 type 是 agent-turn-complete),簡單的聲音指令可以忽略它:

notify = ["sh", "-c", "afplay /System/Library/Sounds/Glass.aiff"]

notify 是最上層的鍵:要放在檔案裡任何 [section] 的上方。Codex 的終端機介面也有內建通知([tui] 底下的 notifications),會使用終端機本身的通知或鈴聲;看不看得到橫幅取決於你的終端機。

Codex 的 notify 在一輪完成時觸發。它不像 Claude Code 的 Notification 掛鉤那樣,有獨立的「需要你核准」事件。

來源:Codex 文件:進階設定

Clacky 點兩下就搞定

代理提醒會幫你加好掛鉤,為「完成」和「需要你」播放不同的聲音,在你待在終端機或通話時保持安靜,還能讓你的 Mac 保持喚醒到代理完成。免費 7 天,不用信用卡。

Clacky 的代理提醒:一樣的效果,不用改設定

如果你不想改 JSON 和 TOML,Clacky(一個 Mac 選單列 App)有代理提醒。它用的就是上面那些掛鉤,所以沒有東西在看你的螢幕或讀你的終端機:

  1. 打開 Clacky 的主畫面 → 代理提醒。
  2. 在 Claude Code 或 Codex 旁邊,按 設定…。Clacky 會顯示它要加入的確切內容;按 加入掛鉤。它會在原檔案旁邊保留一份備份(settings.json.clacky-backup)。
  3. 按 傳送測試提醒,兩種聲音都聽聽看。

你會得到:

  • 完成(上升的和弦)和需要你(兩下輕敲加一個問句)有不同的聲音,每個代理都有五種聲音可選。
  • 可選的螢幕邊緣柔和光暈,大約一秒。它不會擋住點擊,也絕不會出現在錄影裡。
  • 在前景時保持安靜(代理的終端機是目前使用中的 App 時不出聲)和通話時保持安靜(麥克風使用中時不出聲),兩者預設都開啟。
  • 選單列上每個工作階段一個圓點:處理中、等待中或完成。點一下就能把它的終端機叫到最前面。
  • 保持喚醒 → 直到代理程式完成,長時間的任務不會因為 Mac 睡著而中斷。

Claude Code 可以在任何終端機和 Claude App 的 Code 分頁裡使用。Codex 支援 CLI,會發出完成的聲音(Codex 不會送出「需要你」事件)。如果你的 Codex 設定裡已經有 notify 這一行,Clacky 不會動它,而是告訴你,不會取代它。移除… 只會拿掉 Clacky 加的那幾行。

如果什麼都沒發生

  • 重新開始工作階段。 掛鉤是在工作階段開始時讀取的,所以已經在跑的工作階段不會通知。
  • 確認檔案能正確解析。 settings.json 少一個逗號,所有掛鉤都會失效。把它貼到任何 JSON 檢查工具看看。
  • 單獨測試指令。 在「終端機」執行 afplay /System/Library/Sounds/Glass.aiff。沒聲音?檢查你的輸出裝置和音量。
  • 看不到橫幅? 到「系統設定」→通知檢查你的終端機(使用 osascript 的話是「工序指令編寫程式」),以及專注模式。
  • 同時響兩聲? 你有兩套設定(例如你自己的掛鉤和 Clacky 的)。留一套就好。

常見問題

Claude Code 有內建的通知聲音嗎?

它可以在 Ghostty、Kitty 和 iTerm2 裡自己送出桌面通知(iTerm2 需要打開 Send escape sequence-generated alerts)。想在任何終端機裡有聲音,加一個執行 afplay 的 Stop 或 Notification 掛鉤。

Stop 和 Notification 掛鉤有什麼不同?

Stop 在 Claude 回答完時執行。Notification 在 Claude 需要你時執行:權限提示,或它已經在等你輸入。大多數人兩個都想要,並配上不同的聲音。

Codex 可以在需要核准時告訴我嗎?

Codex 的 notify 程式在一輪完成時執行(agent-turn-complete)。目前它沒有獨立的核准事件,所以你會在這一輪結束時聽到。

Clacky 會讀我的程式碼或提示詞嗎?

不會。掛鉤只會告訴 Clacky 是哪個工具、哪個終端機 App、工作階段 ID,以及發生了什麼(處理中、完成或需要你)。它不會傳遞你的提示詞、程式碼或輸出。什麼都不會傳到任何地方:只是寫進你 Mac 上某個檔案的一行字。

支援 Cursor 嗎?

Clacky 目前還不支援:Cursor 的掛鉤還在測試階段。支援的是 Claude Code 和 Codex CLI。

第一次認識 Clacky?它是一個小小的 Mac 選單列 App,把音效、錄影、截圖、Mac 健康和代理提醒收進同一個主畫面。 查看所有工具 · 免費試用 7 天

2026年10月6日 確認。 有東西變了,或這裡寫錯了?請寄信到 hello@clacky.app。