Skip to content

Claude Code 提供两种定时任务机制:/loop 是 session 级别的本地周期任务,最长运行 7 天,机器关机即停止;/schedule(Routines)是云端定时任务,即使本地 Claude Code 未运行也能触发。选对机制能让你的自动化工作流持续运转。

Claude Code 定时任务:/loop 与 /schedule 的使用与区别

两种机制一眼对比

/loop/schedule
运行位置本地 session(内存中)云端(Routines)
机器关机后停止继续运行
最长持续7 天(自动过期)无硬性限制
最小间隔1 分钟(cron 最小粒度)取决于云端配置
配置方式/loop <interval> "<prompt>"/schedule <description>
查看状态自动显示在 session 中claude.ai 查看

/loop:本地周期任务

/loop 是内置 Skill,无需额外安装,使用 CronCreate/CronList/CronDelete 工具管理周期调度。

基本用法

bash
# 每分钟报告当前时间
/loop 1m "tell current time"

# 每 5 分钟运行 simplify skill
/loop 5m /simplify

# 每 10 分钟检查部署状态
/loop 10m "check deploy status"

# 每 30 分钟监控 API 健康
/loop 30m "call GET /health and report status"

间隔语法

写法cron 表达式含义
1m*/1 * * * *每 1 分钟
5m*/5 * * * *每 5 分钟
30m*/30 * * * *每 30 分钟
1h0 * * * *每 1 小时

生命周期

  • 最小粒度:1 分钟(cron 限制)
  • 自动过期7 天后自动删除(任务仍会触发最后一次,然后被删除)
  • session 绑定:Claude Code 关闭则任务消失
  • 取消任务cron cancel <job-id>(job-id 在创建时显示)

查看运行中的任务

bash
/tasks    # 显示所有后台任务(包括 loop 任务)

/schedule:云端定时任务(Routines)

/schedule 创建云端 Routine,在 claude.ai 服务器上运行,不依赖本地 Claude Code 是否开启。

bash
# 创建定时任务
/schedule every weekday at 9am, check GitHub issues and summarize new ones

# 列出已有 Routines
/schedule

# 别名
/routines

适用场景

  • 每日晨报、周报生成
  • 定时 API 健康检查(需要机器不关机也能运行)
  • 定期代码质量分析

/loop 的实战场景

场景 1:开发时的定时代码审查

bash
/loop 30m /simplify

每 30 分钟自动对最近修改的代码运行 simplify skill,在你专注编码时在后台持续优化。

场景 2:监控部署

bash
/loop 2m "run curl -s https://api.example.com/health | check if status is ok, report if not"

每 2 分钟检查 API 健康状态,异常时立即在 session 中报告。

场景 3:周期性 git 状态检查

bash
/loop 10m "run git status and git log --oneline -5, summarize what changed"

每 10 分钟汇报仓库状态,适合长时间的重构工作。


关键注意事项

关于 7 天限制

  • /loop 任务在创建 7 天后自动过期,无法续期
  • 如果需要超过 7 天的周期任务,使用 /schedule(云端 Routines)

关于 cron 最小粒度

  • cron 最小单位是 1 分钟,无法设置"每 30 秒"之类的间隔
  • 比 1 分钟更频繁的任务需要在 session 中自定义循环逻辑

关于 hooks 触发

  • loop 任务每次触发都会走完整的 UserPromptSubmitStop hook 生命周期
  • 如果你配置了声音通知等 hooks,每次 loop 触发都会执行

FAQ

Q: /loop 任务和 session 中我正在对话有冲突吗? A: loop 任务只在 session 空闲时触发(Claude 没有在处理其他任务时)。如果你正在对话,loop 任务会等待,不会打断。

Q: 设置了 /loop 1m 但它不按时触发怎么回事? A: /loop 基于 cron,实际触发时间有最多 10% 的抖动(1 分钟任务可能在 54-66 秒间触发)。另外如果 session 在忙,任务会延迟到空闲后执行。

Q: 机器重启后 /loop 任务消失了,怎么办? A: /loop 是 session 级别的内存任务,session 结束即消失。如需跨 session 持久化,使用 /schedule(Routines)替代。

Q: /loop/schedule 可以同时使用吗? A: 可以。它们是完全独立的机制。常见组合:/loop 用于开发期间的临时监控,/schedule 用于生产级的持续自动化任务。