2026 年 3 月 7 日,Anthropic 为 Claude Code 引入了 /loop 命令和底层的 CronCreate/CronDelete/CronList 工具,使 Claude Code 能够在会话内定时执行任务——从每分钟一次的健康检查到每小时的状态汇报。[1]
本指南分七个章节展开:/loop 命令语法与原理、CronCreate 持久化工具、Desktop/Cloud 定时任务、双层监控架构设计、Channel 联动、多 Agent 编排、注意事项与常见陷阱。所有方案均经过实际项目验证。[1][2]
/loop 命令详解
一行命令,让 Claude 变成定时执行的后台 Agent
/loop 是 Claude Code 内置的 bundled skill,于 2026 年 3 月 7 日发布。它的核心功能是:在当前会话中,按照指定间隔反复执行一段提示词或斜杠命令。你不需要写 cron 表达式——用自然语言描述意图即可。[1]
基本语法
/loop [interval] <prompt or slash command>
# 支持的时间单位
s — 秒(会向上取整到最近的分钟)
m — 分钟
h — 小时
d — 天
实战示例
/loop 5m check if the deployment finished and tell me what happened
# 每小时执行 /status skill
/loop 1h /status
# 每 30 分钟检查 PR 状态
/loop 30m check the CI status of PR #42 and summarize any failures
# 每天汇报项目状态
/loop 1d generate a daily status report of all open issues
工作原理
当你输入 /loop 5m check deploy 时,Claude Code 会在后台完成以下步骤:[1][3]
- 解析间隔将
5m转换为标准 cron 表达式*/5 * * * *,秒级单位自动向上取整到分钟。 - 注册定时任务调用底层
CronCreate工具,分配一个 8 字符的唯一任务 ID(如a3f7b2c1),将提示词存入调度队列。 - 低优先级调度调度器每秒检查是否有到期任务,到期的任务被以低优先级入队——只在 Claude 空闲时(两次人工输入之间)触发,不会中断正在进行的对话。[2]
- 执行与输出触发时,Claude 像收到一条新消息一样处理提示词,执行结果显示在终端中,并在 transcript 中标注时间戳。[11]
CronCreate / CronDelete / CronList — 底层定时工具
/loop 的底层引擎,提供更精细的 cron 表达式控制
/loop 是面向用户的简洁入口,底层实际调用的是三个原生工具:CronCreate、CronDelete 和 CronList。当你需要更精细的 cron 表达式控制时,可以直接使用这些工具。[2]
| 工具 | 功能 | 参数 | 返回值 |
|---|---|---|---|
| CronCreate | 创建定时任务 | cron 表达式 + 提示词 | 8 字符任务 ID |
| CronDelete | 删除指定任务 | 任务 ID | 确认信息 |
| CronList | 列出所有任务 | 无 | 任务列表(ID/表达式/提示词/状态) |
Cron 表达式格式
CronCreate 接受标准 5 字段 cron 表达式:分钟 小时 日 月 周几。所有字段支持通配符 *、单值 5、步长 */15、范围 1-5 和逗号列表 1,15,30。[2]
# 每 15 分钟执行
CronCreate("*/15 * * * *", "check build status")
# 每天上午 9 点执行
CronCreate("0 9 * * *", "generate daily report")
# 工作日每 2 小时执行
CronCreate("0 */2 * * 1-5", "scan for new PRs")
# 删除任务
CronDelete("a3f7b2c1")
/loop vs CronCreate 对比
| 维度 | /loop(简洁模式) | CronCreate(精细模式) |
|---|---|---|
| 输入格式 | 自然语言间隔(5m、1h) | 标准 cron 表达式 |
| 灵活度 | 仅支持固定间隔 | 支持复杂调度(如"工作日 9 点") |
| 易用性 | 一行命令即可 | 需要了解 cron 语法 |
| 生命周期 | Session-scoped,3 天过期 | Session-scoped,3 天过期 |
| 任务上限 | 共享 50 个上限 | 共享 50 个上限 |
| 适用场景 | 快速设置监控/提醒 | 需要精确时间控制的任务 |
Desktop & Cloud Scheduled Tasks — 持久化定时 Agent
跨越 session 生命周期,真正的 7x24 自动化
/loop 和 CronCreate 的最大限制是 session-scoped。当你需要任务在关闭终端后、甚至机器重启后依然运行,Claude Code 提供了两层持久化方案:Desktop Scheduled Tasks 和 Cloud Scheduled Tasks。[4]
在 Claude Desktop App 中创建的持久化定时任务。[4]
- 持久化:跨重启存活,只要 Desktop App 打开就运行
- 每次新 session:每次触发时启动全新的 Claude Code session
- 可视化管理:在 Desktop App 中直接查看、编辑、删除
- SKILL.md 配置:任务提示词存储在
~/.claude/scheduled-tasks/<name>/SKILL.md - 电脑休眠时跳过,唤醒后自动补执行一次
运行在 Anthropic 云端的定时任务。[5]
- 全托管:无需本地机器在线,Anthropic 服务器执行
- MCP 继承:自动继承你在 Web 账号中配置的 MCP Server
- 完全持久:跨设备、跨重启、24/7 运行
- Remote Control:可通过手机端 Claude App 远程监控和调整
- 适合不依赖本地文件系统的纯 API 任务
Cowork /schedule 命令
在 Claude Desktop App(Cowork)中,可以使用 /schedule 命令创建持久化定时任务。与 /loop 不同,/schedule 创建的任务可以在 Claude Desktop App 打开期间持续运行。[6]
/schedule every day at 9am check for new GitHub issues and summarize them
# 创建后任务会出现在 Desktop App 的任务面板中
# 可以手动触发、暂停、修改或删除
三层定时方案对比
| 维度 | /loop (CLI) | Desktop Tasks | Cloud Tasks | 传统 Linux cron |
|---|---|---|---|---|
| 持久化 | Session-only | App 打开时 | 永久 | 永久 |
| 重启存活 | 否 | 是 | 是 | 是 |
| 自动过期 | 3 天 | 无 | 无 | 无 |
| AI 理解力 | 完整 Agent | 完整 Agent | 完整 Agent | 纯脚本 |
| 文件系统 | 完整访问 | 完整访问 | 无本地 | 完整访问 |
| MCP 支持 | 本地 MCP | 本地 MCP | Web MCP | 无 |
| 远程监控 | 无 | Remote Control | 手机 App | SSH |
| 上手难度 | 一行命令 | UI 操作 | UI 操作 | 需写脚本 |
| Token 消耗 | 每次触发消耗 | 每次触发消耗 | 每次触发消耗 | 无 |
0 */4 * * * /home/vansin/ai-insight/cron_update_news.sh 每 4 小时触发一次,脚本内部调用 claude -p "/vincent_update-news" 执行推文抓取、AI 翻译、数据库写入的完整 pipeline。这种方案兼具 cron 的可靠性和 Claude 的智能理解力。[7]