The user sent an empty message. - Claude Code
Quick fix
将 cc-switch 中 Kimi 的 API 格式改为 OpenAI chat completions 并开启代理,或导出历史记录重建会话以跳出空消息循环。
Symptom
Section titled “Symptom”The user sent an empty message.在 Claude Code 的 agent loop 中,Kimi 模型反复认为自己收到了空消息。这通常是因为 cc-switch 的 API 格式配置与供应商不匹配,导致中间件在协议转换或转发过程中产生了空内容请求。对于 Kimi 等 OpenAI 兼容供应商,使用原生的 Anthropic Messages 格式可能会引发解析异常。此外,在使用 OpenRouter 等第三方代理并配置 ANTHROPIC_AUTH_TOKEN 时,若格式不兼容也可能导致 API Error: Cannot read properties of undefined (reading 'map') 报错。
在 cc-switch 的供应商配置中,将 API 格式更改为 OpenAI chat completions,并开启本地代理。
若已陷入空消息循环,请停止当前 loop,使用 /export 导出聊天记录,另开新会话并放入历史作为临时解决方案。
Affected Versions
Section titled “Affected Versions”ToolClaude Code
Version2.1.223
PlatformsWindows
Source Issues
Section titled “Source Issues”本页汇总自 2 个真实 issue
- cc-switch 有没有 verbose / debug 日志能看到实际转发的请求体?
- 目前 issue 中尚未提供开启 verbose 日志的具体方法,建议通过绕过 cc-switch 直连 Kimi 端点进行对照测试来隔离问题。
- 配置中的自定义端点、API 格式、认证字段和模型映射分别有什么作用?
- 自定义端点用于覆盖请求地址;API 格式用于选择 Anthropic 原生或 OpenAI 兼容格式;认证字段对应请求 header 中的认证方式(如 ANTHROPIC_AUTH_TOKEN);模型映射用于将 Claude 默认模型名映射到第三方模型名。
第三方模型仍自称 based on GPT-5 - Codex将 `baseInstructions` 覆盖逻辑从 `if profile != ProxyChat` 块移出,使其对 ProxyChat 生效;当前即使配置了 `baseInstructions` 也不会注入。API Error: 401 authentication_error检查 API Key 字段、Base URL、Key 类型与 cc-switch 版本,确保 Claude Code 实际读取到有效凭证。Error running remote compact task在 Codex 设置中关闭远程上下文压缩(Remote Compaction),改用本地压缩即可临时绕过此协议转换缺陷。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。