Routines của Claude Code: cái gì chạy trên cloud, cái gì ở lại trên máy của bạn, và chọn thế nào

Routines là cách Claude Code chạy một prompt đã lưu mà không cần bạn: theo lịch, khi có một lệnh gọi API hoặc một sự kiện GitHub, dưới dạng một cloud session trên một bản clone mới của repo. Chúng đang ở giai đoạn research preview. Claude Code còn có hai cách cục bộ để lên lịch công việc, các tác vụ định kỳ của ứng dụng desktop và /loop, và ba cách này không hoạt động giống nhau: khoảng cách tối thiểu, quyền truy cập vào tệp cục bộ, yêu cầu cấp quyền, điều gì xảy ra khi laptop ngủ. Hướng dẫn này đặt ba cách cạnh nhau với các giới hạn lấy từ tài liệu, rồi giải thích vì sao bảy agent chạy mỗi đêm của chúng tôi lại chạy trên một máy cục bộ.

Claude Code giờ có ba cách để chạy một prompt mà bạn không cần gõ nó, và tên của chúng chồng lấn nhau đủ để làm bất kỳ ai bối rối: Routines, tác vụ định kỳ của ứng dụng desktop, và /loop. Ứng dụng desktop thậm chí tạo hai loại đầu từ cùng một trang. Chúng khác nhau ở điều duy nhất quan trọng khi bạn tự động hóa công việc: agent chạy ở đâu, và vì thế nó nhìn thấy được gì.

Hướng dẫn này đi qua cả ba với các giới hạn được ghi trong tài liệu (đã kiểm tra ngày 4 tháng 10 năm 2026, Routines đang ở giai đoạn research preview và Anthropic cho biết hành vi, giới hạn và API có thể thay đổi). Sau đó nó giải thích điều chúng tôi tự làm: bảy agent khởi động mỗi tối ở phía chúng tôi, và không agent nào là một routine. Lý do rất cụ thể, và chúng có thể áp dụng cho bạn hoặc không.

Routine là gì

Một routine là một cấu hình Claude Code đã lưu: một prompt, một hoặc nhiều repo GitHub và một bộ connector, được đóng gói một lần và chạy tự động. Nó chạy trên hạ tầng cloud do Anthropic quản lý, hoặc trên môi trường tự lưu trữ của tổ chức bạn khi được chuyển sang đó. Laptop của bạn có thể gập lại.

Mỗi lần chạy là một cloud session đầy đủ. Từ đó có bốn hệ quả, và đây là bốn điều cần nhớ:

  • Một bản clone mới mỗi lần. Mỗi repo được clone khi bắt đầu lần chạy, từ branch mặc định. Claude push công việc của nó lên một branch có tiền tố claude/, trừ khi prompt của bạn nói khác. Không có gì chưa commit trên máy của bạn tồn tại đối với routine.
  • Không có yêu cầu cấp quyền. Không có bộ chọn chế độ quyền. Phiên chạy lệnh shell, dùng các skills đã commit trong repo và gọi mọi công cụ của mọi connector được bao gồm, kể cả thao tác ghi, mà không dừng lại để hỏi.
  • Connector, không phải các máy chủ MCP cục bộ của bạn. Mọi connector của tài khoản claude.ai đều được bao gồm theo mặc định, và tài liệu khuyên bạn gỡ những cái routine không cần. Các máy chủ thêm cục bộ bằng claude mcp add nằm trên máy của bạn và không có trong danh sách. Một tệp .mcp.json đã commit là con đường còn lại.
  • Nó hành động với danh nghĩa của bạn. Routines thuộc về tài khoản cá nhân của bạn. Commit và pull request mang tên người dùng GitHub của bạn, tin nhắn Slack và ticket Linear dùng các tài khoản bạn đã liên kết.

Routines có trên các gói Pro, Max, Team và Enterprise. Bạn tạo chúng tại claude.ai/code/routines, từ ứng dụng desktop (tab Code, Routines, New routine, Cloud), hoặc từ CLI.

Ba bộ kích hoạt

Một routine có thể mang một bộ kích hoạt hoặc nhiều bộ cùng lúc.

Theo lịch. Mỗi giờ, mỗi ngày, các ngày trong tuần hoặc mỗi tuần, theo giờ địa phương của bạn, hoặc một lần chạy duy nhất vào một thời điểm trong tương lai. Khoảng cách tối thiểu là một giờ. Một chi tiết trong tài liệu đáng biết: một lần chạy được lên lịch đúng đầu giờ có thể bắt đầu trễ vài phút, nên hãy chọn 9:07 thay vì 9:00 khi thời điểm quan trọng.

