跳转到内容

<tool_use_error>InputValidationError 报错 - Claude Code

Quick fix

cc-switch 转换层存在 SSE 解析 bug 导致 tool call 丢失,目前建议直连 API 或更换官方节点。

报错原文
<tool_use_error>InputValidationError: Bash failed due to the following issue: The required parameter command is missing</tool_use_error>

当通过 cc-switch 代理调用 DeepSeek 等第三方 OpenAI 兼容 API 时,cc-switch 的转换层在处理“工具调用”(tool call / function_call)时存在 bug。具体表现为 SSE 解析异常,导致模型本应输出的 tool call 被吃掉或丢失参数(如丢失 command 参数)。

这会导致 Claude Code 或 Codex 收到格式错误的工具响应从而触发 InputValidationError 并中断任务。在部分情况下,中断的流会导致 cc-switch 内部状态卡死,一直显示“登录使用中”无法切换。目前官方在 3.19.2 版本中宣称修复,但用户反馈问题依然存在,暂无完美修复方案。

  1. 绕过 cc-switch 代理,在 Claude Code 或 Codex 中直接配置第三方 API 的 baseurl 和 key 进行直连。

  2. 如果必须使用 cc-switch,尝试更换为 GLM 官方等不会出现此 SSE 解析问题的 API 节点。

  3. 若遇到 cc-switch 状态卡在“使用中”无法关闭,可尝试强制终止 Codex 进程并清除 ~/.codex/ 目录下的持久化状态,但用户反馈此方法可能无效,最终仍需绕过代理或等待官方修复。

ToolClaude Code / Codex
Version3.16.1 - 3.19.2
PlatformsLinuxWindowsmacOS
更新到 3.16.4 或 3.19.2 版本后修复了吗?
没有完全修复。虽然 3.19.2 版本宣称解决了此问题,但用户反馈在实际使用中工具调用依然会中断。
为什么只有第一个文件可以正常编辑,后续全部失败?
这是因为转换层在持续对话中概率性丢失 function_call,导致后续的工具调用参数缺失而失败。
CC Switch 界面一直显示登录使用中无法关闭怎么办?
这是由于工具调用中断导致 CC Switch 内部状态卡死。可以尝试强制终止后台进程或重启电脑,但根本原因仍需等待转换层 bug 修复。

这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。