invalid_request_error Kimi For Coding Claude Code
Quick fix
在 cc-switch 的 Kimi 配置中设置 ENABLE_TOOL_SEARCH=false。
Symptom
Section titled “Symptom”{"error":{"type":"<nil>","message":"{\"type\":\"error\",\"error\":{\"type\":\"invalid_request_error\"\n ,\"message\":\"***.***.content.2.tool_use.id: Field required\"},\"request_id\":\"req_vrtx_011CWar3KndbH2tutuEY6z78\"} (request id: 20251229184758483111549vDuwIJ0i)"},"type":"error"}该问题由 CC Switch 的全局通用配置(common_config_claude)导致。当全局设置了 `ENABLE_TOOL_SEARCH=true` 时,该环境变量会被无差别地注入到所有供应商的配置中。
Claude Code(版本 ≥ v2.1.238)仅在 Anthropic 官方端点默认支持 Tool Search 机制。当使用非官方端点(如 Kimi For Coding)且强制开启此开关时,Claude Code 会尝试使用工具延迟(deferral)机制,向第三方 API 发送包含 `tool_reference` 内容块的请求。Kimi 等第三方提供商不支持这种特定的 `tool_reference` 格式,因此返回 HTTP 400 错误及 `invalid_request_error`。
打开 cc-switch 的配置文件,找到 Kimi For Coding 的供应商配置部分。
在该供应商的配置下显式添加环境变量 `ENABLE_TOOL_SEARCH` 并设置为 `false`,以覆盖全局设置。
Affected Versions
Section titled “Affected Versions”ToolClaude Code
Version≥ v2.1.238
PlatformsmacOSWindowsLinux
Source Issues
Section titled “Source Issues”本页汇总自 2 个真实 issue
- 为什么全局关闭了 Tool Search 还是报错?
- 因为 CC Switch 的全局通用配置(common_config_claude)中的 `ENABLE_TOOL_SEARCH=true` 会强制注入到每个供应商。必须在具体供应商(如 Kimi)的配置中显式设为 false 才能覆盖。
- 这个报错是 Kimi 的 bug 吗?
- 不是 Kimi 的 bug。这是 Claude Code 在非官方端点使用了其特有的 `tool_reference` 机制,而 Kimi 的 API 不兼容该格式导致的协议冲突。
401 认证失败: Claude Desktop gateway token 无效清除 Claude Desktop 的官方 OAuth 登录态,或修改 .claude.json 配置文件以解决 401 网关 token 无效问题。content[].thinking must be passed back升级 cc-switch 到 v3.16.0 或更高版本;临时可回退 Claude Code 到 2.1.150 或关闭 thinking。Invalid schema: got 'type: null'升级 cc-switch 至 v3.17.0 或更高版本,以修复 OpenAI 格式转换时缺失 type 字段导致的报错。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。