API. Mỗi routine có endpoint riêng và token bearer riêng, được tạo trên web (CLI không tạo hay thu hồi được token). Một yêu cầu POST khởi động một phiên và trả về URL của nó:

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."}'

Trường text không đến routine dưới dạng một chỉ dẫn. Nó đến trong một khối gắn nhãn đây là dữ liệu không đáng tin cậy, nên prompt đã lưu phải nói rõ là dùng nó (“điều tra cảnh báo được mô tả trong khối routine-fire-payload”), nếu không đoạn văn bản chỉ là ngữ cảnh trơ. Đó là mặc định đúng: bất kỳ ai giữ token đều có thể gửi văn bản.

GitHub. Các sự kiện pull request và sự kiện release, với bộ lọc theo tác giả, tiêu đề, nội dung, branch gốc, branch nguồn, nhãn, trạng thái bản nháp và trạng thái đã merge. Claude GitHub App phải được cài trên repo. Mỗi sự kiện khởi động phiên riêng của nó, và các sự kiện vượt mức trần mỗi giờ sẽ bị bỏ qua.

Từ CLI: /schedule

/schedule tạo một routine theo lịch bằng cách trò chuyện, và /routines là một bí danh của nó.

/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

/schedule update là nơi đặt một biểu thức cron tùy chỉnh. Thêm một bộ kích hoạt GitHub từ CLI cần Claude Code v2.1.225 trở lên; bộ kích hoạt API chỉ tạo được trên web.

Nếu /schedule trả lời “Unknown command”, nguyên nhân thường gặp là xác thực: lệnh này yêu cầu đăng nhập bằng gói đăng ký claude.ai. Một biến ANTHROPIC_API_KEY trong shell của bạn, một apiKeyHelper trong settings.json, hoặc đăng nhập qua Bedrock hay Vertex sẽ làm nó bị ẩn.

Các giới hạn cần biết trước khi dựa vào nó

Routines tiêu hao mức sử dụng của gói đăng ký như mọi phiên tương tác. Ngoài ra, mỗi cách khởi động một lần chạy có một mức trần mỗi giờ, không có vượt mức:

Hành độngGiới hạnTính cho
Lần chạy theo lịch, kể cả lần chạy một lần100 mỗi giờTài khoản của bạn
Run now, kích hoạt qua API, đặt lại một lần chạy một lần30 mỗi giờMỗi routine
Kích hoạt qua API100 mỗi giờTài khoản của bạn

Ba điều nữa trong tài liệu gây khó trong thực tế. Một kết nối GitHub bị thiếu hoặc hết hạn khiến routine bỏ qua các lần chạy trong tối đa 72 giờ, rồi tự tắt. Một gói đăng ký bị tạm dừng sẽ đặt Routines vào trạng thái chờ. Và một lần chạy màu xanh không có nghĩa là tác vụ đã thành công: nó có nghĩa là phiên đã khởi động và kết thúc mà không gặp lỗi hạ tầng.

Hai lựa chọn cục bộ

Tác vụ định kỳ của ứng dụng desktop là lựa chọn Local của cùng nút New routine. Chúng chạy trên máy của bạn, với các tệp đúng như hiện trạng, kể cả thay đổi chưa commit, trừ khi bạn đánh dấu tùy chọn worktree. Mỗi tác vụ có chế độ quyền riêng. Điểm vướng nằm trong một câu của tài liệu: tác vụ chỉ chạy khi ứng dụng desktop đang chạy và máy tính đang thức. Một lần chạy rơi vào lúc máy ngủ sẽ bị bỏ qua, và khi máy thức dậy, ứng dụng khởi động đúng một lần chạy bù cho thời điểm bị lỡ gần nhất trong bảy ngày qua. Prompt nằm trong ~/.claude/scheduled-tasks/<task-name>/SKILL.md.

/loop lặp lại một prompt bên trong một phiên CLI đang mở: /loop 5m check the deploy. Nó kế thừa quyền và các máy chủ MCP của phiên, chứa tối đa 50 tác vụ, và một tác vụ lặp lại hết hạn sau bảy ngày. Đóng terminal là nó dừng. Nó được làm ra để trông chừng một bản build hoặc một pull request trong một buổi chiều, không phải cho một công việc chạy mỗi đêm.

Đặt cạnh nhau, theo cách tài liệu trình bày:

Routine (cloud)Tác vụ định kỳ của ứng dụng desktop/loop
Chạy trênCloud của AnthropicMáy của bạnMáy của bạn
Máy phải bậtKhôngCóCó
Cần phiên đang mởKhôngKhôngCó
Tệp cục bộKhông, bản clone mớiCóCó
Yêu cầu cấp quyềnKhông cóTheo từng tác vụKế thừa từ phiên
Khoảng cách tối thiểu1 giờ1 phút1 phút

