new-api icon indicating copy to clipboard operation
new-api copied to clipboard

Claude code使用new api调用Claude 官方的API模型,会出现报错,导致Claude code 完全无法使用

Open Shannon-x opened this issue 3 months ago • 8 comments

例行检查

  • [ ✅] 我已确认目前没有类似 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模式,立马就会报错 预期结果

相关截图

Image

Shannon-x avatar Sep 20 '25 06:09 Shannon-x

+1 望跟进

sabibi12 avatar Sep 24 '25 08:09 sabibi12

+1 望跟进

dnslin avatar Oct 21 '25 02:10 dnslin

使用aws的claude在Cherry studio调用mcp也遇到同样的问题

Image

aws claude不允许message的content为空

Image

yanlongqi avatar Oct 31 '25 16:10 yanlongqi

+1 望跟进

uumeet avatar Nov 15 '25 03:11 uumeet

你这个是Claude格式对接Claude渠道还是什么别的?

seefs001 avatar Nov 15 '25 07:11 seefs001

你这个是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%复现。/

Shannon-x avatar Nov 15 '25 17:11 Shannon-x

这个报错是在某次更新之后出现的,具体我无法溯源是哪个版本导致的,最新版还是报错。在最早七月以及以前的版本并没有这个bug

Shannon-x avatar Nov 15 '25 17:11 Shannon-x

你这个是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格式不中间转换的

seefs001 avatar Nov 15 '25 17:11 seefs001