14.2 /loop 命令:定时任务调度器
面向经管学生、研究者与从业者的 AI 智能体设计教材

/loop 是 Claude Code v2.1.71 新增的内置命令,定位为会话级定时任务调度器(Session-level Scheduled Task Scheduler)。它允许用户用一句自然语言,让 Claude 在后台按固定间隔自动重复执行某个任务。
基本语法
/loop [时间间隔] <任务描述>时间间隔可以放在任务描述前面,也可以嵌入自然语言中,还可以省略。省略时默认 10 分钟。
时间间隔格式
| 单位 | 缩写 | 示例 | 说明 |
|---|---|---|---|
| 秒 | s |
30s |
向上取整到 1 分钟(最小粒度限制) |
| 分钟 | m |
5m、30m |
最常用的间隔单位 |
| 小时 | h |
1h、2h |
适合定期巡检 |
| 天 | d |
1d |
适合每日汇总任务 |
知识卡片:cron 表达式
/loop 底层使用标准 cron(Cron Expression)调度。cron 是 Unix 系统的定时任务机制,用五个字段描述执行时间:分 时 日 月 星期几。你不需要手写 cron 表达式——/loop 会把自然语言的时间间隔自动转换为 cron 格式。但了解这一点有助于理解为什么最小粒度是 1 分钟:cron 本身不支持秒级调度。
用法示例
▶ Claude Code
/loop 5m 检查部署是否完成
▶ Claude Code
/loop 30m 检查当前分支的 PR,如果 CI 失败了,看看报错日志,能修的就修掉并 push
▶ Claude Code
/loop 1h 读取 data/ 目录下最新的 CSV 文件,汇总关键指标,写入 daily-summary.md
▶ Claude Code
/loop 24h 总结过去 24 小时 main 分支的所有提交,包括 PR 标题、作者、改了哪些文件,写到 daily-change.md
/loop 还可以嵌套调用已有的 Skill:
▶ Claude Code
/loop 1h /review-pr
一次性提醒
除了循环任务,/loop 也支持一次性定时提醒。执行后自动删除,不会重复触发:
▶ Claude Code
remind me at 3pm to push the release branch
▶ Claude Code
in 45 minutes, check whether the integration tests passed
任务管理
查看当前所有定时任务:
▶ Claude Code
what scheduled tasks do I have?
取消某个任务:
▶ Claude Code
cancel the deploy check job
也可以用底层命令直接操作。/loop 背后有三个底层工具:
| 工具 | 功能 |
|---|---|
CronCreate |
创建定时任务,接受 cron 表达式、提示词和是否循环 |
CronList |
列出所有定时任务的 ID、调度计划和提示词 |
CronDelete |
通过 8 位 ID 取消指定任务 |
通常你不需要直接调用这些工具,用自然语言管理任务即可。
技术限制
/loop 是轻量级调度器,有明确的能力边界:
| 约束项 | 说明 |
|---|---|
| 会话级 | 任务绑定当前终端 session,关闭终端即全部消失 |
| 不持久化 | 重启 Claude Code 后所有任务清空 |
| 不补跑 | Claude 繁忙时错过的触发不会补执行,空闲后只触发一次 |
| 不插队 | Claude 正在响应对话时,定时任务排队等待 |
| 最多 50 个 | 每个 session 最多同时运行 50 个定时任务 |
| 3 天过期 | 循环任务创建 72 小时后自动过期 |
| 最小粒度 | 1 分钟(cron 限制) |
| 时区 | 使用本地时区 |
| 抖动机制 | 循环任务有最多 10%(上限 15 分钟)的随机延迟 |
会话级限制
/loop 创建的所有任务在终端关闭后立即消失,不会自动恢复。如果你需要跨重启的持久化调度,考虑 Claude Code Desktop 的 scheduled tasks 功能,或用 GitHub Actions 的 cron trigger 在服务端定时运行。
可以通过环境变量 CLAUDE_CODE_DISABLE_CRON=1 完全禁用调度器。