命令字典
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
重复运行提示直到会话关闭
/loop [interval] [prompt]/loop 5m check if the deploy finished/loop 是 Claude Code 内置的 bundled skill,在当前会话内将一条提示或命令按指定节奏反复执行,底层通过 cron 调度实现。
版本要求: Claude Code v2.1.72 或更高版本(claude --version 可确认)。无需额外订阅,但 Bedrock、Vertex AI、Microsoft Foundry 等托管平台上部分行为受限(见运行约束)。
语法:
/loop [interval] [prompt]
三个参数组合对应三种模式:
| 提供内容 | 示例 | 行为 |
|---|---|---|
| 间隔 + 提示 | /loop 5m check if the deploy finished | 提示按固定 cron 调度运行 |
| 仅提示 | /loop check the deploy | Claude 动态决定每轮间隔(1 分钟至 1 小时) |
| 仅间隔或完全省略 | /loop / /loop 15m | 运行内置维护提示(或 loop.md 自定义内容) |
/loop 5m check if the deployment finished and tell me what happened
间隔可前置(30m),也可以自然语言后置(every 2 hours)。支持的单位:
| 单位 | 含义 | 注意 |
|---|---|---|
s | 秒 | 向上取整到最近分钟(cron 精度限制) |
m | 分钟 | — |
h | 小时 | — |
d | 天 | — |
不能整除成标准 cron 步进的间隔(如 7m、90m)会被圆整到最近合法值,Claude 会告知实际选定的间隔。
/loop check whether CI passed and address any review comments
每轮结束后 Claude 根据观察到的状态自行选择延迟——构建进行中时较短,PR 安静时较长。结束时会打印所选延迟及理由。Claude 也可能直接调用 Monitor tool 以流式监听输出,避免轮询,效率更高。
平台限制:在 Bedrock、Vertex AI、Microsoft Foundry 上,省略间隔时退化为固定 10 分钟调度,而非动态调度。
/loop)/loop
每轮依序执行:
不会自行发起新任务;不可逆操作(push、删除)仅在会话已授权的前提下继续。
/loop 20m /review-pr 1234
可以把另一个 skill 或 saved command 作为 prompt 传入,每轮重新触发。
loop.md当裸 /loop 运行时,Claude 优先读取以下位置的文件替代内置维护提示:
| 路径 | 生效范围 |
|---|---|
.claude/loop.md | 项目级,优先于用户级 |
~/.claude/loop.md | 用户级,适用于所有项目 |
文件为普通 Markdown,写法如同直接键入 /loop 的 prompt。修改后下一轮迭代立即生效,无需重启。文件超过 25,000 字节的部分会被截断。
示例(维护 release 分支):
Check the `release/next` PR. If CI is red, pull the failing job log,
diagnose, and push a minimal fix. If new review comments have arrived,
address each one and resolve the thread. If everything is green and
quiet, say so in one line.
平台限制:Bedrock、Vertex AI、Microsoft Foundry 上
loop.md不生效,裸/loop仅打印用法说明。
export CLAUDE_CODE_DISABLE_CRON=1
设置后 cron 工具和 /loop 均不可用,已调度的任务停止触发。
| 约束 | 说明 |
|---|---|
| 最小间隔 1 分钟 | cron 精度限制;秒级间隔向上取整 |
| 会话作用域 | 关闭终端或开新会话后任务停止;--resume / --continue 可恢复未过期任务 |
| 七天自动过期 | 周期任务创建 7 天后自动触发最后一次后删除自身 |
| 每会话最多 50 个任务 | 超出需先删除旧任务 |
| 不补偿错过的触发 | Claude 正忙时错过的间隔不会补跑;恢复空闲后触发一次 |
| Jitter(抖动) | 周期任务在计划时间后最多延迟 30 分钟(或间隔一半,取较小值)触发;一次性任务若整点/半点触发则提前最多 90 秒。偏移由任务 ID 确定性推导,同一任务偏移量固定 |
Cloud Routines (/schedule) | Desktop 定时任务 | /loop | |
|---|---|---|---|
| 运行位置 | Anthropic 云端 | 本机 | 本机 |
| 需要机器开机 | 否 | 是 | 是 |
| 需要会话保持 | 否 | 否 | 是 |
| 跨重启持久 | 是 | 是 | 仅 --resume 且未过期 |
| 访问本地文件 | 否(fresh clone) | 是 | 是 |
| 最短间隔 | 1 小时 | 1 分钟 | 1 分钟 |
| 过期限制 | 无 | 无 | 7 天 |
| 典型场景 | 无人值守定期任务 | 持久本地自动化 | 会话内快速轮询 |
/loop 5m check if the staging deploy finished — 每 5 分钟汇报结果,部署完成后停止/loop(或配合 loop.md),自动处理 review 评论、修复失败 CI/loop check if the build job passed and summarize errors if not/loop):remind me at 3pm to push the release branch/loop 20m /review-pr 1234 把已有 skill 变成定时任务七天过期(不是三天):部分第三方文章误标为"3 天",官方文档明确为 7 天。任务第 7 天触发最后一次后自动删除,需要更长周期请改用 Cloud Routines 或 Desktop 定时任务。
Esc 只停 /loop 本身:Esc 清除 /loop 发起的 pending wakeup,但通过自然语言让 Claude 创建的其他 CronCreate 任务不受影响,需单独 cancel。
关闭终端 = 任务全停,无追跑:重新开 session(非 --resume)后所有任务消失;--resume 可恢复 7 天内的任务,但错过的触发不补偿。
Bedrock / Vertex / Foundry 行为不同:动态调度、loop.md 均不可用;省略间隔时固定 10 分钟,省略 prompt 时仅打印 usage。
整点/半点 Jitter 陷阱:对精确时间有要求时,避免用 0 或 30 分钟触发(会产生最大 90 秒偏移);改用如 3 9 * * *(每天 9:03)的非整点表达式。
| 操作 | 效果 |
|---|---|
Esc(等待下一轮时按) | 取消 /loop 的 pending wakeup,不再触发 |
自然语言:cancel the deploy check job | 让 Claude 调用 CronDelete 删除指定任务 |
what scheduled tasks do I have? | 让 Claude 调用 CronList 列出所有任务及 ID |
CLAUDE_CODE_DISABLE_CRON=1 | 全局禁用调度器(环境变量) |
在远程会话中不再推广
修复 Claude 空闲时 Esc/Ctrl+C 无法取消待处理 wakeup 的问题
支持按 Esc 取消待定 wakeup,改进唤醒提示标签显示
修复了在Bedrock/Vertex/Foundry和禁用telemetry时不可用的问题
新增命令用于在指定间隔重复运行提示或斜杠命令(如 `/loop 5m check the deploy`)。