主题
用 routines 自动化工作
在 Anthropic 云端按计划/API/GitHub 事件自动运行 Claude Code 的已保存配置。
是什么
routine 是一份已保存的 Claude Code 配置:包含一段 prompt、一个或多个仓库、一组 connectors,打包一次后自动运行。它在 Anthropic 托管的云端基础设施上执行,因此即使你的笔记本关闭也能持续工作。每个 routine 可挂接一个或多个触发器(Scheduled / API / GitHub),且可组合使用。
routine 属于你个人的 claude.ai 账号,不与队友共享,并计入账号的每日运行额度。routine 通过你连接的 GitHub 身份或 connectors 做的任何操作都以你的身份出现(commit、PR 用你的 GitHub 用户,Slack/Linear 等用你绑定的账号)。当前处于 research preview,行为、限制与 API 可能变化。
怎么工作
- 三种触发器:Scheduled(按 hourly/nightly/weekly 等周期或未来某一时刻运行一次)、API(向每个 routine 专属 endpoint 发 HTTP POST 并带 bearer token)、GitHub(响应 PR、release 等仓库事件);可组合。
- 可在三处创建并管理:web(claude.ai/code/routines)、Desktop app、CLI(/schedule);三者写入同一云端账号,互相即时可见。
- routine 作为完整的 Claude Code 云会话自主运行:没有 permission-mode 选择器,运行中无审批提示;可执行 shell 命令、使用提交到仓库的 skills、调用所含 connectors。
- 每次运行都会克隆所选仓库(从默认分支开始),并创建以 claude/ 为前缀的分支存放改动;每次运行新建一个 session,可查看 Claude 做了什么、审阅改动、创建 PR。
- Schedule 触发:本地时区输入并自动转换为 UTC,按 wall-clock 时间运行;因 stagger 可能比计划时间晚几分钟(每个 routine 偏移固定);自定义间隔在 CLI 用 /schedule update 设 cron,最小间隔 1 小时。
- API 触发:POST 到 /fire endpoint,带 Authorization: Bearer token,可选 text 字段传入运行上下文(freeform 文本,不解析),成功返回新 session 的 ID 与 URL。
- GitHub 触发:需安装 Claude GitHub App(/web-setup 只授权克隆,不安装 App、不启用 webhook);每个匹配事件各启一个独立 session,不复用。
- 环境控制网络访问、环境变量与 setup script(结果会缓存);Default 环境为 Trusted 网络访问,仅放行默认 allowlist,越界请求返回 403 与 x-deny-reason: host_not_allowed。
怎么配置 / 用法
CLI 创建/管理 scheduled routine:
text
/schedule daily PR review at 9am
/schedule clean up feature flag in one week
/schedule tomorrow at 9am, summarize yesterday's merged PRs
/schedule list
/schedule update
/schedule run通过 API 触发 routine:
bash
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. Stack trace attached."}'成功返回:
json
{
"type": "routine_fire",
"claude_code_session_id": "session_01HJKLMNOPQRSTUVWXYZ",
"claude_code_session_url": "https://claude.ai/code/session_01HJKLMNOPQRSTUVWXYZ"
}什么时候用
- Backlog 维护:定时触发,读取自上次运行以来新建的 issue,打标签、按代码区域分派负责人并向 Slack 发摘要。
- 告警处置:监控工具在阈值超限时调用 API endpoint(传 text),routine 关联近期 commit 并开一个含修复建议的草稿 PR。
- 定制化代码审查:GitHub pull_request.opened 触发,按团队 checklist 留 inline 评论与摘要评论。
- 部署校验:CD 流水线在生产部署后调 API endpoint,跑冒烟检查、扫错误日志并向发布频道发 go/no-go。
- 文档漂移 / 库移植:定时扫合并的 PR 标记过时文档并开更新 PR;或 pull_request.closed(仅 merged)把改动移植到另一语言 SDK。
限制 / 坑
- 处于 research preview,行为、限制与 API 面可能变化;/fire 走 experimental-cc-routine-2026-04-01 beta header。
- 需 Pro、Max、Team 或 Enterprise 计划并启用 Claude Code on the web;Team/Enterprise 管理员可全局关闭 routines。
- CLI 的 /schedule 只能创建 scheduled routine;API/GitHub 触发器须在 web 上添加;CLI 不能创建或吊销 token。
- Schedule 自定义 cron 最小间隔 1 小时,更频繁的表达式被拒绝;一次性 one-off 运行后自动停用并标记为 Ran。
- routine 受每个账号每日运行上限约束(one-off 运行不计入该上限,但仍消耗常规订阅用量);preview 期 GitHub webhook 事件有每 routine/每账号小时上限,超出即丢弃。
硬事实速查(11 条)
- 管理入口:web claude.ai/code/routines;CLI 命令 /schedule(含 list / update / run)。
- API token 仅展示一次,事后不可取回;可在同一 modal 用 Regenerate / Revoke 轮换或吊销;每个 routine 各有独立 token,仅作用于触发该 routine。
- 默认 Claude 只能 push 到 claude/ 前缀分支;启用 Allow unrestricted branch pushes 才能推送到已有分支。
- 支持的 GitHub 事件类别:Pull request 与 Release,可选具体 action(如 pull_request.opened)或整类。
- PR 过滤字段:Author、Title、Body、Base branch、Head branch、Labels、Is draft、Is merged;操作符:equals、contains、starts with、is one of、is not one of、matches regex(matches regex 匹配整个字段值)。
- run 列表中绿色状态只表示 session 启动并无基础设施错误退出,不代表 prompt 任务成功,需打开 run 看 transcript。
- Default 环境为 Trusted 网络访问;越界请求返回 403 与 x-deny-reason: host_not_allowed;connectors 流量经 Anthropic 服务器路由,无需加入 Allowed domains。
- connectors 为 claude.ai 上的 integrations;CLI 用 claude mcp add 加的本地 MCP 不出现在列表,须改为 connector 或写入提交的 .mcp.json。
- 创建 routine 时默认包含全部已连接 connectors,Claude 可无审批使用其全部工具(含写操作)。
- CLI /schedule 隐藏(返回 Unknown command)的常见原因:用 Console API key 或 Bedrock/Vertex/Foundry 登录;设了 ANTHROPIC_API_KEY/ANTHROPIC_AUTH_TOKEN/apiKeyHelper;设了 DISABLE_TELEMETRY/DO_NOT_TRACK/CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC/DISABLE_GROWTHBOOK;处于 web session 内;CLI 版本低于 v2.1.81(运行 claude update)。
- /fire endpoint 仅对 claude.ai 用户开放,不属于 Claude Platform API;POST 体的 text 字段为可选 freeform 文本、不解析。