命令字典
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
限制Agent回合数(仅打印模式)
--max-turns <number>claude -p --max-turns 3 "query"--max-turns 用来限制 agent 的回合数,只在 print mode(-p / --print)下生效。官方 CLI reference 的原文描述是:
Limit the number of agentic turns (print mode only). Exits with an error when the limit is reached. No limit by default.
--max-turns <number>)。--input-format stream-json 搭配时:如果上限结束了一个 turn,而此时仍有排队中的消息,该消息会继续排队,并启动一个有独立上限的新 turn。关于"一个 turn 到底算什么",官方文档没有定义。第三方站点 claudelog 称"每次 tool call 消耗一个 turn",这只是第三方说法,不是官方定义。
claude -p --max-turns 3 "query"
第三方站点的示例(非官方):
claude -p "Fix linting errors" --max-turns 1
claude -p "Debug authentication" --max-turns 2 --verbose
-p / --print。官方明确标注 "print mode only"。--max-budget-usd 是并列的 print mode 限制:前者限制回合数,后者限制估算花费。官方示例是 claude -p --max-budget-usd 5.00 "query"。两者可以同时使用,官方文档没有说明同时触发时的优先级。--input-format stream-json 组合时的行为见上文。--max-turns 互斥的 flag。截至本次访问的官方 CLI reference,没有为 --max-turns 列出对应的 env var 或 settings.json 字段,因此不在此给出对照表。
| 约束 | 原因 |
|---|---|
| 仅 print mode 有效 | 官方文档标注 "print mode only" |
| 默认无上限 | 官方文档:"No limit by default" |
| 触达上限后以错误退出 | 官方文档:"Exits with an error when the limit is reached";具体退出码未说明 |
claude -p 设置回合上限,避免 agent 在循环中持续运行。claudelog 也提到这个用途(第三方)。--max-budget-usd 并用,同时限制回合数和估算花费(官方文档中两者并列,组合使用是据此作出的推断)。