產生 Claude Code、Codex 與 Gemini CLI 的通知設定。
鉤子(hook)是一小段指令,AI 代理會在指定時機執行,例如完成回覆時。這個免費工具會幫你寫好鉤子或內建通知設定。
選擇你的代理、想收到通知的時機(工作完成,或需要你核准),以及通知方式。本頁會產生確切的設定片段,告訴你該放在哪個檔案,也能將它合併到該檔案的副本中。Claude Code 使用 Stop 和 Notification 鉤子;Codex 與 Gemini CLI 則使用各自的鉤子。你輸入的內容都不會離開瀏覽器。
選擇通知方式。
下方選項需要 JavaScript。未啟用時,本頁會顯示最常用的設定:Claude Code 完成工作或需要你處理時,顯示 Mac 橫幅通知。
你的設定。
請至少選擇一個時機:完成時,或需要你處理時。
若只需要 Mac 橫幅通知,你可能不必使用鉤子。若要手機通知、語音播報或僅播放音效,請使用下方產生的鉤子。在 iTerm2、Ghostty 和 Kitty 中,當 Claude Code 完成工作或需要你處理,而且判斷你似乎不在終端機前時,就會顯示桌面通知。使用 iTerm2 時,還要開啟 Settings > Profiles > Terminal,勾選 Notification Center Alerts,點按 Filter Alerts,再開啟 Send escape sequence-generated alerts。鉤子會與內建通知同時運作,兩者都啟用時,你可能會收到兩次通知。
若只需要 Mac 橫幅通知,你可能不必使用鉤子。若要手機通知、語音播報或僅播放音效,請使用下方產生的鉤子。Codex 的終端機通知預設已開啟。根據 Codex 文件,這些通知使用跳脫序列,部分終端機會將它顯示為桌面通知,因此你的終端機可能已經會顯示。若只想在選定的時機收到通知,請使用下方的 [tui] 設定。這些設定控制的是 Mac 上的通知,無法取代手機通知鉤子。
若只需要 Mac 橫幅通知,你可能不必使用鉤子。若要手機通知、語音播報或僅播放音效,請使用下方產生的鉤子。Gemini CLI 的內建通知在 iTerm2、WezTerm、Ghostty 和 Kitty 中會顯示為桌面通知。這是實驗性功能,預設關閉:請在 Gemini CLI 中透過 /settings > General > Enable Notifications 開啟。內建通知與下方鉤子請擇一使用,否則會收到兩次通知。
使用鈴聲的 Codex 內建通知。
選用:Codex 內建的 Mac 通知。
放在 ~/.codex/config.toml 中
如果檔案中已有 [tui] 區段,請勿再次加入 [tui] 這一行。在現有區段下,更新已存在的相關鍵值,只加入缺少的項目。重複的 [tui] 區段標頭,或同一個鍵出現兩次,都會讓 Codex 無法讀取檔案。
鈴聲會產生什麼效果,取決於你的終端機。在 Terminal 中,開啟 Settings > Profiles > Advanced > Bell,即可選擇音效、標記或彈跳的 Dock 圖示。
你所選通知方式的鉤子。
放在 ~/.claude/settings.json~/.codex/hooks.json~/.gemini/settings.json 中
將這些項目加入檔案的 "hooks" 物件中,與現有項目並列。請勿取代整個檔案,因為裡面可能還有你的其他設定與其他工具的鉤子。設定檔必須遵守嚴格的 JSON 格式,不能有註解或尾端逗號。更簡單的方式是將目前的檔案內容貼到下方合併欄位。
將這些項目新增到檔案中。Cowork Island 與其他工具也可能寫入同一個檔案,因此請勿覆寫;下方合併欄位可以幫你完成合併。接著開啟 Codex,輸入 /hooks,並將每個新項目設為信任。在你完成這一步之前,Codex 會略過新增或變更過的鉤子。
將這些項目加入檔案的 "hooks" 物件中,與現有項目並列,或使用下方合併欄位。Gemini CLI 鉤子只允許輸出 JSON,因此每個指令最後都會輸出 {}。
將這項設定加入檔案中,與現有設定並列,或使用下方合併欄位。
{
"hooks": {
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "/usr/bin/osascript -e 'on run argv' -e 'display notification (item 1 of argv) with title (item 2 of argv) subtitle (item 3 of argv) sound name \"Glass\"' -e 'end run' 'Claude Code finished' 'Claude Code' \"${PWD##*/}\""
}
]
}
],
"Notification": [
{
"matcher": "permission_prompt|elicitation_dialog|elicitation_url_dialog",
"hooks": [
{
"type": "command",
"command": "/usr/bin/osascript -e 'on run argv' -e 'display notification (item 1 of argv) with title (item 2 of argv) subtitle (item 3 of argv) sound name \"Funk\"' -e 'end run' 'Claude Code needs you' 'Claude Code' \"${PWD##*/}\""
}
]
}
]
}
}
- 在 Claude Code 中,權限通知與已連接工具的輸入請求,會在提示出現約 6 秒後送達;輸入文字會延後通知。這是 Claude Code 的 Notification 鉤子的運作方式。其他問題不一定會觸發這個鉤子。
- 完成通知使用 Stop,每次 Claude 完成回覆時都會觸發,不只是在長任務結束時。當你中斷 Claude 時,它不會觸發。
- 在你接受工作區信任對話框之前,Claude Code 不會執行該資料夾中的鉤子。如果使用公司的 Mac,你的組織可能只允許使用自己的鉤子。
- 這裡使用 Claude Code 的內建設定,不使用鉤子。它涵蓋兩種時機:任務完成,以及權限提示等待回應。你也可以在 Claude Code 中透過
/config> Local notifications 設定。鈴聲的效果取決於你的終端機:在 Terminal 中,請開啟 Settings > Profiles > Advanced > Bell。 - 這會開啟 Gemini CLI 的實驗性內建通知,並要求使用鈴聲。通知涵蓋兩種時機:需要你採取動作,以及工作階段完成。
- PermissionRequest 項目會在背景執行,不會做出任何決定;Codex 仍會顯示原本的核准提示。
- 這些鉤子與 Gemini CLI 的內建通知(
/settings中的 Enable Notifications)請擇一使用,否則會收到兩次通知。 - 根據 Gemini CLI 文件,免費方案與 Google One 使用者已於 2026年6月18日轉移至 Antigravity CLI。這裡的設定適用於 Gemini CLI。
- 如果已開啟的工作階段沒有套用變更,請重新啟動該工作階段。
選用:改用 Codex 的 notify 設定顯示橫幅通知。
Codex 的 notify 設定會在每個回合完成時執行一個程式,核准請求則完全不會觸發。如果使用這項設定,請不要加入上方的 Stop 項目,否則同一次回覆會出現兩則橫幅通知。
1. 將這段內容儲存為 ~/.codex/notify-macos.js
Codex 不會展開這項設定中的 ~,因此必須使用完整路徑。在 Terminal 中執行 echo $HOME 即可查看。
2. 將這一行加入 ~/.codex/config.toml
請在上方輸入你的使用者名稱;輸入前,這一行會顯示 YOUR_NAME。
- 每個檔案只能有一行
notify。如果檔案中已有這項設定,請勿再加入第二行,否則檔案會無法載入。請改用上方的 Stop 鉤子。 - 請將這一行放在檔案頂部附近,位於第一個以
[開頭的行之前。如果放在[tui]之類的區段標頭下方,Codex 會將它視為該區段的一部分,並忽略它。 - Cowork Island 從不使用
notify,因此這一行不會與 App 衝突。
在 Terminal 中測試:
你的隨機命名 ntfy 主題。
ntfy.sh 上的主題是公開的。任何知道或猜到主題名稱的人,都能讀取傳送到該主題的內容,因此請像保護密碼一樣保護它。這就是主題名稱使用瀏覽器產生的 32 個隨機字元的原因。鉤子也只會傳送「Claude Code 已完成」之類的固定文字,絕不傳送代理的回覆或檔案內容。
在手機上安裝 ntfy App,並訂閱這個主題。ntfy.sh 是免費的第三方服務,有自己的每日訊息數量限制。
測試通知。
將這一行貼到 Terminal,然後按 Return。它會執行與鉤子相同的指令,因此會傳送一則測試訊息到你的主題。
/usr/bin/osascript -e 'on run argv' -e 'display notification (item 1 of argv) with title (item 2 of argv) subtitle (item 3 of argv) sound name "Glass"' -e 'end run' 'Claude Code finished' 'Claude Code' "${PWD##*/}"
測試鈴聲。
將這一行貼到 Terminal,然後按 Return:
printf '\a'
允許 Script Editor 顯示通知。這些橫幅通知來自 macOS 的 Script Editor App,而且 macOS 不會先詢問權限。在你允許之前,通知不會出現,也不會有任何訊息說明原因。先執行一次測試指令,再開啟「系統設定」>「通知」,找到 Script Editor,並開啟「允許通知」。
合併到你目前的檔案。
在這裡貼上目前檔案的完整內容,本頁就會加入新項目。檔案中既有的鉤子項目會保持原樣,包括其他工具與 Cowork Island 的項目。如果你選了內建設定,新值會取代舊值,頁面也會指出變更的是哪一項。同一個選項合併兩次,也不會重複新增。你貼上的內容只會留在本頁。
合併功能需要 JavaScript。未啟用時,請依照上方說明手動加入項目。
這個選項沒有需要合併的內容:請依上方說明,將設定加入 ~/.codex/config.toml。
用文字編輯器開啟檔案,選取全部內容,複製後貼到這裡。如果檔案尚不存在,請留白。
如果你也使用 Cowork Island。
Cowork Island 是本工具開發者製作的 Mac App。它連接 Claude Code、Codex 或 Gemini CLI 時,會在相同的檔案中加入自己的項目,與你現有的鉤子並存。只要項目中的指令在任何位置包含 /.perch/(不分大小寫),App 就會將該項目視為自己的項目。它移除或重新加入的是整個項目,而非單一指令。
- 這裡的每段設定都是獨立項目,且絕不指向
~/.perch/內部,因此重新安裝或關閉 Cowork Island 都不會影響它。 - 請勿將這裡的指令貼進 Cowork Island 的項目中,也不要把自己的指令稿放在
~/.perch/,否則 App 會將它們視為自己的內容。 - Cowork Island 的整合開啟時,請勿手動刪除它的項目;App 下次啟動時會重新加入。
- 兩者會並行運作。Claude Code 與 Codex 會同時執行所有符合條件的鉤子,Gemini CLI 則會等待所有鉤子執行完畢。
- 在 Claude Code 中,權限提示的通知使用 Notification 事件,絕不使用 PermissionRequest 鉤子,因此絕不會代你回應請求。
- 在 Gemini CLI 中,本工具會產生 AfterAgent 與 Notification 鉤子,絕不產生 BeforeTool 鉤子。
本頁如何處理你輸入的內容。
所有處理都在你的瀏覽器中完成。產生器不會發出網路請求、不儲存任何內容,也不設定 Cookie;你選擇、輸入或貼上的內容都不會離開本頁。只有在你點按「複製」時,才會將內容寫入剪貼簿。ntfy 主題名稱由瀏覽器內建的亂數產生器產生。與本站其他頁面一樣,這次造訪本身會依照隱私權政策(英文)的說明計入統計。
免設定的方案。
Cowork Island 是本工具開發者製作的 Mac App。它會將你的 AI 代理工作階段集中在瀏海下方的面板中,顯示每個工作階段的狀態,讓你一眼看出哪個需要你處理。有沒有瀏海都能使用。
- Claude Code 與 App 在你 Mac 上找到的工具會自動連線。Codex 會保持關閉,直到你在「設定」中開啟,並在 Codex 中允許 Cowork Island 的鉤子。
- 每個工作階段都會顯示狀態,等待你回應時會顯示「需要你處理」。預設情況下,小島這時會自動展開;但如果該工作階段的終端機或 App 已在前景,就不會展開。
- 工作階段完成時,小島預設會展開 5 秒。
- 使用 Claude Code 時,你可以在小島中允許或拒絕某項操作,或回答選擇題。在小島中回答是免費的。使用其他工具時,你可能需要在該工具自己的 App 或終端機中回應。
- 音效預設關閉,需要你自行開啟。「需要審核」音效可免費使用;「工作階段完成」提示音則包含在 Pro 中。App 本身不會顯示 macOS 橫幅通知。
免費版一次顯示一張工作階段卡片。Pro 會顯示所有工作階段;跳轉回工作階段的視窗、標籤頁或窗格,也是 Pro 的功能。7 天 Pro 試用會自動開始,每台 Mac 限一次,不需要付款資訊。請參閱方案與安裝指南。
免費下載資料來源。
- Claude Code 文件:鉤子參考資料
- Claude Code 文件:鉤子指南
- Claude Code 文件:終端機設定
- Claude Code 文件:設定參考資料
- Codex 文件:鉤子
- Codex 文件:進階設定
- Codex 文件:設定參考資料
- Gemini CLI 文件:鉤子參考資料
- Gemini CLI 文件:通知
- Gemini CLI 文件:設定參考資料
- Mac 自動化指令稿指南:顯示通知
- Terminal 使用手冊:進階設定
- ntfy 文件:發布訊息
- Cowork Island 常見問題與安裝指南
來源查核日期:2026年10月18日。本工具由 Cowork Island 的開發者撰寫。如有需要更正之處,請寄信至 support@coworkisland.com,或在 GitHub 提出 Issue。