1. 先搞清楚 Claude Code 到底装了什么
Claude Code 是 Anthropic 推出的命令行编程助手,它不是一个独立 IDE,也不是 VS Code 插件,而是一个跑在终端里的 Agent。你在项目目录下敲claude,它就能读你的代码、改文件、跑命令、解释报错。适合谁?适合已经习惯终端工作流、想让 AI 直接动手改代码而不是只给建议的开发者。
但第一次上手的人通常会卡在三件事上:Node 版本不对导致安装失败、环境变量没配好导致启动就报认证错误、以及不知道settings.json该写什么。这篇就按“从零到跑通第一个会话”的顺序走一遍,全程 5 分钟左右。我试过在一台干净的 macOS 和 Windows WSL2 上各走一遍,下面命令都是实测可用的。
核心检索词先对齐:Claude Code 安装、Claude Code 环境配置、Claude Code settings.json、Claude Code 接入 API。你如果是第一次接触,跟着敲就行;如果你已经装过但一直报错,直接跳到第 5 节排查。
2. 装之前先把 TaoToken 的 Key 和通道准备好
Claude Code 默认走 Anthropic 官方通道,但国内直连经常超时。更稳的做法是让它走一个兼容 Anthropic 协议的 API 通道,TaoToken 就是干这个的:你拿一个统一 Key,把 Claude Code 的请求指向 TaoToken 的 API 地址,剩下的模型路由它帮你处理。
先去官网注册并拿到 Key:https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。注册后在控制台里创建一个 API Key,复制出来备用。注意 Key 只在创建时完整显示一次,丢了就重新建一个。
TaoToken 的 API 基地址是https://taotoken.net/api,这个地址不加任何 UTM 参数,直接写进配置里。Claude Code 需要的是 Anthropic 兼容端点,所以实际请求会打到https://taotoken.net/api下的 messages 路径,你不需要手动拼,Claude Code 会根据ANTHROPIC_BASE_URL自动补。
这里有个关键点:Claude Code 认两个环境变量,ANTHROPIC_BASE_URL和ANTHROPIC_API_KEY。前者告诉它“别去官方,去 TaoToken”,后者就是你的统一 Key。两个都配对,它才能正常发请求。
注意:不要把 Key 硬编码进任何会提交到 Git 的文件。用环境变量或者本地
settings.json,并且把settings.json加进.gitignore。
如果你还想在浏览器里先验证一下 Key 能不能用,可以打开模型对话页面发一条消息试试:https://taotoken.net/models?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。能正常回话,说明 Key 和额度都没问题,再去配 Claude Code 就少一层变量。
3. 可复制的安装与 settings.json 配置骨架
3.1 安装 Claude Code
Claude Code 通过 npm 分发,所以先确认 Node 版本。官方要求 Node 18 以上,实测 Node 20 LTS 最稳。先查版本:
node -v npm -v如果 Node 低于 18,先升级。macOS 用nvm最省事:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash source ~/.zshrc nvm install 20 nvm use 20Windows 建议在 WSL2 里操作,避免路径和权限的坑。装好 Node 后全局安装 Claude Code:
npm install -g @anthropic-ai/claude-code装完验证:
claude --version能打印版本号就说明二进制装好了。如果这一步报command not found,多半是 npm 全局 bin 目录没进 PATH,用npm config get prefix看一下路径,把它加到 PATH 里。
3.2 写 settings.json 配置骨架
Claude Code 读取配置的优先级是:项目级.claude/settings.json> 用户级~/.claude/settings.json。第一次上手建议先用用户级,全局生效,省得每个项目都配一遍。
用户级配置路径:
- macOS / Linux:
~/.claude/settings.json - Windows:
C:\Users\你的用户名\.claude\settings.json
先建目录再写文件:
mkdir -p ~/.claude然后写入下面这个骨架。这是最小可用版本,字段含义我写在注释里(实际 JSON 不支持注释,复制时把//那行删掉):
{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_API_KEY": "sk-你的TaoToken统一Key" }, "model": "claude-sonnet-4-20250514", "permissions": { "allow": [ "Read", "Edit", "Bash(git status)", "Bash(git diff)" ], "deny": [] } }几个字段说明一下。env块里的两个变量是核心,Claude Code 启动时会把它们注入进程环境。model指定默认模型,你可以换成claude-opus-4-20250514或claude-3-5-haiku-20241022,按任务复杂度选。permissions.allow是白名单,列出的操作不用每次确认;deny是黑名单,优先级更高。第一次跑建议 allow 只放读操作,改文件和跑命令让它问你,确认没问题再放宽。
如果你不想把 Key 写进文件,也可以只写ANTHROPIC_BASE_URL,Key 用 shell 环境变量传:
export ANTHROPIC_API_KEY="sk-你的TaoToken统一Key"这样settings.json里就不出现密钥,更安全。两种方式选一种即可,不要重复配,否则以环境变量为准容易搞混。
3.3 项目级配置(可选)
如果你只想在某个项目里用特定模型或权限,在项目根目录建.claude/settings.json,内容格式一样。项目级会覆盖用户级的同名字段。团队协作时把项目级配置提交到仓库,但 Key 千万别提交,用环境变量或.env加载。
4. 验证请求:跑通第一个会话
配置写完,进一个你有代码的目录,直接启动:
cd ~/your-project claude第一次启动它会读配置、连通道。如果一切正常,你会看到欢迎信息和输入提示符。先发一条最简单的:
解释一下当前目录的项目结构它会调用 Read 工具列目录、读关键文件,然后给你一段说明。这一步能跑通,说明安装、环境变量、通道三件事全对了。
再验证一次写操作。让它做个小改动:
在当前目录新建一个 hello.py,打印 hello claude code因为它要写文件,会弹出确认,你按提示允许。然后检查文件是否真的生成了:
cat hello.py如果文件内容正确,说明 Edit/Write 权限链路也通了。到这里,5 分钟跑通首个会话的目标就达成了。
想确认请求确实走了 TaoToken 而不是官方,可以在启动时加调试:
claude --debug日志里会打印实际请求的 base URL,看到taotoken.net/api就对了。如果看到api.anthropic.com,说明ANTHROPIC_BASE_URL没生效,回去检查settings.json的env块拼写,或者环境变量有没有被其他 shell 配置覆盖。
5. 本篇常见报错排查
5.1 启动报 authentication_error 或 401
最常见。原因就三个:Key 写错、Key 前后有空格、ANTHROPIC_BASE_URL没配导致请求打到官方而官方不认这个 Key。排查顺序:先echo $ANTHROPIC_API_KEY看环境变量,再cat ~/.claude/settings.json看文件,确认两处没有冲突。然后确认 base URL 是https://taotoken.net/api,结尾不要多加/v1,Claude Code 会自己拼。
5.2 报 ENOTFOUND 或连接超时
说明网络到taotoken.net不通。先curl -I https://taotoken.net/api看能不能通。如果 curl 也超时,检查本机 DNS 和网络;如果 curl 通但 Claude Code 不通,多半是代理设置干扰,检查HTTP_PROXY/HTTPS_PROXY环境变量,必要时清掉再试。
5.3 报 model not found
model字段写了一个通道不支持的模型名。换成claude-sonnet-4-20250514或claude-3-5-haiku-20241022再试。模型名区分大小写和日期后缀,别手打错。
5.4 权限确认卡住或工具不可用
如果 Claude Code 想读文件却一直提示没权限,检查permissions.allow里有没有Read。如果它想跑npm test但被拦,把Bash(npm test)加进 allow。反过来,如果它执行了你不想要的操作,把对应项加进deny。deny 优先级最高,适合锁死危险命令。
5.5 npm 安装报 EACCES
全局安装权限不足。不要用sudo npm install -g,会把目录权限搞乱。正确做法是配 npm 全局目录到用户空间:
mkdir -p ~/.npm-global npm config set prefix '~/.npm-global' export PATH=~/.npm-global/bin:$PATH npm install -g @anthropic-ai/claude-code把export PATH那行写进~/.zshrc或~/.bashrc持久化。
5.6 改了 settings.json 不生效
Claude Code 只在启动时读配置,改完要退出重进。另外确认文件是合法 JSON,多一个逗号都会导致整个文件被忽略。用python -m json.tool ~/.claude/settings.json校验一下,能正常输出就说明格式没问题。
6. 接下来怎么用得更顺
跑通第一个会话后,建议做两件事。一是把常用项目的权限白名单配好,减少每次确认的打断;二是根据任务切换模型,简单问答用 Haiku 省额度,复杂重构用 Sonnet 或 Opus。如果你打算长期在编码和 Agent 场景里用,可以了解一下 Coding Plan,它按周期计费,比按量更适合高频使用:https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。
Key 管理和额度查看在控制台:https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。需要新建或轮换 Key 去 API Keys 页面:https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。接入细节和字段说明看文档:https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。如果你用的是 Claude Code 的 Anthropic 兼容模式,专门的接入页在这里:https://taotoken.net/claude-code-anthropic?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。
最后提醒一句:settings.json里的 Key 一旦写进文件,记得把~/.claude/排除在云同步和 Git 之外。跑通之后你会发现,Claude Code 真正的价值不在安装,而在你愿意让它碰多少代码——从只读开始,逐步放开,比一上来全权限稳得多。