百炼 Anthropic 接到 Claude Code,两个配置文件别改错

假定 Claude Code 已经能跑 claude --version。装不上、登录弹不出浏览器那类问题另说。这里只说一件事:用百炼 Anthropic 兼容(尤其 Coding Plan)时,settings.json / onboarding 改哪几项,改完怎么确认没指回 anthropic.com。

官方对接页:Claude Code。

两个文件别弄混

文件 路径(macOS/Linux) 干什么
onboarding ~/.claude.json 跳过 Anthropic 官方登录校验
接入凭证 ~/.claude/settings.json ANTHROPIC_* 环境变量,指向百炼

Windows 大致是 C:\Users\<用户名>\.claude.json 与 C:\Users\<用户名>\.claude\settings.json。注意:一个在用户目录根下叫 .claude.json,一个在 .claude 目录里叫 settings.json,路径差一层,改错文件就白改了。改完要新开终端再跑 claude,旧会话读不到新 env。

1)~/.claude.json:onboarding

{
  "hasCompletedOnboarding": true
}

文档写:不设这个,启动后会去连 api.anthropic.com 做官方登录验证,界面上常见 Unable to connect to Anthropic services / Failed to connect to api.anthropic.com: ERR_BAD_REQUEST。接百炼时先把这一项加上,改配置就行,不用重装客户端。FAQ 排查顺序里也是:先 /status,再确认 hasCompletedOnboarding,再新开终端。

2)~/.claude/settings.json:Coding Plan 示例

凭证写在顶层的 env 对象里。官方 Coding Plan 样例(把 YOUR_API_KEY 换成 Coding Plan 专属 Key,控制台 Coding Plan 页复制):

{
    "env": {
        "ANTHROPIC_AUTH_TOKEN": "YOUR_API_KEY",
        "ANTHROPIC_BASE_URL": "https://coding.dashscope.aliyuncs.com/apps/anthropic",
        "ANTHROPIC_MODEL": "qwen3.7-plus",
        "ANTHROPIC_DEFAULT_HAIKU_MODEL": "qwen3.7-plus",
        "ANTHROPIC_DEFAULT_SONNET_MODEL": "qwen3.7-plus",
        "ANTHROPIC_DEFAULT_OPUS_MODEL": "qwen3.7-plus",
        "CLAUDE_CODE_SUBAGENT_MODEL": "qwen3.7-plus"
    }
}

字段怎么理解:

  • ANTHROPIC_AUTH_TOKEN:官方示例用这个字段塞 Key。按文档样例写,自己换成别的变量名 Claude Code 不认。
  • ANTHROPIC_BASE_URL:必须走 Anthropic 兼容路径 https://coding.dashscope.aliyuncs.com/apps/anthropic。填成 OpenAI 那条 .../v1,FAQ 里 Claude Code 侧常见 404(no body)。末尾不要乱加 /v1。
  • 模型一组:ANTHROPIC_MODEL、三个 ANTHROPIC_DEFAULT_*_MODEL(Haiku/Sonnet/Opus)、CLAUDE_CODE_SUBAGENT_MODEL。Coding Plan 示例里都写成套餐支持的模型 ID,如 qwen3.7-plus;也可换成当前套餐列表里的 qwen3.6-plus、kimi-k2.5、glm-5、MiniMax-M2.5 等精确 ID(区分大小写、前后无空格)。别填 claude-opus-4-6 这类 Anthropic 官方型号,会报 model 'xxx' is not supported。Claude Code 内部仍按 Haiku/Sonnet/Opus 档位选模型,所以三个 DEFAULT 都要映射到百炼真实 ID。

Key 和 Base URL 必须是同一套。文档里的对应关系:Coding Plan Key ↔ coding.dashscope.../apps/anthropic;按量通用 Key ↔ 按量 Anthropic 地址(文档里还有带 WorkspaceId 的地域域名写法);Token Plan 用 token-plan.cn-beijing.maas.aliyuncs.com/apps/anthropic。配混了会报 401 invalid_api_key。额度档位、Key 前缀上一篇写过,这里不展开。

若还留着旧代理 https://dashscope.aliyuncs.com/api/v2/apps/claude-code-proxy,文档要求迁到上文新接口,否则换模型不生效。

可选加长上下文(模型本身支持时):在 env 加 "CLAUDE_CODE_MAX_CONTEXT_TOKENS": "1000000",或在模型名后加 [1m] 后缀,如 qwen3.7-plus[1m]。改完同样新开终端。

怎么确认生效

claude "你好"

有正常回复再进会话跑 /status,核对 ANTHROPIC_BASE_URL、ANTHROPIC_AUTH_TOKEN 是否指向百炼(Coding Plan 应含 coding.dashscope 且路径为 /apps/anthropic)。输出为空、或还指着 anthropic.com:查 json 路径是否写错文件、是否新开终端、onboarding 是否为 true、Claude Code 是否过旧(文档建议更新到最新后再试)。

同一台机器若 shell 里还 export 过全局的 ANTHROPIC_BASE_URL / ANTHROPIC_AUTH_TOKEN,有可能盖过 settings。对不上时先 env | grep ANTHROPIC 看一眼,清掉冲突的 export 再开新终端。多套餐切换时,一次只保留当前那一套 Base URL + Key,别在 settings 里留半截旧域名。

容易踩的几处

  1. Base URL 写成 /v1,或少了 /apps/anthropic。
  2. 模型 ID 写成 Claude 官方型号,或拼错套餐里的 qwen/kimi/glm 名。
  3. 只改了 settings、没动 hasCompletedOnboarding,还是会去连官方登录。
  4. 改完不换终端窗口,旧进程继续用旧环境变量。
  5. 按量 Key 配了 Coding Plan 的 BASE_URL(或者反过来),会报 401,先对照上面的对应关系再改。

IDE 插件(VS Code / JetBrains)装好后一般复用同一份 settings.json。CC Switch 等第三方切换器填的也是这个 Anthropic 地址,不过是社区工具,用不用自己判断;它探测模型列表 404 时文档说可忽略,对话走 /v1/messages。

套餐 Key 只给编程工具用,别拿去 Postman / 脚本里用。权限模式(permissions / --permission-mode)是另一块配置,和百炼接入无关,需要的话看官方文档的「权限模式」一节。

参考: