API Error: 400 model_not_supported - Claude Code
Quick fix
重启 CC Switch 修复代理路由,或确认请求的模型 ID 是否因 Copilot 策略调整而失效。
Symptom
Section titled “Symptom”API Error: 400 {"error":{"message":"The requested model is not supported.","code":"model_not_supported","param":"model","type":"invalid_request_error"}}在 macOS 上使用 CC Switch 将 GitHub Copilot 作为 Claude Code 的提供商时出现此错误。根据社区反馈,该问题由两种不同原因引起:一是本地代理状态异常,未能正确拦截并转发请求(重启 CC Switch 即可解决);二是模型名称不匹配,Claude Code 发送的模型 ID(如 `claude-sonnet-4.6`)与 Copilot 上游期望的不一致,且 GitHub Copilot 已调整订阅策略(例如取消了 Pro 订阅的 Opus 模型),导致 CC Switch 的旧版模型映射失效。
完全退出并重启 CC Switch 应用,确保本地代理(如 `http://127.0.0.1:15721`)正常接管并转换请求。
检查 Claude Code 环境变量(如 `ANTHROPIC_DEFAULT_SONNET_MODEL`)中配置的模型,确保使用的是 GitHub Copilot 当前支持的模型。
若重启后依然报错,说明 CC Switch 的模型映射尚未适配 Copilot 的最新接口。此时可暂时使用社区提供的替代反代工具(如 `kobashi`),或等待 CC Switch 发布更新修复模型名称不匹配问题。
Affected Versions
Section titled “Affected Versions”ToolClaude Code
Versionv2.1.94
PlatformsmacOS
Source Issues
Section titled “Source Issues”本页汇总自 2 个真实 issue
- 为什么所有 Claude 模型(包括 Sonnet 和 Haiku)都报错?
- 这通常是因为 CC Switch 的模型名称映射与 GitHub Copilot 上游不匹配。如果重启 CC Switch 无效,说明需要等待 CC Switch 更新以适配 Copilot 最新的模型 ID。
- 日志里显示熔断器触发(Circuit Breaker Open)怎么办?
- 当上游连续返回 400 错误时,CC Switch 会触发熔断机制并返回本地 502 错误。请重启 CC Switch 以重置熔断器状态,并排查模型映射问题。
Your access token could not be refreshed升级 cc-switch 至 v3.17.0+,修复接管时写入 PROXY_MANAGED 占位符污染 OAuth 凭证或导致 401 的问题。System message must be at the beginning更改 NVIDIA Qwen 的 API 格式,或升级 cc-switch 至 v3.13.0+ 以修复 Copilot 等供应商的 400 错误。settings.json被全量重写导致插件失效多数相关 issue 仍未解决;升级至v3.20.1+,该版本已修复切换配置时清空enabledPlugins等字段的Bug。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。