Chọn thế nào

Ba câu hỏi là đủ để quyết định.

Công việc có nằm trọn trong repo và phía sau các connector không? Gắn nhãn cho issue, review mỗi pull request mới, đối chiếu tài liệu với các thay đổi đã merge: một routine là công cụ phù hợp. Không có gì phải giữ thức, và kết quả đến dưới dạng một branch.

Công việc có cần thứ gì chỉ tồn tại trên máy của bạn không? Một cơ sở dữ liệu sau VPN, một trình duyệt nơi bạn đã đăng nhập, các tệp chưa commit, một máy chủ MCP cục bộ: hãy chạy cục bộ. Một routine sẽ bắt đầu từ một bản clone không có thứ nào trong số đó.

Nó có cần chạy dày hơn mỗi giờ, hoặc phản ứng trong vòng một phút không? Lại là cục bộ, hoặc bộ kích hoạt API nếu một hệ thống bên ngoài có thể gọi nó.

Vì sao bảy agent chạy mỗi đêm của chúng tôi không phải là Routines

Chúng tôi chạy bảy agent theo lịch mỗi tối lúc 20:00 trên một chiếc Mac mini. Chúng đọc các commit trong ngày, sửa bug, chỉnh trang web này, đăng bài lên mạng xã hội và gửi báo cáo qua email. Toàn bộ cách thiết lập và các prompt nằm trong một bài viết riêng. Khi Routines xuất hiện, chúng tôi đặt câu hỏi hiển nhiên: vì sao còn giữ một chiếc máy luôn bật?

Bốn lý do, tất cả đã đối chiếu với tài liệu ở trên.

  1. Chúng làm việc trong một cây thư mục dùng chung, chưa commit. Các agent pull, đọc báo cáo trong đêm của nhau, và commit dần trong lúc làm. Nhiều agent chạm vào cùng một checkout trong cùng một giờ. Một bản clone mới cho mỗi lần chạy sẽ làm mất phần bàn giao giữa hai bước của cùng một đội.
  2. Một trong số chúng đăng bài từ một trình duyệt thật. Agent mạng xã hội đăng bài từ một phiên Chrome đã đăng nhập vào ba mạng. Phiên đó nằm trên máy. Một VM trên cloud không có trình duyệt như thế.
  3. Chúng dùng các công cụ MCP cục bộ. Backlog, bộ nhớ dự án, thư viện prompt và các lệnh dev là các máy chủ MCP của ứng dụng chạy trên chiếc máy đó. Chúng không phải connector của claude.ai.
  4. Không phải tất cả đều là Claude Code. Một routine chạy Claude Code trên một gói đăng ký claude.ai. Trình lập lịch của chúng tôi khởi chạy CLI nào mà tác vụ chỉ định.

Vì vậy chúng tôi dùng tác vụ định kỳ của AgentsRoom: một bộ kích hoạt là một prompt, một agent hoặc một đội, cộng một tần suất, được khởi chạy trên một máy chúng tôi chọn. Đó là một trình lập lịch trong ứng dụng, không phải một máy chủ: nó kích hoạt khi AgentsRoom đang mở trên máy đó, chạy bù một lần chạy bị lỡ ở lần mở tiếp theo, và có thể đặt bộ hẹn giờ đánh thức của hệ điều hành cho lần chạy kế tiếp. Đó là cùng ràng buộc với tác vụ định kỳ của ứng dụng desktop Claude, khác ở chỗ agent có thể là Codex, Antigravity hoặc bất kỳ CLI nào khác, và một bộ kích hoạt còn có thể chạy theo một webhook hoặc khi một ticket được giao xong.

Không điều nào ở trên khiến Routines trở thành lựa chọn sai. Nếu công việc ban đêm của chúng tôi là “review mọi pull request theo checklist của chúng tôi”, chúng tôi sẽ chạy nó thành một routine với bộ kích hoạt GitHub và tắt chiếc Mac mini. Và khi nhu cầu là một chiếc máy dùng một lần cho một tác vụ thay vì một công việc lặp lại, đó lại là một công cụ khác, được mô tả trong “Claude remote agents” nghĩa là gì.

Câu hỏi thường gặp

Routines của Claude Code có giống tác vụ định kỳ không?

Không hẳn. Một routine chạy trên cloud, dưới dạng một cloud session Claude Code đầy đủ trên một bản clone mới của repo, và nó có thể bắt đầu theo lịch, khi có một lệnh gọi API hoặc một sự kiện GitHub. Một tác vụ định kỳ của ứng dụng desktop chạy trên chính máy của bạn với các tệp cục bộ, chỉ khi ứng dụng desktop Claude đang mở và máy tính đang thức. /loop lặp lại một prompt bên trong một phiên CLI đang mở. Trang Routines của ứng dụng desktop tạo hai loại đầu: New routine, rồi Cloud hoặc Local.

