[Feature] 允许用户配置每轮工具调用上限 (per-turn tool call limit)
Resolved 💬 2 comments Opened Jun 8, 2026 by phpmac Closed Jun 12, 2026
问题描述
Claude Code 当前有一个硬编码的每轮工具调用上限 (约 10-20 次), 达到后显示 "Claude reached its tool-use limit for this turn", 用户只能点击 Continue 继续.
此上限来源: Anthropic API 服务端 server-side sampling loop 默认 10 次迭代后返回 stop_reason: "pause_turn".
为什么需要可配置
- 复杂 MCP/Agent 工作流频繁触发 -- 多个 MCP 服务器 + 并行 Agent + Workflow 编排场景下, 一轮 10 次工具调用很快就耗尽
- Continue 机制有代价 -- 每次 Continue 重新发送完整上下文, 消耗 token 和缓存, 变相加速 5 小时限制用尽
- Max 用户应该有更高上限 -- 付费更高的用户应该有分层限制, 目前 Pro/Max 限制完全一样
现有情况
settings.json中无任何相关键 (已验证 125+ 键的完整参考)- 环境变量中无相关配置 (已验证官方 env-vars 文档)
- CLI
--max-turns只控制 agentic 轮数 (print mode), 不是 tool calls per turn - 相关 issue: #33969 (工具调用上限被意外降低的回归报告)
期望
新增一个用户可配置的设置项, 至少支持以下位置之一:
- settings.json:
"maxToolCallsPerTurn": 50 - 环境变量:
CLAUDE_CODE_MAX_TOOL_CALLS_PER_TURN=50 - CLI 标志:
claude --max-tool-calls-per-turn 50
或者, 如果服务端有限制无法绕过, 至少允许 Pro/Max 用户获得更高的默认上限 (分层策略).
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