1. Windows 下 Claude Code 接入阿里云百炼,到底卡在哪
Claude Code 是 Anthropic 推出的命令行编程助手,能在终端里直接读写文件、跑命令、改代码。它默认走 Anthropic 官方接口,但很多国内开发者手里已经有阿里云百炼(DashScope)的 API Key,想把 Claude Code 的请求切到百炼上,省去额外申请账号的麻烦。问题在于:Windows 的环境变量机制和 macOS/Linux 差别不小,setx写进去的变量不会在当前窗口立刻生效,settings.json的路径也容易放错位置,结果就是终端里claude一跑,要么报鉴权失败,要么一直转圈连不上。
这篇面向 Windows 用户,聚焦 Claude Code 接入阿里云百炼的官方配置路径。核心就三件事:用 CMD 的setx写永久环境变量、用settings.json补全配置骨架、用 CMD 做连通性验证。适合已经装好 Node.js、拿到百炼 API Key、但卡在“配了没反应”这一步的人。全程在 Windows 自带 CMD 里操作,不需要额外装终端工具。
需要说明的是,百炼提供了兼容 Anthropic 协议的接入地址,所以 Claude Code 只要把ANTHROPIC_BASE_URL指向百炼的对应端点,再配上ANTHROPIC_API_KEY,就能把请求发到百炼的模型上。下面按顺序走一遍,每一步都给出可直接复制的命令和预期输出。
2. 前置准备:TaoToken 与百炼 Key 的获取
在动手配环境变量之前,先把两样东西准备好:一个可用的百炼 API Key,以及一个稳定的接入入口。如果你还没拿到百炼 Key,去阿里云百炼控制台创建即可,这里不展开注册流程。
关于接入入口,我平时会用 TaoToken 做统一管理,它的 API 地址是https://taotoken.net/api,控制台在https://taotoken.net/console,API Key 管理页在https://taotoken.net/api-keys。它的好处是把多个模型的 Key 收在一处,切换模型时不用来回翻控制台。模型对话入口在https://taotoken.net/model-chat,接入文档在https://taotoken.net/doc,需要长期跑编码任务或 Agent 的话可以看 Coding Plan:https://taotoken.net/coding-plan。
这里要区分两个 Key:一个是百炼自己的 DashScope API Key(形如sk-开头的一长串),另一个是你在 TaoToken 里管理的 Key。本篇演示的是 Claude Code 直连百炼的官方路径,所以环境变量里填的是百炼的 Key。如果你走 TaoToken 中转,把ANTHROPIC_BASE_URL换成 TaoToken 的地址、Key 换成 TaoToken 的 Key 即可,后面的验证步骤完全一样。
注意:环境变量里不要带引号以外的空格,
setx会把整串当成值写进去,多一个空格都会导致鉴权失败。
3. 可复制配置:CMD 环境变量 + settings.json 骨架
3.1 用 setx 写永久环境变量
打开 CMD(Win+R 输入cmd回车),执行下面两条命令。把YOUR_DASHSCOPE_API_KEY替换成你真实的百炼 Key:
setx ANTHROPIC_API_KEY "YOUR_DASHSCOPE_API_KEY" setx ANTHROPIC_BASE_URL "https://dashscope.aliyuncs.com/apps/anthropic"setx的作用是把变量写进用户级环境变量,永久保存。但它有个坑:不会影响当前已经打开的 CMD 窗口。所以执行完必须关掉这个窗口,重新开一个新的,变量才会被加载。很多人配完直接在当前窗口echo,发现是空的,就以为没配上,其实是没重开窗口。
3.2 验证环境变量是否生效
新开一个 CMD,执行:
echo %ANTHROPIC_API_KEY% echo %ANTHROPIC_BASE_URL%预期输出是你的 Key 和https://dashscope.aliyuncs.com/apps/anthropic。如果第一条输出%ANTHROPIC_API_KEY%原样带百分号,说明变量没写进去,回去检查setx是否报错(比如权限不足)。如果输出为空行,多半是 Key 里带了特殊字符被截断。
3.3 settings.json 配置骨架
Claude Code 支持用settings.json做更细的控制,比如指定模型、超时、代理等。Windows 下的路径是:
C:\Users\你的用户名\.claude\settings.json如果.claude目录不存在,手动建一个。文件内容骨架如下:
{ "env": { "ANTHROPIC_API_KEY": "YOUR_DASHSCOPE_API_KEY", "ANTHROPIC_BASE_URL": "https://dashscope.aliyuncs.com/apps/anthropic" }, "model": "claude-sonnet-4-20250514", "timeout": 60000 }几个参数说明:
| 字段 | 作用 | 建议值 |
|---|---|---|
| env.ANTHROPIC_API_KEY | 鉴权 Key | 你的百炼 Key |
| env.ANTHROPIC_BASE_URL | 请求端点 | 百炼 Anthropic 兼容地址 |
| model | 默认模型 | 按百炼支持的模型名填 |
| timeout | 请求超时(毫秒) | 60000 起,网络慢可加大 |
提示:
settings.json里的env优先级高于系统环境变量。如果你两边都配了且不一致,以settings.json为准。排查问题时先确认这里没写错。
4. 验证请求:CMD 里跑通第一次调用
环境变量和配置文件都就位后,新开一个 CMD,直接输入:
claude第一次启动会做一些初始化,然后进入交互界面。发一条测试请求,比如:
写一段 Python 打印 Hello World 的代码如果配置正确,模型会正常返回代码。返回内容里能看到 Python 代码块,说明请求已经打到百炼的模型上了。
想更直接地验证连通性,可以用非交互模式跑一条命令:
claude -p "用一句话说明你是什么模型"-p是 print 模式,执行完直接输出结果并退出,适合脚本化验证。如果这条命令能返回内容,说明从 CMD 到百炼的整条链路是通的。
实测下来,第一次调用可能会慢几秒,因为要建立连接。如果超过timeout还没返回,会报超时错误,这时候先把timeout调到 120000 再试。
5. 本篇常见错排查
5.1 报 401 鉴权失败
最常见的原因是 Key 写错或没生效。按顺序查:先echo %ANTHROPIC_API_KEY%确认变量值;再打开settings.json确认env里的 Key 一致;最后确认 Key 本身在百炼控制台是启用状态。三者任一不对都会 401。
5.2 报连接超时或 DNS 解析失败
先确认ANTHROPIC_BASE_URL拼写完全正确,注意结尾没有多余的斜杠。然后在 CMD 里ping dashscope.aliyuncs.com看能否解析。如果公司网络有限制,可能需要走内网出口,这种情况联系网络管理员,不要自行改动系统网络配置。
5.3 setx 报“拒绝访问”
说明当前 CMD 不是管理员权限,或者变量名冲突。右键 CMD 选择“以管理员身份运行”再执行。如果还是不行,改用系统属性里的“环境变量”图形界面手动添加,效果一样。
5.4 claude 命令找不到
说明 Claude Code 没装好或没进 PATH。先node -v确认 Node.js 正常,再npm list -g看有没有装 Claude Code。没装的话用npm install -g装一次,装完重开 CMD。
5.5 改了 settings.json 没反应
Claude Code 启动时读一次配置,改完要退出重进。另外确认文件是 UTF-8 无 BOM 编码,Windows 记事本默认可能带 BOM,导致 JSON 解析失败。用 VS Code 另存为 UTF-8 即可。
6. 配好之后,下一步怎么走
环境变量和settings.json都配通之后,Claude Code 在 Windows 上就算正式接上阿里云百炼了。日常用的时候,如果只是临时切模型,改settings.json里的model字段比重新setx快得多。
如果你后面要长期跑编码任务或者搭 Agent,建议把 Key 统一放到 TaoToken 管理,接入文档在https://taotoken.net/doc,API Key 页在https://taotoken.net/api-keys,需要模型对话测试就去https://taotoken.net/model-chat。长期编码场景可以看 Coding Plan:https://taotoken.net/coding-plan。这样换模型、换端点只改一处,不用每次动系统环境变量。
最后留一个我踩过的坑:setx写的变量有长度限制,超过 1024 字符会被截断。百炼的 Key 一般不会超,但如果你用的是拼接出来的长 Key,记得检查一下echo出来的值是不是完整的。