unsupported parameter / unknown field 是什么意思

把 OpenAI-compatible 网关配置给 Claude Code 后,如果请求失败并出现 unsupported parameter、unknown field、unknown field in request body 或参数不支持,先确认网关是否真的支持 Anthropic Messages 请求。

Claude Code 发出的不是普通 OpenAI Chat Completions 请求。网关如果只支持 OpenAI 格式,就可能无法理解 Anthropic Messages 里的字段。

Text
error: unsupported parameter
message: unknown field in request body

网关到底支持哪种 API 格式

文档里写 OpenAI-compatible,只能说明它大概率支持 /chat/completions。Claude Code 需要网关公开 Anthropic Messages、Bedrock InvokeModel 或 Vertex rawPredict 等受支持格式之一。

如果网关同时支持 OpenAI 和 Anthropic 两种格式,通常会给出两个不同入口。ANTHROPIC_BASE_URL 要填 Anthropic-compatible 入口,不要填 OpenAI Chat Completions 入口。

OpenAI Chat Completions/chat/completions
Anthropic Messages/v1/messages
DeepSeek Anthropic 入口https://api.deepseek.com/anthropic

ANTHROPIC_BASE_URL 会不会填错

先检查当前 PowerShell 里的 ANTHROPIC_BASE_URL。这个变量决定 Claude Code 请求打到哪个网关入口。

如果 ANTHROPIC_BASE_URL 填的是 OpenAI-compatible 地址,网关可能会按 OpenAI 请求解析 Claude Code 发出的 Anthropic Messages 字段,于是返回 unsupported parameter。

PowerShell
$env:ANTHROPIC_BASE_URL

应该填哪个 Anthropic 入口

如果你的目标只是使用 DeepSeek,优先使用 DeepSeek 官方 Anthropic 入口,把官方链路跑通后再接入第三方代理。

这一步只放入口和 Key,不混入启动命令。真实 API Key 不要写进仓库、截图或文章。

PowerShell
$env:ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"
$env:ANTHROPIC_AUTH_TOKEN="<你的 API Key>"

怎么确认入口和模型能用

当前窗口能读到入口和 Key 后,再用明确模型启动 Claude Code。启动命令单独放,避免误复制到 settings 或环境变量配置里。

如果官方 DeepSeek 链路能返回,说明 Claude Code 和 Key 基本可用;再接回代理时继续报 unsupported parameter,问题就在代理格式或字段转发。

PowerShell
claude --model deepseek-v4-flash

常见配置错法有哪些

unsupported parameter 往往不是删一个字段就能稳定解决。先排除入口、格式和鉴权这几类基础配置。

每次只改一项,再单独启动验证。否则临时跑通以后也很难知道是哪一项起作用。

把 OpenAI-compatible 地址填进 ANTHROPIC_BASE_URL

换成网关明确提供的 Anthropic-compatible 入口。只支持 OpenAI Chat Completions 的网关不能直接接 Claude Code。

网关没有保留 Anthropic 请求字段或 headers

检查代理是否按 Anthropic Messages 格式转发请求,并保留 Claude Code 需要的 anthropic-beta、anthropic-version 等字段或 headers。

鉴权变量和网关要求不一致

确认网关要求 Bearer token 还是 x-api-key。Claude Code 可用 ANTHROPIC_AUTH_TOKEN 或 ANTHROPIC_API_KEY,但两者发送方式不同。

模型名和网关映射怎么查

网关支持 Anthropic Messages 后,还要确认模型名能被网关接受。OpenAI 模型名、供应商原始模型名和 Claude Code 默认模型名不一定能直接互换。

如果错误从 unsupported parameter 变成 model not found,说明请求格式已经更接近正确链路,下一步检查模型映射。

PowerShell
$env:ANTHROPIC_MODEL
$env:ANTHROPIC_DEFAULT_HAIKU_MODEL
$env:CLAUDE_CODE_SUBAGENT_MODEL

仍然报错时先转到哪条路径

如果改成 Anthropic-compatible 入口后错误消失,就不要继续保留旧 OpenAI-compatible 地址。

如果错误变成 404、401 或 model not found,说明问题已经从 unsupported parameter 转到新的配置层。按下面的错误继续排查。

变成 404 endpoint not found

入口路径或代理转发仍然不对。检查是否填错根入口,或代理是否正确公开 /v1/messages。

变成 401 unauthorized

请求已经打到服务端,继续检查 Token 长度、Key 所属供应商和鉴权变量。

变成 model not found

继续检查 ANTHROPIC_MODEL、DEFAULT 模型变量和网关模型别名。

参考来源

Claude Code 环境变量文档官方文档Claude Code LLM gateway 文档官方文档DeepSeek Anthropic API 文档官方文档

相关文章

ANTHROPIC_BASE_URL 配置入口选择指南:开发者必知策略与最佳实践配置解释 / 约 8 分钟DeepSeek Anthropic API 404 错误排查步骤错误日志 / 约 12 分钟Claude Code model not found 怎么排查:入口、Key 和模型映射错误日志 / 约 12 分钟Claude Code 认证失败:401 unauthorized / invalid x-api-key 怎么排查错误日志 / 约 12 分钟Claude Code 接入 DeepSeek API:配置方法和报错处理智能编程 / 约 24 分钟

作者信息