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 以重置熔断器状态,并排查模型映射问题。
提示需要登录:Claude Code 接管 Codex OAuth 后的登录提示用户实测:Claude 接管后、启动 Claude Code 前,在 ~/.claude/settings.json 的 env 中保留 ANTHROPIC_AUTH_TOKEN,即使为空字符串也可避免登录提示。HTTP 400 / Error 400先升级 cc-switch 并按供应商要求核对 API 格式与认证字段;仍 400 时按上游返回的具体字段修正请求,Copilot 的修复反馈并不一致。400 bad request在 CC Switch 的“设置→路由→本地路由”开启路由;另有用户通过原生 API 格式、默认认证字段及 VPN 恢复。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。