快速结论:该报错出现在 AI Agent(Tools Agent)配合 Anthropic Chat Model、模型默认开启 thinking 的情况下:历史工具调用的参数被回放成空对象,导致后续工具调用丢失参数并最终耗尽迭代次数。优先检查执行记录中回放的工具输入是否为 input: {},以及 Anthropic 节点的 Thinking Mode 设置。
适用环境:Issue 已确认的环境为 n8n 2.42.2(n8n Cloud,Docker 平台,SQLite 数据库,Node.js 26.7.0);模型为 claude-sonnet-5(默认 thinking),对比验证使用 claude-sonnet-4-6(默认不 thinking)。AI Agent 节点为 Tools Agent 3.1,并连接了两个 Agent Tool 节点,参数通过 $fromAI 传入。操作系统与 Node.js 版本在 n8n Cloud 上不可见。
最快修复方案:暂无确认的一步修复方案。Issue 中报告者验证过的临时规避方式是:将 Anthropic Chat Model 节点的 Thinking Mode 设为 Disabled。官方回复称该问题已修复并将包含在后续版本中,但讨论中未给出具体版本号,因此可优先尝试升级到包含修复的新版本。
注意事项:关闭 Thinking Mode 会同时失去模型的 thinking 能力,属于临时规避而非根因修复;升级后仍需自行验证,因为 Issue 中未标注修复所在的具体版本。报告者提出的代码层修复思路(用完整工具参数构造 input)尚未经过测试。
问题场景
在 n8n 中使用 AI Agent 节点(Tools Agent,版本 3.1),挂接 Anthropic Chat Model 节点并选择 claude-sonnet-5,同时连接多个 Agent Tool 节点,工具参数以 {{ $fromAI('topic', 'The topic to check', 'string') }} 形式传入。当流程需要多步工具调用(先调用工具、读取结果、再调用工具)时,从第二、三步开始,Agent 发出的工具调用不带任何参数,工具因缺少输入而失败,随后 Agent 一路消耗到 maxIterations 上限。
报错原文
AI Agent: Anthropic thinking replay sends earlier tool calls back as `input: {}`
相关代码位置(n8n 2.42.2 与 master 相同):
// packages/@n8n/nodes-langchain/utils/agent-execution/buildSteps.ts, line 115
const toolInputData = toolInput.input;
报告者在执行记录中观察到的具体表现:工具调用失败并返回 No prompt specified,回放的历史工具调用显示为 input: {};关闭 Thinking Mode 后,回放内容变为 args: {"topic": "..."}。
原因分析
可能原因是 buildSteps.ts 在构造 Anthropic 的 thinking 内容块时,从 toolInput.input 读取历史工具调用参数。只有参数恰好存放在名为 input 的键下时才能取到真实内容;而 Agent Tool、$fromAI 字段的参数通常不以 input 为键,因此回放时被替换成空对象 input: {}。与之相对,非 thinking 路径(line 245)直接使用 args: toolInput,保留了真实参数。报告者据此推测,这种空参数回放会让 Claude 在后续步骤中模仿并主动发出空调用。
报告者提供的执行数据:三次 Sonnet 5 运行中,36 个带文本的早期工具调用全部被回放为空;此前一次 claude-sonnet-4-6 运行(默认不 thinking)中,8 个中 0 个出现该情况。该数据来自报告者的实际工作流,非独立最小复现。
环境排查
- 确认 n8n 版本是否为 2.42.2 或存在该代码路径的其他版本。
- 确认 AI Agent 节点为 Tools Agent,版本 3.1。
- 确认 Anthropic Chat Model 使用的模型(
claude-sonnet-5默认开启 thinking)。 - 确认 Thinking Mode 选项的状态:未设置即采用模型默认值。
- 确认工具节点及其参数来源:是否使用 Agent Tool、是否通过
$fromAI传参,以及参数是否位于input键之外。 - 查看执行记录中 Anthropic Chat Model 节点在第二、三步的输入,检查回放的工具调用是否带真实参数。
解决步骤
- 打开出问题的执行记录,进入 Anthropic Chat Model 节点第二步的输入,找到回放的历史工具调用,确认是否显示
input: {},而第一步的真实调用带有{"topic": "..."}等参数。 - 若确认回放为空,先将 Anthropic Chat Model 节点的 Thinking Mode 设为 Disabled,重新运行同一工作流。
- 再次检查执行记录,确认回放的工具调用带有
args: {"topic": "..."}等真实参数,且后续工具调用能正常传入参数、Agent 不再耗尽maxIterations。 - 关注 n8n 后续版本更新:官方回复称修复将包含在即将发布的版本中,可在升级后恢复 Thinking Mode 并重新验证。
验证方法
构造或复用需要连续两次工具调用的流程(例如让 Agent 先查询一个主题、读取结果后再调用另一个工具),运行后检查执行记录:Anthropic Chat Model 节点回放的历史工具调用应保留与首次调用相同的参数,而非 input: {};工具节点不再出现 No prompt specified 一类的缺参失败;Agent 能在 maxIterations 范围内正常完成。若升级后恢复 Thinking Mode 仍复现空参数回放,应在原 Issue 下留言反馈。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。
![[Roadmap] vLLM Roadmap Q3 2026](https://www.chat-gpts.plus/wp-content/uploads/2026/10/48168-07ca8ed3-768x403.jpg)

