Claude Code 桌面版支援多任務並行,推出 Routines 非同步自動化功能

4 月 15 日,Anthropic 對 Claude Code 桌面應用程式進行了一次徹底的重新設計,同時發佈了一項名為 Routines 的新功能。

這次改動的核心訊號是:Claude Code 不再是你下指令、它執行的單執行緒工具,而是開始朝多工非同步工作的方向演進。

對於每天使用 Claude Code 工作的開發者來說,這兩件事都值得仔細關注。

桌面版改了什麼

多工作階段管理:左側側欄,同時執行多個任務

改版後,左側新增了一個側欄,顯示所有活躍與歷史工作階段。可以按狀態、專案、環境來篩選,也可以按專案分組。

如果你之前開著三個終端機、每個都執行著一個 Claude Code 工作階段,現在可以在一個介面裡管理所有這些。

快捷鍵 Command+; 可以在目前任務執行的同時分岔出一個問題——不干擾主執行緒,但能跟 Claude 討論一下這個錯誤是怎麼回事。這個設計相當實用:長時間任務執行期間你往往有很多問題,但又不想打斷它。

開發工具內建化

一些以前要切出去使用的工具被直接整合進桌面應用程式中:

  • 內建終端機:執行測試、進行建置,不用切換到系統終端機。
  • 內建檔案編輯器:快速修改幾行不用開啟其他編輯器。
  • 重新設計的 Diff 檢視器:專為大規模變更最佳化,大型 PR 的 diff 不再卡頓。
  • 擴充預覽面板:支援 HTML 檔案、PDF、本機應用程式伺服器的即時預覽。

這些是生產力細節,單獨來看不算重大功能,但組合起來會減少在不同工具之間切換所花費的時間。

檢視模式與版面配置自訂

新增三種檢視模式,控制 Claude 工具呼叫的可見程度:

  • Verbose:查看 Claude 在做什麼,每一步都顯示。
  • Normal:預設模式,關鍵步驟可見。
  • Summary:只看最終結果。

每個面板都支援拖曳調整位置,可以依照自己的習慣排版。CLI 外掛也支援了,SSH 工作階段在 Mac 和 Linux 上也能使用——對遠端開發者來說是個實用的補充。

Routines:讓 Claude Code 在你不在的時候繼續工作

這才是這次發佈裡真正值得單獨拿出來說的功能。

Routines 把提示詞、程式碼倉庫和連接器打包成一個可執行的設定。它可以按計劃觸發、透過 API 呼叫觸發,或者——這個特別有意思——透過 GitHub 事件觸發,比如有人提交了 PR。

舉一個實際場景:

有人給你的倉庫提交了一個 PR → Routines 自動觸發 → Claude Code 執行程式碼審查、執行相關測試、產生審查意見 → PR 裡自動出現評論。

這整個流程不需要你盯著。

類似的場景還有:每天早上檢查所有未關閉的 Issue、每次合併到 main 後自動更新文件……這些原本要寫指令碼、設定 CI 的事情,現在可以用自然語言描述給 Routines 執行。

目前限制:

  • 每天執行次數有上限(具體上限取決於訂閱方案)。
  • 目前是 Research Preview 狀態,還不是穩定的正式功能。
  • 在 Anthropic 的 Web 基礎設施上執行,不在本機執行。

Pro、Max、Team、Enterprise 方案都可以申請試用。

這次改動說明了什麼

從 Routines 可以感受到 Anthropic 對 Claude Code 定位正在改變。以前的邏輯是你坐在那裡,跟 Claude 對話,它幫你寫程式碼。現在開始變成你定義好規則和觸發條件,Claude 在背景一直執行著幫你幹活。

這跟整個 AI 程式設計工具賽道的走向一致:從結對程式設計助手變成自主執行的軟體工程師。

Cursor 有 Background Agent,GitHub Copilot 有 Coding Agent,現在 Claude Code 有 Routines。

差別在於,Claude Code 的 Routines 和程式碼倉庫事件(GitHub PR)的綁定是直接內建的——不需要自己寫 Webhook 或設定第三方整合。對於日常使用 GitHub 的團隊來說,這個接入路徑相對順暢。

總結

這次改版沒有發佈新模型、沒有刷新測試分數,但在產品層面把 Claude Code 往真正的工程工具方向推了一步。

多工作階段管理解決的是並行工作的問題,Routines 解決的是非同步工作的問題。兩者加起來,Claude Code 開始有了一點生產級工具的樣子——不只是個對話框,而是能執行在你的工作流程裡的系統。

參考來源:CocoLoop、Anthropic Rebuilds Claude Code Desktop App Around Parallel Sessions(MacRumors)