1. Mac 上第一次跑 Claude Code,卡在哪一步
Claude Code 是 Anthropic 推出的终端 Agent 编码工具,能直接读你的代码库、按自然语言改文件、跑测试、生成文档,适合习惯命令行、想让 AI 真正动手改代码的 Mac 开发者。它没有图形界面,所有交互都在终端里完成,所以“装完能不能用”几乎全看配置这一步。
我见过太多人卡在同一个地方:npm install -g @anthropic-ai/claude-code跑完了,claude --version也回显了版本号,结果一进项目目录敲claude,要么提示鉴权失败,要么模型调用直接超时。问题不在 Claude Code 本身,而在环境变量和settings.json没配对。
这篇就按“装完到跑通”的顺序走一遍:先确认 Node 环境,再装 Claude Code,然后用 TaoToken 的统一 Key 把settings.json填好,最后逐条验证启动、鉴权、模型回显。每一步都给可复制的命令和配置片段,Mac 上照着做基本能一次过。
2. 前置准备:Node 环境与 TaoToken 统一 Key
2.1 确认 Node 版本
Claude Code 依赖 Node,建议 18 以上。Mac 上先看当前版本:
node --version npm --version如果没装或者版本太老,用 Homebrew 最省事:
brew install nodeHomebrew 拉取慢的话,用 nvm 装 LTS 也行:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash装完关掉终端重开一个窗口,让 nvm 生效,再执行:
nvm install --lts nvm alias default 'lts/*' node --version回显类似v22.17.1就说明 Node 就绪。这里有个小坑:nvm 安装脚本会往~/.zshrc追加内容,如果你当前窗口没重开,nvm --version会报command not found,重开窗口就好。
2.2 装 Claude Code
npm install -g @anthropic-ai/claude-code claude --version-g是全局安装,装完在任何目录都能调用。回显版本号(比如1.0.61 (Claude Code))就说明二进制装好了。
2.3 拿 TaoToken 统一 Key
Claude Code 需要一个 API Key 才能调模型。这里用 TaoToken 的统一 Key,好处是一个 Key 走通对话、编码、Agent 多种场景,不用来回换。
先去控制台创建 Key:
- 控制台入口:https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite
- API Keys 管理:https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite
创建后复制那串sk-开头的 Key,下一步填进配置。API 基础地址统一用https://taotoken.net/api,这个地址不加任何参数,直接写进配置即可。
注意:Key 只显示一次,复制后先存到安全的地方,别直接贴到公开仓库里。
3. 可复制配置:settings.json 骨架 + 环境变量
Claude Code 的配置有两种落地方式:环境变量和settings.json。环境变量适合快速验证,settings.json适合长期固定。两个都讲,你按需选。
3.1 先确认你的 shell
Mac 从 Catalina 起默认是 zsh,但保险起见还是查一下:
echo $SHELL输出/bin/zsh就改~/.zshrc,输出/bin/bash就改~/.bash_profile。只改一个文件,别两边都写,否则排查起来容易乱。
3.2 环境变量方式(快速验证)
把下面三行追加到~/.zshrc:
echo -e '\nexport ANTHROPIC_BASE_URL=https://taotoken.net/api' >> ~/.zshrc echo -e '\nexport ANTHROPIC_AUTH_TOKEN=sk-你的Key' >> ~/.zshrc echo -e '\nexport ANTHROPIC_API_KEY=sk-你的Key' >> ~/.zshrc然后重开终端,验证是否生效:
echo $ANTHROPIC_BASE_URL echo $ANTHROPIC_AUTH_TOKEN能打印出地址和 Key 就说明环境变量加载成功。
3.3 settings.json 方式(推荐长期用)
环境变量的问题是每个新终端都要重新加载,而且多个项目想用不同配置时不好切。settings.json更干净,Claude Code 启动时会自动读。
配置文件放在用户级目录:
mkdir -p ~/.claude然后创建~/.claude/settings.json,内容如下:
{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_AUTH_TOKEN": "sk-你的Key", "ANTHROPIC_API_KEY": "sk-你的Key" }, "model": "claude-sonnet-4-20250514", "permissions": { "allow": [], "deny": [] } }逐条说明一下:
| 字段 | 作用 | 填什么 |
|---|---|---|
ANTHROPIC_BASE_URL | API 请求地址 | https://taotoken.net/api |
ANTHROPIC_AUTH_TOKEN | 鉴权令牌 | 你的 TaoToken Key |
ANTHROPIC_API_KEY | 兼容字段 | 同上,填同一个 Key |
model | 默认模型 | 按需填,不填走默认 |
permissions | 工具权限白名单 | 先留空,后续按需加 |
注意:
settings.json里 Key 是明文,别把这个文件提交到 Git。可以把它加进全局.gitignore,或者用环境变量注入的方式替代。
如果你只想在某个项目里用特定配置,也可以在项目根目录建.claude/settings.json,Claude Code 会优先读项目级配置,再合并用户级配置。
4. 验证请求:启动、鉴权、模型回显
配置写完不算完,得逐条验证。下面三步走完,基本能确认链路通了。
4.1 启动 Claude Code
进任意项目目录:
cd your-project-folder claude第一次启动会走几个引导:选主题、确认安全须知、选终端配置、信任工作目录。一路回车用默认值即可。如果这一步就报错,多半是 Node 版本或安装问题,回到第 2 节检查。
4.2 验证鉴权
启动后先别急着让它改代码,用最简单的对话测一下鉴权。在 Claude Code 交互界面里输入:
你好,请回复一句话确认连接正常如果返回正常文本,说明 Key 和地址都对。如果报401或authentication failed,检查ANTHROPIC_AUTH_TOKEN是否填对、有没有多余空格。
4.3 验证模型调用回显
再测一个稍微复杂点的,确认模型真的在干活:
帮我看看当前目录下有哪些文件,并说明这个项目大概是做什么的Claude Code 会去读目录、分析文件,然后给出结论。这一步能跑通,说明模型调用、工具调用、上下文读取都正常。
想单独验证模型通道,也可以直接用模型对话页测:
- 模型对话:https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_content=chat&utm_campaign=rewrite
在网页里发一条消息,能正常回显就说明 Key 本身没问题,问题只可能在 Claude Code 的配置层。
4.4 用 /init 生成项目说明
跑通之后,建议在项目里执行一次/init:
/initClaude Code 会扫描项目结构,生成一份CLAUDE.md,把项目概况、技术栈、目录约定写进去。之后每次对话它都会先读这个文件,理解成本低很多。生成的是英文也没关系,直接让它翻译成中文再写回文件即可。
5. 本篇常见报错排查
配置过程中最容易撞的几个错,按现象对号入座。
5.1command not found: claude
装完了但找不到命令。先确认全局安装路径在 PATH 里:
npm config get prefix如果输出不是/usr/local或/opt/homebrew,可能装到了别处。用npm bin -g看全局 bin 目录,把它加进 PATH。或者干脆重装一次:
npm install -g @anthropic-ai/claude-code5.2401 Unauthorized/ 鉴权失败
三个检查点:Key 有没有复制全(sk-开头那串)、ANTHROPIC_AUTH_TOKEN和ANTHROPIC_API_KEY是否都填了、ANTHROPIC_BASE_URL是不是https://taotoken.net/api。改完配置记得重开终端或重新加载settings.json。
5.3 请求超时 / 连接被拒
先确认网络能访问https://taotoken.net/api:
curl -I https://taotoken.net/api如果 curl 都连不上,那是网络层问题,不是配置问题。如果 curl 通但 Claude Code 超时,检查settings.json里地址有没有多写斜杠或路径。
5.4 环境变量改了不生效
最常见的原因是改错了文件。zsh 改~/.zshrc,bash 改~/.bash_profile。改完必须重开终端,或者手动 source:
source ~/.zshrc另外,如果settings.json和环境变量同时存在,settings.json里的env会覆盖环境变量,排查时注意优先级。
5.5 模型名报错
如果settings.json里写了model字段但模型名不对,会报模型不存在。不确定的话先把model字段删掉,走默认模型,跑通后再按需指定。
6. 长期编码与 Agent 场景怎么接
单次对话跑通只是起点。如果你打算把 Claude Code 当日常编码主力,或者接进 Agent 工作流,建议走 Coding Plan,额度更稳,适合长时间连续调用:
- Coding Plan:https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding-plan&utm_campaign=rewrite
接入文档在这里,遇到配置细节可以对照查:
- 接入文档:https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite
如果你用的是 Claude Code 的 Anthropic 兼容通道,参考这个页面:
- ClaudeCodeAnthropic:https://taotoken.net/claudecode-anthropic?utm_source=taotoken_aicg_blog_end&utm_content=claudecode-anthropic&utm_campaign=rewrite
我自己的习惯是:settings.json里只放地址和 Key,模型和权限按项目在.claude/settings.json里覆盖。这样换项目不用改全局配置,也不会把 Key 散落到各个仓库里。跑通之后第一件事是/init生成CLAUDE.md,第二件事是把常用命令写进项目说明,后面每次对话都能省掉重复解释。