1. 为什么你的 Claude Code 装完就卡在第一步
Claude Code 是 Anthropic 推出的命令行 AI 编程助手,它和你在网页里用的对话式 AI 完全不是一回事。网页版是你贴代码它回代码,Claude Code 是直接住在你的终端里,能读你整个项目目录、能自己跑git diff、能执行 shell 命令、能改文件再让你 review。说白了,它更像一个坐在你旁边、手能伸进你键盘的结对工程师。
但国内开发者第一次装它,十有八九会卡在三个地方:装完之后claude一跑就转圈、终端里报401或者local proxy failed、想挂 MCP 和 Skills 却不知道配置文件该写哪。这三个坑本质上是一个问题——Claude Code 默认要连 Anthropic 官方端点,而你的网络环境和支付方式都不配合。
这篇就按「装好 CLI → 配好统一 Key → 挂上 MCP 和 Skills → 跑通第一次工具调用」这条链路走一遍。我试过在 Mac 和 Windows 上各跑一遍,下面给的命令和配置片段都是可以直接复制粘贴的。核心思路是:用 TaoToken 的统一 Key 把模型接入这一层收口,你就不用为每个模型单独维护一套环境变量,Claude Code 的settings.json里写一次就行。
适合谁看:会用终端、装过 Node.js、想让 AI 真正进到自己项目里干活的开发者。不需要你懂 Anthropic 的 API 协议细节,但需要你愿意动手改配置文件。
先说清楚 Claude Code 和普通 AI 补全的区别,这决定了你后面怎么用它。普通补全工具是「你打字它猜下一行」,Claude Code 是「你说一句话,它去项目里翻文件、改代码、跑测试,然后把结果告诉你」。比如你说「把这个项目的日志从 print 换成 logging 模块」,它会先 grep 出所有 print,再逐个文件改,最后跑一遍看有没有语法错误。这种能力靠的是它能调用工具(读文件、写文件、执行命令),而工具调用的背后是模型 API。所以配置的核心就是让 Claude Code 知道「去哪调模型、用什么 Key、调哪个模型」。
2. TaoToken 统一 Key 的前置准备与 settings.json 落盘
在动 Claude Code 之前,先把 Key 拿到手。打开 https://taotoken.net/api 注册后进控制台,在 API Keys 页面创建一个新 Key。这个 Key 就是你后面所有配置里ANTHROPIC_AUTH_TOKEN或ANTHROPIC_API_KEY的值。建议创建时就复制下来存好,页面刷新后有些平台不再完整显示。
TaoToken 在这里扮演的角色是「统一入口」:Claude Code 只认 Anthropic 的协议格式,而 TaoToken 把请求转成对应模型能理解的格式再发出去。你不需要为 DeepSeek、GLM、Kimi 各配一套环境变量,只要在 Claude Code 的配置文件里把 Base URL 指向 TaoToken,模型 ID 填对,剩下的交给它路由。这样你换模型时只改一个字符串,不用重装任何东西。
Claude Code 读配置的顺序是这样的:先看项目目录下的.claude/settings.json,再看用户目录下的~/.claude/settings.json。项目级配置优先级更高,适合团队共享;用户级配置适合你个人全局默认。我建议第一次先写用户级的,跑通之后再往项目里挪。
用户级配置文件路径:
- macOS / Linux:
~/.claude/settings.json - Windows:
C:\Users\你的用户名\.claude\settings.json
如果.claude目录不存在,手动建一个。然后写入下面这段配置。注意 JSON 不能有注释、不能有多余逗号,这是后面排障里最常见的坑。
{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_AUTH_TOKEN": "sk-你从TaoToken控制台复制的Key", "ANTHROPIC_MODEL": "claude-sonnet-4-5", "ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-haiku-4-5", "ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4-5", "ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-opus-4-5" } }这里几个字段的作用要分清。ANTHROPIC_BASE_URL决定请求发到哪,指向 TaoToken 的 API 地址。ANTHROPIC_AUTH_TOKEN是你的身份凭证。ANTHROPIC_MODEL是默认模型,Claude Code 在普通对话时用它。后面三个DEFAULT_*是分级映射:Claude Code 内部会根据任务复杂度自动选 haiku(快而便宜)、sonnet(均衡)、opus(强而贵)三档,你把这三档都映射到具体模型 ID,它就不会因为找不到模型而报错。
模型 ID 具体填什么,取决于你在 TaoToken 控制台里开通了哪些模型。填错模型 ID 的典型报错是model not found或者返回体里choices为空。如果你不确定,先去模型对话页面手动发一条消息,确认模型名可用,再写进配置。
写完配置后有个关键动作:关掉所有已经打开的 Claude Code 终端窗口。Claude Code 在启动时读一次配置,运行中不会热加载。你改了settings.json但旧窗口还开着,它用的还是旧配置,这就是很多人说「改了不生效」的原因。关干净,重新开一个终端再跑。
如果你想把配置放到项目里共享给团队,就在项目根目录建.claude/settings.json,内容一样。但注意别把真实 Key 提交到 Git,项目级配置里可以只写 Base URL 和模型 ID,Key 用环境变量注入,或者用.gitignore把 settings 排除掉。
3. 可复制的 MCP 注册命令与 Skills 目录结构
配置写完只是让 Claude Code 能调模型,真正让它「能干活」的是 MCP 和 Skills。MCP 是 Model Context Protocol,你可以理解成给 Claude Code 装外设:装了搜索 MCP 它就能联网查文档,装了文件系统 MCP 它就能访问项目目录之外的文件。Skills 则是把一组指令打包成可复用的能力,比如「按团队规范生成 commit message」这种。
先装 CLI 本身。Node.js 要 v18 以上,先验证:
node -v npm -v git --version三个都有版本号输出就继续。国内 npm 官方源慢,装的时候直接指定镜像:
npm install -g @anthropic-ai/claude-code --registry=https://registry.npmmirror.com装完验证:
claude --version有版本号就说明 CLI 到位了。如果提示permission denied或者EACCES,说明全局目录没权限,别硬用 sudo,改用局部安装:在项目目录下npm install @anthropic-ai/claude-code,然后用./node_modules/.bin/claude启动。
接下来注册 MCP。Claude Code 提供claude mcp add命令来注册 MCP Server。以搜索类 MCP 为例,注册命令长这样:
claude mcp add search-server -- npx -y @modelcontextprotocol/server-brave-search这条命令的结构是:claude mcp add <你给这个server起的名字> -- <启动这个server的命令>。双横线后面是实际执行的进程,Claude Code 会在需要时把它拉起来。注册完可以用claude mcp list看当前挂了哪些。
如果你要挂的 MCP 需要 API Key,比如搜索服务,就在命令前加环境变量:
claude mcp add search-server -e BRAVE_API_KEY=你的key -- npx -y @modelcontextprotocol/server-brave-search-e后面跟KEY=VALUE,可以写多个。这些环境变量只在启动这个 MCP 进程时生效,不会污染你的全局环境。
Skills 的安装更简单,本质是往目录里放文件夹。用户级 Skills 目录是~/.claude/skills/,项目级是项目根目录下的.claude/skills/。每个 Skill 是一个独立文件夹,里面至少有一个SKILL.md,描述这个 Skill 什么时候触发、做什么。结构大概是这样:
~/.claude/skills/ └── commit-helper/ └── SKILL.mdSKILL.md里用自然语言写清楚触发条件和步骤,Claude Code 在对话中判断到匹配场景就会自动加载。你从社区下载的 Skill 包,解压后整个文件夹丢进skills/目录即可,不用改配置。放完之后重启 Claude Code,用/help看有没有多出对应的能力入口。
这里有个容易踩的坑:MCP 注册是写进 Claude Code 自己的配置里的,而 Skills 是纯文件系统扫描。所以 MCP 注册完要重启才生效,Skills 放进去也要重启。两者都不支持运行中热加载。
4. 从零启动到第一次工具调用的验证动作
前面都是准备,这一节跑一次完整验证,确认整条链路通了。先建一个空项目:
mkdir claude-demo && cd claude-demo git init然后在这个目录下启动:
claude首次启动会问你几个问题:是否信任当前文件夹、是否使用检测到的 API Key。信任文件夹选 Yes,API Key 那步如果它读到了你settings.json里的配置,会显示一个确认,选 Yes。如果它没读到,说明配置路径或 JSON 格式有问题,回到第 2 节检查。
启动成功后你会看到一个交互式提示符。先跑/status,它会显示当前用的模型、Base URL、配置来源。这一步是验证配置是否生效最快的方式。如果/status里显示的 Base URL 还是官方地址,说明你的settings.json没被读到,检查文件路径和 JSON 合法性。
接着跑/init。这是 Claude Code 的核心命令,它会扫描当前目录,生成一个CLAUDE.md文件,里面记录项目结构、技术栈、常用命令。这个文件相当于给 Claude Code 的「项目记忆」,之后每次对话它都会先读这个文件。空项目跑/init会生成一个基础模板,你可以手动往里补内容。
现在验证工具调用。在提示符里输入:
创建一个 hello.py,打印当前时间,然后运行它正常情况下,Claude Code 会做这几件事:先创建一个hello.py文件,写入代码,然后执行python hello.py,把输出贴给你。这个过程你能在终端里看到它调用了写文件和执行命令两个工具。如果它只是把代码贴出来而没真正创建文件,说明工具调用没生效,大概率是模型不支持 function calling,换个模型 ID 再试。
再验证一次 MCP。如果你前面注册了搜索 MCP,输入:
搜索一下 Python 3.13 有什么新特性它应该会调用搜索 MCP,返回联网结果。如果报MCP server not found,用claude mcp list确认注册名对不对,注意名字大小写和连字符。
验证 Skills 的话,放一个 Skill 进去后重启,输入触发它的话,看它有没有按 Skill 里定义的步骤走。
整个验证链路跑通的标准是:/status显示正确 Base URL,/init能生成文件,自然语言指令能触发文件创建和命令执行,MCP 能返回外部数据。这四步都过,你的 Claude Code 就算真正落地了。
5. 真实报错对照:401、local proxy failed 与 choices 为空
这一节把最常见的几个报错拆开讲,都是我自己或身边人实际撞过的。
401 Unauthorized。这个最直接,Key 不对或没传进去。先确认settings.json里ANTHROPIC_AUTH_TOKEN的值是不是完整的,有没有多余空格或换行。然后确认这个 Key 在 TaoToken 控制台里是启用状态、额度没耗尽。还有一种情况是你同时设了ANTHROPIC_API_KEY和ANTHROPIC_AUTH_TOKEN,两个冲突,Claude Code 取了错的那个。只留ANTHROPIC_AUTH_TOKEN一个。
local proxy failed / connection refused。这个报错说明 Claude Code 尝试连的地址连不上。检查ANTHROPIC_BASE_URL是不是写成了https://taotoken.net/api,注意结尾不要多加斜杠,也不要用http。如果你之前配过系统级的环境变量指向别的地址,它会覆盖settings.json,用echo $ANTHROPIC_BASE_URL(Mac/Linux)或echo %ANTHROPIC_BASE_URL%(Windows)确认当前生效的值。
返回体里 choices 为空 / reading choices 报错。这个通常不是网络问题,是模型 ID 填错了。Claude Code 发请求时带的模型名,TaoToken 那边找不到对应模型,返回了一个空结构。解决办法是去模型对话页面确认可用模型名,然后改settings.json里的ANTHROPIC_MODEL和三个DEFAULT_*字段。注意模型 ID 是区分大小写和连字符的,别手打错。
OAuth 相关报错。Claude Code 某些版本会尝试走 OAuth 登录流程,如果你用的是 API Key 模式,它不该走这条路。出现 OAuth 报错说明它没读到你的 Key 配置,回退到了默认登录流程。检查settings.json路径,以及是不是在项目目录下有另一个settings.json覆盖了用户级的。
改了配置不生效。前面提过,Claude Code 启动时读一次配置。你必须关掉所有claude进程再重开。在 Mac/Linux 上ps aux | grep claude看看有没有残留进程,Windows 上任务管理器里找 node 进程。全关干净再启动。
Windows 下权限错误。以管理员身份开 PowerShell 再装,或者用局部安装方案绕开全局目录权限。局部安装后启动命令是./node_modules/.bin/claude,可以写个claude.bat包一层方便调用。
429 Too Many Requests。这是调用频率超了,不是配置问题。降低操作频率,或者去 TaoToken 控制台看当前套餐的 RPM 限制,需要的话升级额度。
排障的通用思路是:先看/status确认配置读到了,再看报错是网络层(连不上)还是应用层(连上了但返回不对),网络层查 Base URL,应用层查 Key 和模型 ID。大部分问题都出在这三个字段上。
6. 把 Claude Code 接进日常开发流的几个实用动作
配置跑通只是起点,真正提升效率的是把它嵌进你每天的工作流。分享几个我实际在用的动作。
第一个是项目级CLAUDE.md的维护。/init生成的只是骨架,你要往里补这个项目特有的东西:构建命令、测试命令、代码规范、目录约定。比如「跑测试用pytest -x」「新增 API 要同步改docs/api.md」。这些写进去之后,Claude Code 每次动手前都会先读,省去你反复解释。这个文件值得花半小时认真写,回报很高。
第二个是把常用操作固化成 Skills。比如你们团队的 commit message 有固定格式,就写一个 Skill,触发词是「生成 commit」,步骤里写清楚格式模板和要读的 git diff。这样每次不用重复交代。Skills 的本质是把你的口头指令变成可复用资产。
第三个是 MCP 按需挂载。不要一次挂一堆,每个 MCP 启动都要时间,挂太多拖慢启动。常用的搜索、文件系统、数据库查询各挂一个就够。挂之前想清楚这个 MCP 会不会碰到生产数据,涉及敏感数据的 MCP 建议只在隔离环境用。
第四个是模型分级用。日常改改小 bug、写写注释,用 haiku 档就够,快且省。涉及架构重构、复杂逻辑,切到 opus 档。Claude Code 内部会自动分级,但你可以通过ANTHROPIC_MODEL强制指定默认档位。在 TaoToken 控制台看用量的时候,也能按模型分开看,方便你判断哪档用多了。
如果你打算长期把 Claude Code 当主力工具,建议了解一下 Coding Plan 这类套餐,比按量付费更适合高频使用。接入文档在 https://taotoken.net/api 旁边有入口,模型对话页面可以手动验证每个模型是否可用,API Keys 页面管理你的凭证。这三个页面基本覆盖了从验证到上量的全过程。
最后说个心态上的事:Claude Code 不是装完就自动帮你写代码的魔法,它更像一个需要你带的新人。你给的项目上下文越清楚、CLAUDE.md写得越细、Skills 定义得越准,它干活越靠谱。配置只是让它能跑,真正决定产出质量的是你怎么用它。