Claude code使用new api调用Claude 官方的API模型,会出现报错,导致Claude code 完全无法使用
例行检查
- [ ✅] 我已确认目前没有类似 issue
- [ ✅] 我已确认我已升级到最新版本
- [ ✅] 我已完整查看过项目 README,尤其是常见问题部分
- [ ✅] 我理解并愿意跟进此 issue,协助测试和提供反馈
- [ ✅] 我理解并认可上述内容,并理解项目维护者精力有限,不遵循规则的 issue 可能会被无视或直接关闭
问题描述
Claude code 使用new API作为api聚合渠道,调用Claude模型的时候,如果处理代码,就会报错
⎿ API Error: 400 {"error":{"message":"Error from provider(claude,claude-neptune-v5: 400): {\"error\":{\"message\":\"messages: text content blocks must be non-empty\",\"type\":\"invalid_request_error\",\"param\":\"\",\"code\":null}}Error: Error from provider(claude,claude-neptune-v5: 400): {\"error\":{\"message\":\"messages: text content blocks must be non-empty\",\"type\":\"invalid_request_error\",\"param\":\"\",\"code\":null}}\n at nt (/app/cli.js:77797:11)\n at l0 (/app/cli.js:77855:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async a0 (/app/cli.js:77822:96)","type":"api_error","code":"provider_response_error"}}
如果切换至官方渠道直连,不使用newapi 中转,这个问题立马消失
复现步骤
将Claude code的第三方模型提供商,也就是~/.claude/settings.json 文件,设置为newapi聚合站。 Claude code 只要开启think模式,立马就会报错 预期结果
相关截图
+1 望跟进
+1 望跟进
使用aws的claude在Cherry studio调用mcp也遇到同样的问题
aws claude不允许message的content为空
+1 望跟进
你这个是Claude格式对接Claude渠道还是什么别的?
你这个是Claude格式对接Claude渠道还是什么别的?
我使用new- API的 Claude格式、Claude渠道接入Claude的官方API,使用的是Claude的官方思考模型。
然后使用Claude-code- route(也就是俗称的ccr项目),使用我的个人new-api站点的openai格式接入Claude模型到Claude code,只要Claude模型开启思考模式,think之后必报错{\"error\":{\"message\":\"messages: text content blocks must be non-empty\
疑似是new-api对于Claude思考模型的处理与Claude code不兼容,复现也很简单,只要按照我说的几乎100%复现。/
这个报错是在某次更新之后出现的,具体我无法溯源是哪个版本导致的,最新版还是报错。在最早七月以及以前的版本并没有这个bug
你这个是Claude格式对接Claude渠道还是什么别的?
我使用new- API的 Claude格式、Claude渠道接入Claude的官方API,使用的是Claude的官方思考模型。 然后使用Claude-code- route(也就是俗称的ccr项目),使用我的个人new-api站点的openai格式接入Claude模型到Claude code,只要Claude模型开启思考模式,think之后必报错
{\"error\":{\"message\":\"messages: text content blocks must be non-empty\疑似是new-api对于Claude思考模型的处理与Claude code不兼容,复现也很简单,只要按照我说的几乎100%复现。/
你要是这么用那就是Claude格式转OpenAI格式再转Claude格式了,这一步骤可能会出现兼容问题,NewAPI本身是支持直接对接Claude格式不中间转换的