Claude Code Monitor 工具:讓背景程序主動通知你

上週用 Claude Code 跑一個需要等 dev server 啟動的任務,以前的做法是讓 Claude 跑完 npm run devsleep 5,然後再去 curl 確認有沒有起來。這個做法很脆弱——5 秒不一定夠,也可能浪費,更別說 Claude 在等待期間完全停擺,什麼都不能做。

v2.1.98(2026/04/09)悄悄加進去的 Monitor 工具徹底解決了這個問題。

Monitor 是什麼

Monitor 是 Claude Code 的一個內建工具,讓 Claude 可以在背景啟動一個 shell 指令,並且把該指令的每一行 stdout 即時串流回對話,而不阻塞主線程。

用 Anthropic 工程師 alistair 的說法:

Claude spawns a background process and each stdout line streams into the conversation, without blocking the thread.

簡單說就是:指令的每一行輸出,都會變成一個通知打進 Claude 的對話。Claude 收到通知後決定要不要採取行動,沒有輸出就什麼都不消耗。

跟以前輪詢的差別

以前 Claude Code 沒有這個工具時,等待背景程序有幾種方式:

方式問題
sleep N 然後繼續N 猜錯就等太久或太短
loop 裡 curl / check每輪都消耗 token,效率差
用 Bash 工具阻塞等待整個主線程卡住

Monitor 是事件驅動的:背景程序沉默時 Claude 完全不消耗任何東西;一旦有輸出,那一行立刻被處理。對一個每小時才 crash 一次的 dev server,這差距非常明顯。

怎麼用

Monitor 是 Claude 的內部工具,你不需要自己呼叫。只要在指令裡告訴 Claude 你想監控什麼,Claude 就會決定要不要用 Monitor,以及用它執行什麼指令。

幾個常見的用法說明:

等 dev server 準備好

用 monitor tool 監控 `npm run dev`,等到看到 "ready" 或 "listening on" 之後,
再去 curl localhost:3000 確認回應正常。

Claude 會在背景跑 npm run dev,監控輸出,看到 server ready 訊號後才繼續做下一步,不需要猜要 sleep 幾秒。

監控測試跑完

用 monitor tool 跑 `npm test`,如果有 test failure 就立刻告訴我哪個 case 壞了。

Claude 邊跑測試邊看輸出,任何 fail 出現就立刻反應,不需要等整個測試套件跑完。

盯 kubectl log

Anthropic 官方的範例就是這個:

Use the monitor tool and `kubectl logs -f | grep ..` to listen for errors, make a pr to fix

Claude 在背景持續 tail log,看到符合條件的錯誤就自動開去修,完全不需要人盯著。

監控 CI 或 file watcher

monitor `cargo watch -x test`,如果 compilation error 出現就幫我修。
TIP — 搭配 Bash 工具的差異

用 Bash 工具跑長時間指令,Claude 的主線程會一直等到指令結束才繼續。Monitor 是非阻塞的,Claude 可以在等待期間繼續思考或回應,只在有事件進來時才處理。

技術原理簡述

Monitor 的運作方式:

  1. Claude 在背景 spawn 一個 subprocess 跑你指定的指令
  2. 該 subprocess 的每一行 stdout 都會被捕捉
  3. 每行輸出即時傳回主 session 當作一個「通知」
  4. Claude 決定這個通知需不需要採取行動
  5. 如果 subprocess 沉默,什麼都不發生,token 消耗為零

這跟傳統的 polling 有本質差異:polling 是 Claude 主動定期去問「有沒有事」,Monitor 是背景程序有事才通知 Claude。

實際感受

我拿這個工具試了幾個情境:

最明顯的改善是等 build。以前跑 cargo build 等編譯,Claude 就一直在 Bash 工具裡等,什麼都做不了。現在用 Monitor,Claude 可以邊等 build 邊整理文件或寫測試,build 成功後再繼續推進。

另一個很有用的場景是等第三方 webhook:讓 Claude monitor 一個 log 檔,有新的 webhook 事件進來就立刻解析處理,這種 reactive 的工作流以前在 Claude Code 裡很難做到。

NOTE — Linux 終端機用戶適用

Monitor 工具是 CLI 層面的功能,在所有平台的終端機都可以用,不受 Desktop App 的平台限制影響。

小結

Monitor 工具解決的是 AI agent 裡一個很基礎但很惱人的問題:怎麼讓 agent 對非同步事件有反應,而不是靠猜測或輪詢。把它跟 Routines 結合的話,可以做出相當複雜的自動化流程——Routines 定義觸發條件,Monitor 負責在 session 執行期間持續監控環境狀態。

這種從「我去問你有沒有事」到「你有事再告訴我」的轉變,感覺是 Claude Code 往真正自主代理方向邁的重要一步。


資料來源:

留言