Claude Sonnet 5 接入 Cursor 完整配置教程:model_name 填 claude-sonnet-4-5 还是 claude-sonnet-5?thinking 参数和 Opus
上周三我们团队把 Cursor 里的默认模型从 Claude Sonnet 4.6 升级到 Claude Sonnet 5,结果三个人填了三种不同的 model_name,全部 400 报错。折腾半天才搞清楚——Claude Sonnet 5 在 Cursor 里的正确模型 ID 是 claude-sonnet-4-5,不是 claude-sonnet-5,也不是 claude-sonnet-4-6。另外 thinking 参数的写法跟 Claude Opus 4.8 有所不同,两者都需要显式声明 type,但字段值和 budget_tokens 的建议范围不一样。这篇把两个高频填错点拆开讲,10 分钟搞定。
这篇适合谁
- 已经在用 Cursor 写代码,想把模型切到 Claude Sonnet 5 的开发者
- 之前配过 Claude Opus 4.8,现在想加一个 Sonnet 5 但不确定参数差异的
- 填了 Base URL 之后一直报
400 Bad Request或Could not connect to the model provider的 - 不想订 Cursor Pro($20/月),想用自己的 API Key 按量计费的
整体流程
- 确认你的 API Key 能调通 Claude Sonnet 5(先排除 Key 本身的问题)
- 在 Cursor Settings > Models 里填对三个字段:Key、Base URL、Model Name
- 处理 thinking 参数(Sonnet 5 和 Opus 4.8 的写法差异)
- 验证配置生效,跑一个简单 prompt
graph LR
A[验证 API Key] --> B[填写 Cursor 配置]
B --> C{选择接入方式}
C -->|Cursor Pro 内置| D[勾选模型即可]
C -->|自定义 API Key| E[填 Base URL + Model Name]
E --> F[处理 thinking 参数]
F --> G[验证调用成功]
先说结论
| 配置项 | Claude Opus 4.8 | Claude Sonnet 5 | 填错后果 |
|---|---|---|---|
| Model Name | claude-opus-4-8 |
claude-sonnet-4-5 |
400 报错 |
| thinking 参数 | "type": "enabled" + "budget_tokens": 10240 |
"type": "enabled" + "budget_tokens": 8192 |
静默忽略或 400 |
| Context Window | 200K | 200K | — |
两者的核心区别在于:model_name 不同,以及 thinking 的 budget_tokens 推荐值不同。两个模型都需要显式传入 "type": "enabled" 才能启用 extended thinking,这一点是一致的。
第一步:验证 API Key 能调通
在动 Cursor 配置之前,先用这段代码确认你的 Key 对 Sonnet 5 有权限:
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-api03-你的Key')
msg = client.messages.create(
model='claude-sonnet-4.5',
max_tokens=128,
messages=[{'role': 'user', 'content': 'Hi'}])
print(msg.content)
如果这步就报错:
Error: 400 Bad Request - model: claude-sonnet-4-5 does not exist or you do not have access to it
说明你的 Anthropic 账户还没开通 Sonnet 5 的访问权限。新账户可能需要等 24-48 小时才能拿到权限。这不是 Cursor 的问题。
第二步:Cursor 里填对三个字段
打开 Cursor Settings > Models > OpenAI API Key 区域(路径以你实际使用的 Cursor 版本为准,界面随版本更新可能有所调整)。
API Key:直接粘贴 sk-ant-api03- 开头的完整 Key。注意别多复制了空格,这个报错最隐蔽:
Error: 401 Unauthorized - Invalid API key.
Base URL:这里是最大的坑。Cursor 的自定义模型走的是 OpenAI 兼容协议(/v1/chat/completions),而 Anthropic 原生 API 走的是 /v1/messages,协议格式不同。Cursor 需要一个 OpenAI 兼容端点,因此不能直接填 Anthropic 原生地址,填了会报:
Error: Could not connect to the model provider.
你需要一个支持 OpenAI 兼容格式的 API 网关。OpenRouter、Together AI、ofox.io 这类聚合平台都支持,改一个 base_url 就行。比如用 ofox 的话:
https://api.ofox.io/v1
Model Name:填 claude-sonnet-4-5。不是 claude-sonnet-5,不是 anthropic/claude-sonnet-5。
这个命名确实反直觉——模型叫"Sonnet 5"但 ID 里写的是"4-5"。Anthropic 的模型 ID 后缀格式并不统一,有的是版本号组合,有的是日期格式(如 -20250514),不要试图从字面规律推断,直接查官方文档或以本文真值表为准。
第三步:thinking 参数的差异(重点)
Claude Opus 4.8 和 Claude Sonnet 5 启用 extended thinking 的方式相同,都需要显式传入 "type": "enabled":
Opus 4.8 的写法:
{
"thinking": {
"type": "enabled",
"budget_tokens": 10240
}
}
Sonnet 5 的写法:
{
"thinking": {
"type": "enabled",
"budget_tokens": 8192
}
}
两者的差异只在于 budget_tokens 的推荐值不同,"type": "enabled" 对两个模型都是必填项。少了这行,thinking 块会被直接忽略——不报错,但也不会做深度推理。你以为开了 thinking 实际上没开,输出质量莫名其妙变差,这个问题排查起来很隐蔽。
关于 budget_tokens 的范围:官方文档要求最小值为 1024,最大值随模型不同而异,请以 Anthropic 官方文档中对应模型的说明为准,不要硬套某个固定上限。
在 Cursor 里怎么设置?如果你用的是自定义 API Key + 聚合网关(比如 ofox.io 或 OpenRouter),thinking 参数需要在请求体里传。Cursor 本身的 UI 里没有单独的 thinking 开关,你可以尝试通过 .cursorrules 文件指定(注意:该方式是否被 Cursor 官方支持,建议以你实际测试结果为准):
{"model_params": {"thinking": {"type": "enabled", "budget_tokens": 8192}}}
不同场景怎么选
场景一:个人开发者,每天用 Cursor 写 2-3 小时代码
直接订 Cursor Pro($20/月),在 Models 列表里勾选 claude-sonnet-4-5 就行。零配置,fast request 配额够用。
场景二:用量大,每天超过 50 次对话
Cursor Pro 的 fast request 会很快用完,之后降速体验很差。建议用自己的 API Key + 聚合网关按量付费。Sonnet 5 的价格是输入 $3/百万 tokens、输出 $15/百万 tokens,中等强度使用一天大概 ¥8-12。
场景三:团队 5 人以上共用
用 ofox.io 这类有团队管理后台的平台,每个人的消耗、调了哪些模型、每笔花多少钱,管理员后台能按 User / API Key 维度看到明细,月底不用每个人单独报销。不同平台的加价比例和费率结构不同,建议在选型时直接对比各平台官方定价页,以实际报价为准。
场景四:只想试试 Sonnet 5,不想折腾
Cursor Pro 内置模型最省事。但如果你同时还在用 Claude Code 或 Cline,统一走一个聚合网关的 Key 反而更方便——改 base_url 就行,不用每个工具单独管 Key。
踩坑记录 / 常见问题 FAQ
Q: 我填了 claude-sonnet-5 为什么报 400?
A: 正确的模型 ID 是 claude-sonnet-4-5,不是 claude-sonnet-5。Anthropic 的模型 ID 后缀格式不统一,不要从字面规律推断,直接查官方文档或以本文真值表为准。
Q: Base URL 直接填 api.anthropic.com 为什么连不上?
A: Cursor 自定义模型走 OpenAI 兼容协议(/v1/chat/completions),Anthropic 原生 API 走的是 /v1/messages,协议格式不同。你需要一个支持协议转换的中转层。
Q: thinking 参数不生效怎么排查?
A: 先确认你传了 "type": "enabled"——Sonnet 5 和 Opus 4.8 都需要显式启用,缺少这个字段会导致 thinking 块被静默忽略。再确认 budget_tokens 在该模型允许的范围内(最小 1024,最大值以官方文档为准)。如果用的是 Cursor 内置模型,thinking 由 Cursor 自动管理,无法手动控制。
Q: 用自己的 API Key 和 Cursor Pro 订阅冲突吗?
A: 不冲突。两条路完全独立——用自己的 Key 走自定义 Base URL 时,不消耗 Cursor Pro 的 fast request 配额。你甚至可以同时开着 Pro 订阅(用内置模型快速对话)+ 自己的 Key(用于特定模型或大量调用)。
Q: 多个工具(Cursor / Cline / Claude Code)能共用一个 Key 吗?
A: 可以。如果你用的是聚合网关的 Key,只要 base_url 填对,Cursor、Cline、Claude Code 甚至 Cherry Studio 都能用同一个 Key。
小结
整个配置就三件事:确认 Key 有权限、Base URL 用 OpenAI 兼容格式的网关地址、Model Name 填 claude-sonnet-4-5。thinking 参数两个模型都需要显式传 "type": "enabled",区别只在 budget_tokens 的推荐值。
Anthropic 的模型 ID 命名方式不够直观,claude-sonnet-4-5 这个 ID 和"Sonnet 5"的对应关系确实容易让人困惑。跑通之后体验比 Sonnet 4.6 好了一截,尤其是长上下文场景下的代码补全,明显更稳。
更多推荐


所有评论(0)