1. Windows 上跑 Claude Code,卡在哪一步
Claude Code 是 Anthropic 出的命令行编程助手,能在终端里读代码、改文件、跑命令,适合习惯用命令行干活的开发者。它本身是个 npm 包,理论上npm install -g就能装,但 Windows 上真正让人卡住的往往不是安装,而是三件事:Node.js 环境没配干净、环境变量设了不生效、以及 API 通道怎么接。
我见过太多人在 Windows 上装完 Claude Code,敲claude直接报错,或者能启动但一发请求就 401。问题基本集中在环境变量和 API 地址这两块。这篇就按 Windows 的实际操作路径,从 Node.js 准备一路写到settings.json骨架,最后用 TaoToken 统一 Key 把请求跑通,每一步都给可复制的命令和配置。
适合谁看:在 Windows 上用 PowerShell 或 CMD 干活、想用 Claude Code 但被环境变量和 API 配置绕晕的人。全程不需要额外装什么奇怪的东西,跟着敲就行。下面所有命令默认在 PowerShell 里执行,CMD 的差异我会单独标出来。
2. 前置准备:Node.js、npm 与 TaoToken Key
2.1 装 Node.js 并确认 PATH
去 Node.js 官网下 LTS 版本的.msi安装包,双击一路下一步。关键就一个勾:安装向导里那个Add to PATH,必须勾上,它会把node和npm自动加进系统环境变量。忘了勾的话后面得手动补,麻烦。
装完关掉所有终端,重新开一个 PowerShell,验证:
node -v npm -v正常会返回类似v20.11.0和10.2.4的版本号。如果提示「不是内部或外部命令」,说明 PATH 没生效,先重启终端;还不行就手动加。右键「此电脑」→ 属性 → 高级系统设置 → 环境变量,在系统变量的Path里新建两条:
C:\Program Files\nodejs\ C:\Users\<你的用户名>\AppData\Roaming\npm改完必须重开终端,环境变量只在新会话里生效。
2.2 装 Claude Code
npm install -g @anthropic-ai/claude-code claude --version能打印出版本号就说明 CLI 装好了。这一步如果卡在下载,多半是 npm 源的问题,可以临时切到国内镜像:
npm config set registry https://registry.npmmirror.com装完想切回官方源就npm config set registry https://registry.npmjs.org。
2.3 拿 TaoToken 统一 Key
Claude Code 需要一个 API Key 才能发请求。去 TaoToken 控制台创建一个令牌,在 API Keys 页面点新建,拿到一串sk-开头的 Key,先复制存好。这个 Key 就是后面环境变量ANTHROPIC_AUTH_TOKEN要填的值。额度按自己用量设,测试阶段给个小额度就够。
3. 可复制配置:环境变量与 settings.json 骨架
3.1 设置两个核心环境变量
Claude Code 认两个环境变量:ANTHROPIC_AUTH_TOKEN放 Key,ANTHROPIC_BASE_URL放 API 通道地址。TaoToken 的 API 地址是https://taotoken.net/api。
在 PowerShell 里用setx写入用户级环境变量(永久生效):
setx ANTHROPIC_AUTH_TOKEN "sk-你的Key" setx ANTHROPIC_BASE_URL "https://taotoken.net/api"setx写的是注册表,当前终端不会立刻生效,必须关掉重开。想只在当前会话临时用,用$env:语法:
$env:ANTHROPIC_AUTH_TOKEN="sk-你的Key" $env:ANTHROPIC_BASE_URL="https://taotoken.net/api"CMD 用户对应的是set ANTHROPIC_AUTH_TOKEN=sk-你的Key,但set只对当前窗口有效,永久写入还是建议用setx或图形界面。
3.2 settings.json 骨架
除了环境变量,Claude Code 还支持用settings.json做项目级或用户级配置。用户级配置放在C:\Users\<你的用户名>\.claude\settings.json,项目级放在项目根目录的.claude\settings.json。骨架长这样:
{ "env": { "ANTHROPIC_AUTH_TOKEN": "sk-你的Key", "ANTHROPIC_BASE_URL": "https://taotoken.net/api" }, "permissions": { "allow": [ "Read", "Edit", "Bash(git status)", "Bash(npm run test)" ], "deny": [] } }env块里的变量会覆盖系统环境变量,适合给不同项目配不同 Key。permissions.allow是白名单,把常用只读命令和测试命令放进去,能减少每次操作的确认弹窗。注意 JSON 不支持注释,别往里写//。
提示:环境变量和 settings.json 同时存在时,settings.json 的
env优先级更高。排查问题时先确认到底哪份配置在生效。
4. 验证请求:确认 Claude Code 正常返回
4.1 检查环境变量是否生效
重开 PowerShell 后,先确认变量写进去了:
echo $env:ANTHROPIC_BASE_URL echo $env:ANTHROPIC_AUTH_TOKENCMD 里对应echo %ANTHROPIC_BASE_URL%。能打印出你设的值就对了。如果打印为空,说明终端没重开,或者setx写错了变量名。
4.2 启动并跑一次真实请求
进一个测试项目目录,直接启动:
cd D:\projects\demo claude第一次启动会走一遍初始化,之后进入交互界面。输入一句让它读文件的话,比如「读一下当前目录的 package.json,告诉我项目名和依赖数量」。如果配置正确,它会调用工具读文件并返回结果。
想非交互式验证,用-p参数直接发一条:
claude -p "用一句话说明这个目录是做什么的"正常会返回一段文本。这一步能返回内容,就说明 Key、Base URL、网络链路全通了。如果返回 401,是 Key 的问题;返回连接错误,是 Base URL 或网络的问题。
4.3 用 curl 单独验证通道
想排除 Claude Code 本身的干扰,可以直接打 API:
curl.exe https://taotoken.net/api/v1/messages ` -H "x-api-key: sk-你的Key" ` -H "anthropic-version: 2023-06-01" ` -H "content-type: application/json" ` -d "{\"model\":\"claude-3-5-sonnet-20241022\",\"max_tokens\":64,\"messages\":[{\"role\":\"user\",\"content\":\"ping\"}]}"注意 PowerShell 里curl是Invoke-WebRequest的别名,要写curl.exe才是真 curl。返回 JSON 里带content字段就说明通道没问题。
5. 本篇常见错排查
报错一:claude不是内部或外部命令。npm 全局目录没进 PATH。确认C:\Users\<用户名>\AppData\Roaming\npm在系统变量 Path 里,改完重开终端。
报错二:401 Unauthorized。Key 错了或没生效。先用echo $env:ANTHROPIC_AUTH_TOKEN确认值,再检查 Key 有没有多余空格。setx写入的值如果带引号,引号也会被存进去,重新设一次别加引号。
报错三:环境变量设了但 Claude Code 读不到。最常见原因是没重开终端。setx不影响已打开的窗口。另一个原因是 settings.json 里的env覆盖了系统变量,检查两份配置是否冲突。
报错四:请求超时或连接被拒。先确认ANTHROPIC_BASE_URL是https://taotoken.net/api,别多写或少写路径。再用上面 4.3 的 curl 单独测通道,能通就是 Claude Code 配置问题,不通就是网络或地址问题。
报错五:npm 装包卡住。切镜像源,或检查公司网络是否限制了 npm registry。装完记得切回官方源,避免后续包版本对不上。
报错六:settings.json 解析失败。JSON 不允许尾逗号和注释。用编辑器格式化一下,或者拿node -e "JSON.parse(require('fs').readFileSync('settings.json'))"验证语法。
6. 接下来怎么用:按场景选入口
配置跑通只是起点。日常用 Claude Code 干活,按你的场景挑入口更省事。
如果你主要在终端里做长期编码、跑 Agent 任务,建议直接上 Coding Plan,把额度和通道一次配好,省得反复折腾 Key:https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding_plan&utm_campaign=rewrite
想先在网页里验证模型返回、对比不同模型效果,用模型对话入口最快:https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_content=model_chat&utm_campaign=rewrite
需要管理多个 Key、看用量和额度,去控制台:https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite
Key 的创建和轮换在 API Keys 页面:https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api_keys&utm_campaign=rewrite
接入细节和参数说明看文档:https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite
用 Claude Code 配合 Anthropic 协议接入的完整说明:https://taotoken.net/claude-code-anthropic?utm_source=taotoken_aicg_blog_end&utm_content=claudecode&utm_campaign=rewrite
最后留个实操经验:Windows 上环境变量改完,养成「改完就重开终端」的习惯,能省掉一大半「明明设了却不生效」的排查时间。settings.json 建议只放项目相关的权限白名单,Key 和 Base URL 走系统环境变量,这样换项目不用改配置,也不会把 Key 提交进 git。