跳转到内容

我用魔搭是报错 401 token 失效 - Claude Code

Quick fix

在 cc-switch 的 Provider 环境变量中添加 ANTHROPIC_MODEL 即可解决 401 报错。该变量不会同步到 settings.json,此为正常设计。

报错原文
我用魔搭是报错 401 token 失效

Claude Code 使用原生的 Anthropic Messages 协议,而像魔搭等聚合平台通常默认提供 OpenAI 兼容接口。在 cc-switch 中配置第三方模型时,必须显式指定 ANTHROPIC_MODEL 环境变量才能正确路由请求,否则会导致鉴权失败或协议不匹配。

此外,cc-switch 在代理模式下刻意不将 ANTHROPIC_MODEL 等模型变量写入 ~/.claude/settings.json。因为实际请求的模型会经过中间层动态转换,写死本地配置会干扰代理层的模型映射逻辑。

  1. 在 cc-switch 中编辑对应的 Provider 配置,在环境变量(env)中添加 ANTHROPIC_MODEL 字段并指定模型名称。

    // cc-switch Provider settings_config
    {
    "env": {
    "ANTHROPIC_MODEL": "ZhipuAI/GLM-4.5"
    }
    }
ToolClaude Code
Versionv1.x
PlatformsmacOS
为什么切换 Provider 后,~/.claude/settings.json 中没有 ANTHROPIC_MODEL?
这是 cc-switch 的刻意设计。在代理模式下,模型映射由代理层动态控制,将模型变量写入本地 settings.json 会干扰代理层的动态替换逻辑,因此只保留连接代理所需的最小必要信息(BASE_URL 和 TOKEN)。
Claude Code UI 显示的模型名称(如 Sonnet 4.6)与实际使用的不一致怎么办?
这是已知限制。由于 cc-switch 不将模型变量写入本地配置,Claude Code 界面无法感知实际使用的模型名称,但这可以保证代理逻辑和模型动态映射的正确性,不影响实际使用。
如果供应商只提供 OpenAI 兼容接口怎么办?
cc-switch 目前只支持原生支持 Anthropic/Claude 协议的供应商。如果必须使用 OpenAI 兼容接口,可以尝试使用 Claude Code Router 等开源项目进行协议转换。

这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。