Một routine Claude Code có thể chạy thường xuyên đến mức nào?

Khoảng cách tối thiểu của một bộ kích hoạt theo lịch là một giờ: một biểu thức cron kích hoạt dày hơn sẽ bị từ chối. Các mức đặt sẵn là mỗi giờ, mỗi ngày, các ngày trong tuần và mỗi tuần, còn /schedule update đặt một biểu thức cron tùy chỉnh. Tách biệt với mức sử dụng của gói đăng ký, một tài khoản có thể khởi động 100 lần chạy theo lịch mỗi giờ, và Run now cùng các lệnh kích hoạt qua API bị giới hạn ở 30 lần mỗi giờ cho mỗi routine. Tác vụ định kỳ của ứng dụng desktop và /loop xuống được đến một phút.

Routines có cần máy tính của tôi phải bật không?

Không. Một routine chạy trên hạ tầng cloud do Anthropic quản lý, hoặc trên một môi trường tự lưu trữ khi tổ chức của bạn chuyển nó sang đó, nên nó vẫn chạy khi laptop đã gập. Cái giá phải trả là nó không thấy máy của bạn: nó bắt đầu từ một bản clone mới của branch mặc định, với các connector của tài khoản claude.ai và quyền truy cập mạng của môi trường cloud của nó. Các máy chủ MCP bạn thêm cục bộ bằng claude mcp add sẽ không có, trừ khi bạn thêm chúng làm connector hoặc commit một tệp .mcp.json.

Routines có tốn thêm tiền không?

Tài liệu không nêu mức giá riêng: Routines tiêu hao mức sử dụng của gói đăng ký giống như các phiên tương tác, trên các gói Pro, Max, Team và Enterprise. Khi một routine chạm giới hạn sử dụng của bạn, các lần chạy tiếp theo bị từ chối cho đến khi khung thời gian được đặt lại, trừ khi bạn bật tín dụng sử dụng, khi đó chúng tiếp tục chạy và phần vượt mức được tính phí theo lượng dùng. Các mức trần số lần chạy mỗi giờ thì không có vượt mức.

Một routine có thể chạy Codex, Antigravity hoặc CLI khác không?

Không. Một routine là một cấu hình Claude Code đã lưu, và /schedule yêu cầu đăng nhập bằng gói đăng ký claude.ai: lệnh này bị ẩn khi Claude Code được xác thực bằng khóa API hoặc qua một nhà cung cấp cloud. Để lên lịch cho một CLI khác, bạn cần một trình lập lịch nằm ngoài Claude Code: cron cùng chế độ headless của CLI đó, một lịch chạy CI, hoặc một công cụ khởi chạy agent cho bất kỳ CLI nào, đó chính là việc các tác vụ định kỳ của AgentsRoom làm.

Vì sao routine của tôi hiện màu xanh dù nó chẳng làm gì?

Vì trạng thái mô tả phiên, không phải tác vụ. Tài liệu nói thẳng: trạng thái xanh nghĩa là phiên đã khởi động và kết thúc mà không gặp lỗi hạ tầng, không có nghĩa là tác vụ trong prompt của bạn đã thành công. Các yêu cầu mạng bị chặn, công cụ connector bị thiếu và các thất bại ở cấp tác vụ chỉ hiện trong bản ghi phiên (transcript). Hãy mở lần chạy đó, hoặc hỏi CLI: /schedule kèm một câu hỏi về routine sẽ liệt kê các lần chạy gần đây và đọc nhật ký, từ Claude Code v2.1.227 trở lên.

Tải AgentsRoom

Chạy tất cả agent AI của bạn, trên mọi dự án, trong một cửa sổ duy nhất.

Miễn phíTải AgentsRoom

Ứng dụng đồng hành: theo dõi agent khi đi đường

Sử dụng Claude, Codex, Antigravity CLI hoặc nhà cung cấp AI khác.

Tải tiện ích mở rộng
Chrome Web Store

Gửi lỗi và yêu cầu thẳng vào backlog công khai của bạn.

Nhiều dự án
Đa nhà cung cấp
Nhiều agent
Trạng thái trực tiếp
File diff & commit
Ứng dụng đồng hành mobile
Xem trước trực tiếp
Đội agent
Tự động hóa trình duyệt
Dev theo backlog
Thư viện prompt
Thư viện skill
Xem tất cả tính năng

Đọc thêm