1. 为什么三端配置 Claude Code 接 GLM-5.1 总有人卡住Claude Code 是 Anthropic 推出的终端 AI 编码工具能直接在命令行里读写项目文件、跑测试、改 bug智谱 GLM-5.1 则是国内可直接调用的强模型编码能力在实测里对得起“主力”两个字。把这两者接起来等于用 Claude Code 的工程能力配上 GLM-5.1 的推理与代码生成适合习惯终端工作流、又不想在多个平台反复折腾 Key 的开发者。但问题恰恰出在“三端”上。Windows 用setx写的是注册表级环境变量macOS 默认 zsh 读~/.zshrcUbuntu 服务器上很多人又是 bash 读~/.bashrc再加上 Claude Code 本身要读ANTHROPIC_BASE_URL、ANTHROPIC_AUTH_TOKEN、ANTHROPIC_MODEL、ANTHROPIC_SMALL_FAST_MODEL四个变量任何一端漏一个表现都是“命令能跑、请求 401”或者“模型名不识别”。更麻烦的是 Key 管理如果你同时用智谱、其他模型、再加一个统一入口Key 散落在三台机器的不同配置文件里换一次就得改三处。这篇就按 Windows、macOS、Ubuntu 三条线把 Claude Code 接 GLM-5.1 的完整流程走一遍同时用 TaoToken 的统一 Key 把多平台 Key 收敛到一个地方。骨架配置可以直接复制连通性验证动作也给你写清楚照着做基本一次过。2. TaoToken 前置统一 Key 与接入地址TaoToken 在这里的角色是“统一入口”——你不需要在每台机器上分别维护智谱的 Key而是拿一个 TaoToken 的 Key通过它的 Anthropic 兼容端点转发到 GLM-5.1。这样 Windows 台式机、macOS 笔记本、Ubuntu 开发机三端共用同一个 Key换模型或换额度只改一处。先到官网注册并进入控制台https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 登录后在控制台里创建 API Key。创建入口在 API Keys 页面https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。点“新建 Key”起个能标识用途的名字比如claude-code-glm复制出来先存到密码管理器里后面三端都要用。接入地址用 TaoToken 的 API 根https://taotoken.net/api 。注意这个地址不带 UTM是给程序调用的带 UTM 的那些是给人点的页面链接别混。Claude Code 走的是 Anthropic 兼容协议所以ANTHROPIC_BASE_URL填https://taotoken.net/apiANTHROPIC_AUTH_TOKEN填你刚复制的 TaoToken Key。模型名这块GLM-5.1 在 TaoToken 侧对应的标识建议先在模型对话页确认一下https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。打开页面选 GLM-5.1看它给出的模型 ID通常就是glm-5.1这类写法。确认后再往环境变量里填避免“模型不存在”的报错。提示如果你只是临时验证不想动系统环境变量可以在启动 Claude Code 前用一行命令临时注入验证通过再写进配置文件。三端都支持这种“前置变量”写法。3. 可复制配置三端 settings.json 与 config.toml 骨架Claude Code 的配置分两层环境变量负责“连到哪、用哪个 Key”项目级配置文件负责“这个项目用什么模型、什么权限”。下面给的是可直接复制的骨架你只需要把 Key 和模型名替换成自己的。3.1 Windowssetx 永久变量 项目 settings.jsonWindows 上最稳的是用setx写用户级环境变量新开的终端都能读到。以管理员或普通用户打开 PowerShell 都行setx ANTHROPIC_BASE_URL https://taotoken.net/api setx ANTHROPIC_AUTH_TOKEN 你的TaoTokenKey setx ANTHROPIC_MODEL glm-5.1 setx ANTHROPIC_SMALL_FAST_MODEL glm-5.1setx写完后当前窗口不生效必须关掉重开一个 PowerShell 或 CMD。验证echo $env:ANTHROPIC_BASE_URL echo $env:ANTHROPIC_MODEL能打印出你设置的值就对了。项目级配置放在项目根目录的.claude/settings.json{ model: glm-5.1, env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_AUTH_TOKEN: 你的TaoTokenKey, ANTHROPIC_MODEL: glm-5.1, ANTHROPIC_SMALL_FAST_MODEL: glm-5.1 }, permissions: { allow: [Read, Edit, Bash(git status), Bash(npm test)] } }permissions.allow是白名单先给读、改、看 git 状态、跑测试这几项后面按需加。别一上来就Bash(*)容易误操作。3.2 macOSzsh 配置 同一份 settings.jsonmacOS 默认 zsh配置文件是~/.zshrc。用 nano 打开nano ~/.zshrc在末尾追加export ANTHROPIC_BASE_URLhttps://taotoken.net/api export ANTHROPIC_AUTH_TOKEN你的TaoTokenKey export ANTHROPIC_MODELglm-5.1 export ANTHROPIC_SMALL_FAST_MODELglm-5.1CtrlO保存CtrlX退出然后source ~/.zshrc让当前窗口生效。验证echo $ANTHROPIC_BASE_URL echo $ANTHROPIC_MODEL项目级.claude/settings.json和 Windows 那份完全一样直接复制过去即可。macOS 上唯一要注意的是如果你用 iTerm2 或 VS Code 内置终端它们启动时读的是登录 shell 的配置source之后新开标签页才会继承。3.3 Ubuntubash 配置 config.toml 骨架Ubuntu 服务器多数是 bash配置文件~/.bashrcnano ~/.bashrc追加同样的四行 export保存后source ~/.bashrc。如果你用的是 zsh比如装了 oh-my-zsh就改~/.zshrc逻辑一样。Ubuntu 上有些团队会用config.toml做集中管理比如放在~/.config/claude/config.toml[api] base_url https://taotoken.net/api auth_token 你的TaoTokenKey [model] default glm-5.1 small_fast glm-5.1 [permissions] allow [Read, Edit, Bash(git status), Bash(npm test)]这份 toml 是骨架实际生效仍以环境变量优先。它的好处是团队里可以提交一份脱敏模板Key 用占位符每个人本地再覆盖。注意三端都不要把真实 Key 提交到 Git。.claude/settings.json如果进版本库用ANTHROPIC_AUTH_TOKEN读环境变量别写死。4. 验证请求三端连通性检查与成功结果配置写完先别急着开 Claude Code 交互界面用一条最小请求验证链路通不通。三端通用在终端里跑curl -s https://taotoken.net/api/v1/messages \ -H x-api-key: $ANTHROPIC_AUTH_TOKEN \ -H anthropic-version: 2023-06-01 \ -H content-type: application/json \ -d { model: glm-5.1, max_tokens: 64, messages: [{role: user, content: 只回复两个字通了}] }Windows PowerShell 里$ANTHROPIC_AUTH_TOKEN换成$env:ANTHROPIC_AUTH_TOKEN。如果返回 JSON 里content字段有“通了”两个字说明 Key、地址、模型名三样都对。如果返回 401是 Key 问题返回 404 或模型不存在是模型名或路径问题返回超时先检查网络能不能访问taotoken.net。链路通了再启动 Claude Codeclaude --version claude首次启动会让你选主题、选登录方式。因为环境变量里已经注入了 Key选 “Anthropic Console account” 后它会自动读取跳过官方登录。接着会问是否信任当前目录选 Yes。进去之后让它自我介绍一句比如输入“用一句话说明你是什么模型”能正常回复就说明 GLM-5.1 已经在驱动 Claude Code 了。实测下来三端里最容易出问题的是 Windows 的setx没重开窗口以及 Ubuntu 上source了错误的 rc 文件。这两个坑各踩过一次重开终端或echo $SHELL确认 shell 类型就能解决。5. 本篇常见错排查报错一401 Unauthorized或invalid api key。九成是 Key 复制时带了空格或换行。重新复制 TaoToken Key粘贴到echo $ANTHROPIC_AUTH_TOKEN里看有没有多余字符。Windows 上setx如果值里有特殊符号用双引号包住。报错二model not found或glm-5.1 is not available。去模型对话页确认当前 Key 能访问的模型列表把ANTHROPIC_MODEL改成页面上显示的准确 ID。有些账号默认只开了部分模型需要在控制台里开通 GLM-5.1。报错三Claude Code 启动后仍提示登录 Anthropic 账号。说明环境变量没被读到。检查ANTHROPIC_BASE_URL和ANTHROPIC_AUTH_TOKEN是否都在同一个 shell 会话里可见Windows 确认是新开的窗口macOS/Ubuntu 确认source的是当前 shell 对应的 rc 文件。报错四请求超时或连接被重置。先curl -I https://taotoken.net/api看能不能通。如果公司网络有出口限制换一个网络环境再试。不要用任何非正规的网络工具合规网络下 TaoToken 的端点是可以直连的。报错五ANTHROPIC_SMALL_FAST_MODEL没配导致子任务报错。Claude Code 会用这个小模型跑一些轻量任务比如生成摘要、判断意图。把它也设成glm-5.1或者设成更便宜的型号别留空。排障时如果拿不准是 Key 还是配置问题直接去 API Keys 页面重新生成一个 Key 替换测试https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。接入细节和字段说明看文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。6. 长期编码与 Agent 场景的 Key 管理建议如果你只是偶尔用 Claude Code 跑个脚本上面这套环境变量就够了。但如果你打算把它当日常编码主力甚至跑 Agent 自动改代码Key 管理要提前想清楚。第一三端统一用 TaoToken 的 Key不要一端一个。这样额度、模型、限流策略都在一个控制台里看换模型只改ANTHROPIC_MODEL一处。第二项目级.claude/settings.json里不要写死 Key用环境变量引用提交到 Git 的版本用占位符。第三如果你要跑长时间编码任务或 Agent 工作流可以看下 Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 它针对持续编码场景做了额度与并发上的安排比按次调用更适合天天开着 Claude Code 的人。最后一个小技巧在每台机器的 shell 配置里加一个别名比如alias ccclaude再配一个ccenv用来快速打印当前生效的四个变量换机器时一眼就能看出配置有没有同步。三端配置这件事第一次麻烦之后就是复制粘贴。把这份骨架存进你的 dotfiles 仓库下次换电脑十分钟就能恢复。