跳转到内容

ANTHROPIC_BASE_URL 被改成 127.0.0.1:15721(Claude Code)

Quick fix

开启本地路由时 ANTHROPIC_BASE_URL 指向 http://127.0.0.1:15721 是预期;把插件等公共字段移进「通用配置」,切换后重启 Claude Code 生效。

报错原文
文件内容变成{
  "env": {
    "ANTHROPIC_BASE_URL": "http://127.0.0.1:15721",
    "ANTHROPIC_API_KEY": "PROXY_MANAGED"
  }
}

按 #2635 说明:不开路由时 cc-switch 只把 settings.json 里的 URL 改成所选 provider;开启本地路由后链路是 Claude Code -> cc-switch 本地监听 http://127.0.0.1:15721(可能做格式转换)-> 上游 provider,所以 Claude Code 侧的 ANTHROPIC_BASE_URL 会被指向 127.0.0.1:15721。维护者在 #2644 说明切换 Claude 供应商会整体写入 ~/.claude/settings.json:只有请求地址 ANTHROPIC_BASE_URL 和密钥是供应商独有,enabledPlugins、hooks、statusLine、permissions 等要靠「通用配置」传递,否则看起来就像被清空;但 #3008/#4096 也报告切换会改写当前 provider/model 或把 live config 回填覆盖旧 provider,矛盾点在于「预期整体写入」与「异常覆写」并存,异常数据可从 ~/.cc-switch/backups/ 找回。

同簇还有几个变体:#1050 旧版把 ANTHROPIC_BASE_URL 锁定为 http://localhost:5000,维护者称 v3.9.1 因 macOS AirPlay 冲突把默认代理端口 5000 改为 15721 并建议用 v3.12.3 验证;#927 指出 Claude Code 只在启动时读取一次 settings.json,切换后 /status 仍显示旧 URL 需重启;#2427 强调路由 OpenAI Chat Completions 模式下本地路由 URL 与上游 provider_endpoints.url 不能都写成 127.0.0.1:15721,否则会自引用;#3311/#888 显示 VS Code 插件可能不读 ~/.claude/settings.json 而读 process.env 或 claudeCode.environmentVariables,且用户反馈注释掉旧变量有人有效、有人 macOS 仍不行。

  1. 先确认是否开启了 cc-switch 的本地路由/代理:若已开启,Claude Code 的 ANTHROPIC_BASE_URL 为 http://127.0.0.1:15721 属于预期,不要再把上游 OpenAI 兼容地址也填成这个本地地址;上游地址应留在 provider 的 provider_endpoints.url,避免请求被路由回 cc-switch 自身。

    ~/.claude/settings.json
    {
    "env": {
    "ANTHROPIC_BASE_URL": "http://127.0.0.1:15721"
    }
    }
  2. 如果切换后插件、hooks、permissions、statusLine 等消失:进入「编辑供应商」->「通用配置面板」->「从当前供应商提取」,保存这些公共字段;新建/切换供应商时保持勾选「写入通用配置」。首次启动导入的默认供应商和备份也可能保留原配置。

  3. 切换供应商后重启 Claude Code 再查 /status;Claude Code 只在启动时加载一次 settings.json,不会热重载 env。

  4. 若 ANTHROPIC_BASE_URL 被卡在 http://localhost:5000 且改不掉:升级 cc-switch;维护者称该锁定问题在 v3.9.1 修复(默认代理端口 5000 -> 15721),并建议升级到 v3.12.3 验证。

  5. VS Code 插件不生效或报 API Error: 400:检查并注释/删除旧的 claudeCode.environmentVariables,或把与终端相同的 env 同步写到 VS Code 用户设置;Claude Code 插件 2.1.156 有用户称退回 2.1.156 之前的版本恢复,但 #888 中也有人反馈注释后 macOS 仍无效,需以实际 OUTPUT/Claude VSCode 日志为准。

    ~/Library/Application Support/Code/User/settings.json
    {
    "claudeCode.environmentVariables": [
    // { "name": "ANTHROPIC_BASE_URL", "value": "xxxxx" },
    // { "name": "ANTHROPIC_AUTH_TOKEN", "value": "x'x'x'x'x" }
    ]
    }
  6. 如果怀疑 cc-switch 把上一个供应商的配置错误回填覆盖,立即停止反复切换,从 ~/.cc-switch/backups/ 的每日数据库备份恢复,再按 #4096 的复现步骤重新核对。

ToolClaude Code
Versioncc-switch v3.10.3 起报告;localhost:5000 锁定称在 v3.9.1 修复、建议 v3.12.3 验证
PlatformsWindowsmacOS
开启路由并启用 Claude 后,为什么还要在 Claude 供应商里看到 127.0.0.1:15721/v1?
那是本地路由入口:Claude Code 先发 Anthropic 格式到 cc-switch 的 127.0.0.1:15721,cc-switch 可能做格式转换后再发给所选 provider;不要把上游第三方 OpenAI 兼容地址也写成这个本地地址,否则会自引用失败。
切换供应商后 /status 还是旧 ANTHROPIC_BASE_URL,是 cc-switch 没写成功吗?
不一定。#927 的根因是 Claude Code 只有启动时加载一次 settings.json,文件已更新但运行中的进程仍用旧值;重启 Claude Code 后再看。
切换供应商之后我的插件配置怎么不见了?
维护者在 #2644 称这是预期:切换会整体写 ~/.claude/settings.json,公共字段要走「通用配置」;先「从当前供应商提取」,之后切换保持「写入通用配置」。若仍丢字段,检查默认供应商与 ~/.cc-switch/backups/。
终端 claude 正常,VS Code 插件却 400 或不吃切换,怎么办?
#3311 分析新版插件内嵌 SDK 会从 process.env 读 ANTHROPIC_BASE_URL,GUI 启动没有这些变量;可手动写 claudeCode.environmentVariables,或按用户反馈把插件从 2.1.156 退回更早的版本。#888 中注释旧变量有人解决、也有人 macOS 无效,存在反馈不一致。

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