Claude Code 的 Routines:哪些在雲端執行,哪些留在你的機器上,以及怎麼選
Routines 是 Claude Code 在你不在場時執行已儲存提示詞的方式:按計劃、由 API 呼叫或由 GitHub 事件啟動,作為一個 cloud session,在你儲存庫的全新克隆上執行。它們目前處於研究預覽階段。Claude Code 還有兩種在本地安排工作的方式,即桌面應用的定時任務和 /loop,而三者的行為並不相同:最小間隔、對本地檔案的訪問、權限確認,以及筆記本睡眠時會發生什麼。本指南結合文件中的限制把三者擺在一起,再解釋為什麼我們自己的七個夜間代理執行在一台本地機器上。
Claude Code 現在有三種不用你親手輸入就能執行提示詞的方式,名字重疊到誰都會搞混:Routines、桌面應用的定時任務,以及 /loop。桌面應用甚至在同一個頁面裡建立前兩種。它們的區別在於自動化工作時唯一要緊的那一點:代理在哪裡執行,因此它能看到什麼。
本指南結合文件中寫明的限制逐一介紹這三者(2026 年 10 月 4 日核實;Routines 處於研究預覽階段,Anthropic 表示其行為、限制和 API 都可能變化)。然後說明我們自己的做法:每天晚上我們這邊有七個代理啟動,沒有一個是 routine。原因很具體,未必適用於你。
routine 是什麼
routine 是一份儲存好的 Claude Code 配置:一段提示詞、一個或多個 GitHub 儲存庫和一組聯結器,打包一次,自動執行。它執行在 Anthropic 託管的雲端基礎設施上,或者在你的組織把它轉過去時執行在組織的自託管環境上。你的筆記本可以合上。
每次執行都是一個完整的 cloud session。由此帶來四個後果,要記住的就是這四點:
- 每次都是全新克隆。 每個儲存庫在執行開始時從預設分支克隆。除非你的提示詞另有說明,Claude 會把工作推送到一個以
claude/為前綴的分支。你機器上任何未提交的東西,對 routine 來說都不存在。 - 沒有權限確認。 沒有權限模式選擇器。會話會執行 shell 命令,使用提交到儲存庫裡的 skills,呼叫所含每個聯結器的每個工具,包括寫操作,中途不會停下來詢問。
- 是聯結器,不是你的本地 MCP 伺服器。 你 claude.ai 帳戶的所有聯結器預設都會包含,文件建議你移除 routine 用不到的那些。用
claude mcp add在本地新增的伺服器留在你的機器上,不在這個列表裡。提交一個.mcp.json是另一條入口。 - 它以你的身份行事。 Routines 屬於你的個人帳戶。提交和 pull request 帶著你的 GitHub 使用者,Slack 訊息和 Linear 工單使用你關聯的帳戶。
Routines 適用於 Pro、Max、Team 和 Enterprise 套餐。你可以在 claude.ai/code/routines、桌面應用(Code 分頁、Routines、New routine、Cloud)或 CLI 中建立。
三種觸發器
一個 routine 可以帶一個觸發器,也可以同時帶多個。
定時。 按你的本地時間每小時、每天、工作日或每週執行,或者在未來某個時刻只執行一次。最小間隔是一小時。文件裡有個值得知道的細節:正好排在整點的執行可能會晚幾分鐘啟動,所以在乎時間時,選 9:07 而不是 9:00。
API。 每個 routine 都有自己的端點和自己的 bearer 令牌,令牌在網頁上生成(CLI 不能建立或撤銷令牌)。一個 POST 就會啟動一個會話並返回它的 URL:
curl -X POST https://api.anthropic.com/v1/claude_code/routines/trig_01ABCDEFGHJKLMNOPQRSTUVW/fire \
-H "Authorization: Bearer sk-ant-oat01-xxxxx" \
-H "anthropic-beta: experimental-cc-routine-2026-04-01" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{"text": "Sentry alert SEN-4521 fired in prod."}'
text 欄位並不是作為指令到達 routine 的。它被包在一個標明其為不可信資料的塊裡,所以儲存的提示詞必須明確表示要用它(「調查 routine-fire-payload 塊中描述的告警」),否則這段文字只是不起作用的上下文。這個預設設定是對的:任何持有令牌的人都能傳送文字。
GitHub。 pull request 事件和 release 事件,可以按作者、標題、正文、基礎分支、頭分支、標籤、草稿狀態和合並狀態篩選。儲存庫上必須安裝 Claude GitHub App。每個事件啟動各自的會話,超出每小時上限的事件會被丟棄。
在 CLI 裡:/schedule
/schedule 透過對話建立一個定時 routine,/routines 是它的別名。
/schedule daily PR review at 9am
/schedule in 2 weeks, open a cleanup PR that removes the feature flag
/schedule list
/schedule update
/schedule run
自定義 cron 表示式要用 /schedule update 設定。從 CLI 新增 GitHub 觸發器需要 Claude Code v2.1.225 或更高版本;API 觸發器只能在網頁上建立。
如果 /schedule 回答 「Unknown command」,常見原因是認證:這個命令要求用 claude.ai 訂閱登入。shell 裡的 ANTHROPIC_API_KEY、settings.json 裡的 apiKeyHelper,或者透過 Bedrock 或 Vertex 登入,都會讓它被隱藏。
依賴它之前要知道的限制
Routines 和任何互動式會話一樣消耗你的訂閱用量。此外,每種啟動執行的方式都有每小時上限,沒有超額:
| 操作 | 上限 | 計算範圍 |
|---|---|---|
| 定時執行,含一次性執行 | 每小時 100 次 | 你的帳戶 |
| Run now、API 觸發、重新設定一次性執行 | 每小時 30 次 | 每個 routine |
| API 觸發 | 每小時 100 次 | 你的帳戶 |
文件裡還有三點在實踐中容易踩坑。GitHub 連線缺失或過期,會讓 routine 跳過執行最多 72 小時,然後自行關閉。訂閱暫停會讓 Routines 掛起。另外,綠色的執行並不代表任務成功:它表示會話啟動並退出時沒有基礎設施錯誤。
兩種本地選項
桌面應用的定時任務就是同一個 New routine 按鈕裡的 Local 選項。它們在你的機器上執行,使用你檔案的當前狀態,包括未提交的改動,除非你勾選了 worktree 選項。每個任務有自己的權限模式。問題在文件的一句話裡:只有桌面應用在執行、電腦處於喚醒狀態時,任務才會執行。睡眠期間該跑的執行會被跳過,喚醒後應用只會針對過去七天裡最近一次錯過的時間補跑一次。提示詞儲存在 ~/.claude/scheduled-tasks/<task-name>/SKILL.md。
/loop 在一個開啟的 CLI 會話裡重複執行提示詞:/loop 5m check the deploy。它繼承會話的權限和 MCP 伺服器,最多容納 50 個任務,重複任務七天後過期。關掉終端它就停了。它適合用一個下午盯著一次建置或一個 pull request,不適合夜間作業。
按文件的說法並排比較:
| Routine(雲端) | 桌面應用的定時任務 | /loop | |
|---|---|---|---|
| 執行在 | Anthropic 的雲端 | 你的機器 | 你的機器 |
| 機器需要開著 | 否 | 是 | 是 |
| 需要開啟的會話 | 否 | 否 | 是 |
| 本地檔案 | 否,全新克隆 | 是 | 是 |
| 權限確認 | 無 | 按任務 | 繼承會話 |
| 最小間隔 | 1 小時 | 1 分鐘 | 1 分鐘 |
怎麼選
三個問題就能定。
這項工作是否完全在儲存庫裡、在聯結器後面就能完成? 給 issue 打標籤、評審每個新的 pull request、對照已合併的改動檢查文件:routine 就是合適的工具。不用讓任何機器保持喚醒,結果以分支的形式送達。
這項工作是否需要只存在於你機器上的東西? VPN 後面的資料庫、你已登入的瀏覽器、未提交的檔案、本地 MCP 伺服器:那就留在本地。routine 會從一個這些都沒有的克隆開始。
它需要比每小時更頻繁地執行,或者在一分鐘內做出反應嗎? 同樣用本地,或者如果外部系統能呼叫它,就用 API 觸發器。
為什麼我們的七個夜間代理不是 Routines
我們每天晚上 20:00 在一台 Mac mini 上執行七個定時代理。它們閱讀當天的提交、修復 bug、修正這個網站、在社交網路上發帖,併發郵件彙報。完整的配置和提示詞在另一篇文章裡。Routines 出現時,我們問了那個顯而易見的問題:為什麼還要讓一台機器開著?
四個原因,都對照上面的文件核實過。
- 它們在一個共享的、未提交的工作樹裡工作。 這些代理會拉取程式碼,閱讀彼此當晚的報告,邊做邊提交。其中幾個在同一個小時裡動同一個檢出。每次執行都用全新克隆,就會丟掉同一支團隊兩個步驟之間的交接。
- 其中一個從真實的瀏覽器發帖。 社交代理從一個登入了三個社交網路的 Chrome 會話發帖。這個會話在這台機器上。雲端 VM 裡沒有這樣的瀏覽器。
- 它們使用本地 MCP 工具。 待辦清單、專案記憶、提示詞庫和開發命令,都是執行在那台機器上的應用所提供的 MCP 伺服器。它們不是 claude.ai 聯結器。
- 它們不全是 Claude Code。 routine 用 claude.ai 訂閱執行 Claude Code。我們的排程器則啟動任務指定的任何 CLI。
所以我們用的是 AgentsRoom 的定時任務:一個觸發器就是一段提示詞、一個代理或一支團隊,加上一個頻率,在我們選定的機器上啟動。它是應用內的排程器,不是伺服器:只要 AgentsRoom 在那台機器上開著它就會觸發,下次啟動時補跑錯過的執行,還能為下一次執行設定作業系統的喚醒定時器。這和 Claude 桌面應用的定時任務是同樣的約束,區別在於代理可以是 Codex、Antigravity 或任何其他 CLI,而且觸發器也可以由 webhook 觸發,或在工單交付時觸發。
這些都不會讓 Routines 變成錯誤的選擇。如果我們的夜間工作是「用我們的清單評審每個 pull request」,我們會把它做成帶 GitHub 觸發器的 routine,然後關掉 Mac mini。而當需求是為一個任務準備一台一次性機器、而不是一項重複作業時,那又是另一種工具,見 「Claude remote agents」到底指什麼。
常見問題
Claude Code 的 Routines 和定時任務是一回事嗎?
不完全是。routine 在雲端執行,是一個完整的 Claude Code cloud session,基於你儲存庫的全新克隆,可以按計劃、由 API 呼叫或由 GitHub 事件啟動。桌面應用的定時任務在你自己的機器上執行,使用你的本地檔案,並且只在 Claude 桌面應用開啟、電腦處於喚醒狀態時執行。/loop 在一個開啟的 CLI 會話裡重複執行一段提示詞。桌面應用的 Routines 頁面可以建立前兩種:點 New routine,再選 Cloud 或 Local。
Claude Code 的 routine 最多能多頻繁地執行?
定時觸發器的最小間隔是一小時:比這更頻繁的 cron 表示式會被拒絕。預設選項有每小時、每天、工作日和每週,/schedule update 可以設定自定義的 cron 表示式。在訂閱用量之外,一個帳戶每小時最多啟動 100 次定時執行,Run now 和 API 觸發對每個 routine 的上限是每小時 30 次。桌面應用的定時任務和 /loop 可以低至一分鐘。
執行 Routines 需要我的電腦開著嗎?
不需要。routine 執行在 Anthropic 託管的雲端基礎設施上,或者在你的組織把它轉過去時執行在自託管環境上,所以合上筆記本它也照常工作。代價是它看不到你的機器:它從預設分支的全新克隆開始,只帶著你 claude.ai 帳戶的聯結器和它所在雲端環境的網路訪問。你用 claude mcp add 在本地新增的 MCP 伺服器不可用,除非你把它們新增為聯結器,或者提交一個 .mcp.json。
Routines 要額外付費嗎?
文件裡沒有單獨的價格:在 Pro、Max、Team 和 Enterprise 套餐上,Routines 和互動式會話一樣消耗訂閱用量。當一個 routine 觸及你的用量上限時,後續執行會被拒絕,直到視窗重置;如果開啟了用量額度,則會按超額計費繼續執行。每小時的執行次數上限沒有超額可言。
routine 能執行 Codex、Antigravity 或其他 CLI 嗎?
不能。routine 是一份儲存好的 Claude Code 配置,而 /schedule 要求用 claude.ai 訂閱登入:當 Claude Code 透過 API 金鑰或雲服務商認證時,這個命令會被隱藏。要排程其他 CLI,你需要 Claude Code 之外的排程器:cron 加上該 CLI 的無頭模式、CI 的定時計劃,或者一個能為任意 CLI 啟動代理的工具,這正是 AgentsRoom 定時任務所做的事。
為什麼我的 routine 什麼都沒做卻顯示綠色?
因為狀態描述的是會話,而不是任務。文件說得很直白:綠色狀態表示會話啟動並退出時沒有基礎設施錯誤,並不表示你提示詞裡的任務成功了。被攔截的網路請求、缺失的聯結器工具和任務層面的失敗,只會出現在會話記錄裡。開啟那次執行,或者問 CLI:在 Claude Code v2.1.227 及以上版本中,/schedule 後面跟一個關於該 routine 的問題,會列出它最近的執行並讀取日誌。
下載 AgentsRoom
在一個視窗中執行你所有專案的所有 AI 代理。
配套應用:隨時隨地監控你的 Agent
使用 Claude、Codex、Antigravity CLI 或其他 AI 提供商。
把 Bug 和需求直接傳送到您的公開待辦清單。
繼續閱讀
我的 AI 跑步教練是一個 Git 儲存庫加一個 Claude 代理
跑完一趟,手錶自動同步,三分鐘後分析已經寫進我的儲存庫,本週計劃被重新調整過,教練還在 Strava 活動下留了一條評論。沒有做 App,沒有寫伺服器,沒有按 token 計費的帳單:一個 Claude 訂閱、AgentsRoom,加上一堆 Markdown 檔案。下面是完整的搭建過程,可以照著復現。
閱讀全文AI 代理迴圈:自我糾錯的編碼代理如何把活幹完
AI 代理迴圈把「提示加修補」變成一個自我糾錯的閉環:代理先寫計劃,再動手實現,然後對照計劃檢查自己的成果,迴圈往復直到完成。看看這個迴圈在 Claude Code、Codex、Antigravity CLI、Cursor 和 Ralph loop 中是怎麼運轉的。
閱讀全文七個 AI 代理替我們守夜:程式設計之外的定時代理,附完整提示詞
一位使用者問我們,除了寫程式碼,還拿 AI 代理做什麼。從 8 月 28 日起,七個定時代理每晚在一台 Mac mini 上啟動:一個值班 CEO、一個 SEO 團隊、一個產品經理、一個修 bug 的修復員、一個社媒團隊、一個文件員,還有一個把 25 行摘要發成郵件的彙報員。33 個夜晚,31 封早間郵件,51 個附帶提交連結的 bug 修復,7 篇 20 種語言的部落格文章。每個代理做什麼,它們如何不交談就把工作交接下去,哪個模型幹哪份活,它們的提示詞不得不學會的四條規則,以及可以直接複製的提示詞本身。
閱讀全文