[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".

为什么需要可配置

  1. 复杂 MCP/Agent 工作流频繁触发 -- 多个 MCP 服务器 + 并行 Agent + Workflow 编排场景下, 一轮 10 次工具调用很快就耗尽
  2. Continue 机制有代价 -- 每次 Continue 重新发送完整上下文, 消耗 token 和缓存, 变相加速 5 小时限制用尽
  3. Max 用户应该有更高上限 -- 付费更高的用户应该有分层限制, 目前 Pro/Max 限制完全一样

现有情况

  • settings.json 中无任何相关键 (已验证 125+ 键的完整参考)
  • 环境变量中无相关配置 (已验证官方 env-vars 文档)
  • CLI --max-turns 只控制 agentic 轮数 (print mode), 不是 tool calls per turn
  • 相关 issue: #33969 (工具调用上限被意外降低的回归报告)

期望

新增一个用户可配置的设置项, 至少支持以下位置之一:

  1. settings.json: "maxToolCallsPerTurn": 50
  2. 环境变量: CLAUDE_CODE_MAX_TOOL_CALLS_PER_TURN=50
  3. CLI 标志: claude --max-tool-calls-per-turn 50

或者, 如果服务端有限制无法绕过, 至少允许 Pro/Max 用户获得更高的默认上限 (分层策略).

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