1. GLM4.5 接入 Claude Code 到底卡在哪:从环境变量到 settings.json 的落地差异
GLM4.5 是智谱推出的新一代大模型,官方提供了兼容 Anthropic API 协议的端点,这意味着它可以直接被 Claude Code 调用,不需要改动 Claude Code 本身的任何代码。Claude Code 是 Anthropic 官方的命令行编程助手,能在终端里读写文件、执行命令、跑测试,适合习惯在 shell 里干活的开发者。这套组合适合谁?适合已经拿到 GLM4.5 API Key、又想在 Claude Code 里稳定调用国产模型的开发者,尤其是那些希望把多个模型统一到一个 Key 下管理的人。
问题出在“配置落地”这一步。官方文档给的是环境变量方案,export ANTHROPIC_BASE_URL=...加export ANTHROPIC_AUTH_TOKEN=...,在临时终端里跑一次没问题。但真实开发场景里,你可能有多个项目、多个模型、多个 Key 要切换,纯靠环境变量会很快失控:开一个新终端就丢配置,换个模型要重新 export,团队协作时每个人机器上的变量还不一样。更麻烦的是 Claude Code 支持读取settings.json做持久化配置,而很多人不知道这个文件该放哪、字段怎么写、和已有的环境变量谁优先。
我试过直接在~/.claude/settings.json里硬写 GLM4.5 的地址,结果遇到两个坑:一是字段名写错导致 Claude Code 静默忽略配置,仍然走默认端点;二是 Key 直接明文放在项目目录里,提交时差点泄露。后来改成用 TaoToken 统一 Key 接入,把 Base URL、Key、Model ID 三件套集中管理,切换模型只改一个字段,才算稳定下来。
这一篇就按“已拿到 GLM4.5 API、想在 Claude Code 里跑通”的场景,给出可复制的settings.json片段、TaoToken 统一 Key 的接入步骤,以及一次对话请求的验证动作,确认模型路由真的生效。核心检索词就是 GLM4.5 对接 Claude Code 配置,全文围绕这个展开,不绕弯子。
先说清楚一个前提:Claude Code 读取配置的优先级是「项目级 settings.json > 用户级 settings.json > 环境变量」。也就是说,如果你在项目根目录放了.claude/settings.json,它会覆盖用户目录下的同名文件。这个优先级决定了你该把 GLM4.5 的配置写在哪一层——个人开发写用户级,团队共享写项目级。下面第二节先讲 TaoToken 的前置准备,因为统一 Key 能让后面的配置少踩很多坑。
2. TaoToken 前置准备:统一 Key 与 GLM4.5 模型路由的接入逻辑
TaoToken 在这里扮演的角色是「统一入口」:你不需要为每个模型单独记一套 Base URL 和 Key,而是通过一个兼容 Anthropic 协议的端点,把 GLM4.5 以及其他模型都挂到同一个 Key 下。这样做的好处很直接——Claude Code 的settings.json里只需要维护一份凭证,换模型时改model字段即可,不用动 Key 和地址。
前置准备分三步。第一步是拿到 TaoToken 的 API Key。访问官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 注册后,进入控制台的 API Keys 页面(deep link:https://taotoken.net/console/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api_keys&utm_campaign=rewrite),创建一个新 Key。建议按项目命名,比如claude-code-glm45,方便后面排查是哪个 Key 出的问题。创建后立刻复制保存,页面刷新后就不再完整显示。
第二步是确认 GLM4.5 的 Model ID。TaoToken 的模型列表里,GLM4.5 对应的标识通常是glm-4.5,但不同批次的命名可能有细微差异,建议在模型对话页面(deep link:https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_content=model_chat&utm_campaign=rewrite)先手动选一次 GLM4.5 发一条消息,确认能通,再把这个 Model ID 抄到配置里。这一步别省,我见过有人直接猜 Model ID 写成glm4.5少了横杠,结果请求返回 404。
第三步是记下 Base URL。TaoToken 的 API 端点是 https://taotoken.net/api,注意这个地址不带任何查询参数,配置时原样填入即可。Claude Code 需要的 Anthropic 兼容路径会自动拼接,你不需要手动加/v1/messages之类的后缀。
注意:TaoToken 是合规的 API 聚合入口,不是灰色中转。配置时请使用官方文档给出的地址,不要自行替换成来源不明的端点。
三件套凑齐后是这样:
| 配置项 | 值 | 说明 |
|---|---|---|
| Base URL | https://taotoken.net/api | 固定,不带参数 |
| API Key | sk-开头的一串 | 控制台创建,按项目命名 |
| Model ID | glm-4.5 | 以模型对话页实测为准 |
拿到这三样,就可以进入下一节写settings.json了。如果你还没装 Claude Code,先按官方方式装好,claude --version能输出版本号即可。安装过程这里不展开,重点放在配置落地。
3. 可复制配置:settings.json 片段与 Claude Code 三件套写法
Claude Code 的配置文件位置分两层。用户级在~/.claude/settings.json,对所有项目生效;项目级在<项目根>/.claude/settings.json,只对当前项目生效。个人开发建议写用户级,团队共享写项目级。下面给的是用户级配置,字段名和路径与 Claude Code 实际读取的一致,可以直接复制。
{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_AUTH_TOKEN": "sk-你的TaoToken密钥", "ANTHROPIC_MODEL": "glm-4.5", "ANTHROPIC_SMALL_FAST_MODEL": "glm-4.5" } }这里四个字段各有作用。ANTHROPIC_BASE_URL指向 TaoToken 的 API 端点,Claude Code 会把所有请求发到这里。ANTHROPIC_AUTH_TOKEN填你在控制台创建的 Key,注意是AUTH_TOKEN不是API_KEY,写错字段名 Claude Code 会忽略。ANTHROPIC_MODEL是主模型,填glm-4.5。ANTHROPIC_SMALL_FAST_MODEL是处理轻量任务(比如生成 commit message)时用的模型,也填glm-4.5,避免它回退到默认模型导致路由不一致。
如果你用的是项目级配置,路径换成<项目根>/.claude/settings.json,内容一样。但要注意:项目级配置里的 Key 会随代码提交,务必把.claude/settings.json加进.gitignore,或者用环境变量引用。更稳妥的做法是项目级只写 Base URL 和 Model,Key 通过用户级或环境变量注入。
写完配置后,验证文件格式是否正确。JSON 不允许尾随逗号,字段名必须双引号。可以用python -m json.tool ~/.claude/settings.json检查,没报错就是合法 JSON。我踩过的坑是复制时多了一个逗号,Claude Code 启动时直接报解析失败,但错误信息很隐晦,只提示配置加载异常,排查了半天。
配置生效的优先级再强调一次:项目级 > 用户级 > 环境变量。如果你之前 export 过ANTHROPIC_BASE_URL,它会被子级的 settings.json 覆盖,不用担心冲突。反过来,如果 settings.json 里没写某个字段,才会回退到环境变量。所以最干净的做法是:settings.json 写全三件套,终端里不要再 export 同名变量。
提示:修改 settings.json 后需要重启 Claude Code 会话才会生效。已经打开的会话不会热加载配置。
到这里配置就写完了。下一节做一次真实的对话请求,确认 GLM4.5 的路由确实生效,而不是悄悄走了默认端点。
4. 验证请求:一次对话确认 GLM4.5 路由生效
配置写完不代表生效,必须发一次真实请求验证。验证的目标有两个:一是请求确实发到了 TaoToken 的端点,二是返回的内容来自 GLM4.5 而不是其他模型。下面给一套可跟做的验证动作。
第一步,在终端启动 Claude Code:
claude启动后如果配置有语法错误,会立刻报配置加载失败。没报错说明 JSON 合法。进入交互界面后,先发一条简单的身份确认消息:
请用一句话说明你是哪个模型,并给出你的模型标识。GLM4.5 通常会回复类似「我是 GLM-4.5」的内容。如果它回复的是 Claude 系列,说明ANTHROPIC_MODEL没生效,请求走了默认端点。这时候检查settings.json里的字段名是不是写成了ANTHROPIC_MODEL_NAME之类的错误拼写。
第二步,用非交互模式发一次请求,方便脚本化验证:
claude -p "输出当前使用的模型标识,只输出模型名"-p是 print 模式,直接把结果打到标准输出。如果返回glm-4.5,说明路由正确。这一步的好处是可以写进 CI 或者启动脚本,每次换配置后跑一次。
第三步,确认请求真的经过了 TaoToken。最直接的方式是去 TaoToken 控制台的用量日志页面(deep link:https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite)看有没有新的调用记录。如果日志里有刚才那条请求,且模型显示为 GLM4.5,就说明整条链路通了:Claude Code → TaoToken → GLM4.5。
实测下来,从配置到验证通过大概五分钟。验证通过后,你可以正常用 Claude Code 读写文件、跑命令,所有推理都由 GLM4.5 完成。如果想让 Claude Code 处理更复杂的编码任务,可以考虑 Coding Plan(deep link:https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding_plan&utm_campaign=rewrite),它在长上下文和 Agent 场景下有更稳定的配额。
验证时如果返回内容为空或者报错,先别急着改配置,对照下一节的常见错误排查,大部分问题都能定位到具体字段。
5. 常见错误排查:401、local proxy failed、reading choices 与 OAuth 报错对照
配置过程中最容易遇到四类报错,下面按真实错误信息对照排查。
第一类:401 Unauthorized。这个最直接,Key 不对或者没带上。检查ANTHROPIC_AUTH_TOKEN字段是否填了完整的sk-开头字符串,有没有多余空格。如果 Key 是从控制台复制的,注意别把前后的引号也复制进去。还有一种情况是 Key 被删除或过期,去控制台 API Keys 页面确认状态是 active。
第二类:local proxy failed或connection refused。这通常说明 Base URL 写错了,或者网络到不了端点。确认ANTHROPIC_BASE_URL是https://taotoken.net/api,不要多加/v1或结尾斜杠。如果公司网络有出口限制,确认能访问该域名。这类报错和 Key 无关,改地址即可。
第三类:reading choices相关报错,比如error reading choices field。这是响应格式不匹配,通常发生在 Model ID 写错、请求打到了不支持 Anthropic 协议的端点。检查ANTHROPIC_MODEL是否为glm-4.5,以及 Base URL 是否指向 TaoToken 而非其他地址。如果 Model ID 拼错,端点可能返回一个非 Anthropic 格式的响应,Claude Code 解析时就报这个错。
第四类:OAuth相关报错,比如提示需要登录 Anthropic 账号。这说明 Claude Code 没读到你的AUTH_TOKEN,回退到了默认的 OAuth 流程。检查settings.json的env字段层级是否正确——必须是顶层env对象下的键,不能直接放在根对象里。另外确认没有同时设置ANTHROPIC_API_KEY和ANTHROPIC_AUTH_TOKEN,两者冲突时行为不确定。
排查顺序建议:先看报错类型,401 查 Key,proxy failed 查地址,reading choices 查 Model ID,OAuth 查字段层级。每次只改一个字段,改完重启会话再测,避免多个变量同时动导致定位困难。
如果你用的是 CC Switch 或 Cline MCP 这类工具管理多套配置,记得三件套要写全:Base URL、Key、Model ID 一个都不能少。Codex 的auth.json也是同理,字段缺失会导致回退到默认端点。配置类问题九成出在字段名和层级上,对照官方文档的接入说明(deep link:https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite)逐字核对,比反复试错快得多。
6. 把 GLM4.5 稳定跑在 Claude Code 里的后续动作
配置跑通之后,还有几个动作能让它更稳。第一是把settings.json纳入版本管理时做好脱敏,Key 用环境变量引用或者放在用户级配置里,项目级只留 Base URL 和 Model。第二是定期去控制台看用量,确认没有异常调用。第三是如果要在团队里推广,把这份配置写成 onboarding 文档,新人照着复制就能跑通。
需要长期在 Claude Code 里跑编码任务的话,Coding Plan 的配额比按量计费更适合高频使用。如果只是偶尔验证模型效果,用模型对话页面手动测就够了。接入文档里有完整的字段说明和示例,遇到字段不确定时优先查文档,比在社区里翻帖子快。
最后留一个实用技巧:把验证命令写成 shell 函数,每次改完配置跑一次,确认返回glm-4.5再开始干活。这样能避免配置没生效就埋头写代码,最后发现推理结果不对再回头排查,浪费的时间更多。