Skip to content

常见报错与排查 ​

本页汇总使用 MoaCode(尤其是 Claude Code / Codex CLI)时的常见报错与解决方法。

通用建议

  • 使用 CLI 编程智能体前做好代码备份或版本控制
  • 改动环境变量后必须重启终端(Windows 无效时重启电脑)
  • 大部分「无效令牌」问题源自旧服务商配置残留,见配置残留

认证类 ​

401 无效令牌 / Invalid API Key ​

常见原因是 IDE 或 MCP 修改了 settings.json,或 Key 未正确写入环境变量。

解决:重新配置三个环境变量:

bash
echo 'export ANTHROPIC_AUTH_TOKEN="你的APIKey"' >> ~/.zshrc
echo 'export ANTHROPIC_API_KEY="你的APIKey"' >> ~/.zshrc
echo 'export ANTHROPIC_BASE_URL="https://moacode.org"' >> ~/.zshrc
source ~/.zshrc
powershell
# Win + R 输入 sysdm.cpl → 高级 → 环境变量,新建/更新:
#   ANTHROPIC_AUTH_TOKEN / ANTHROPIC_API_KEY = 你的Key
#   ANTHROPIC_BASE_URL   = https://moacode.org
# 并删除用户目录 .claude 下的 settings.json,重启终端

验证 Key 是否有效:

bash
curl https://moacode.org/api/v1/user/balance -H "X-API-Key: 你的APIKey"

Missing API Key / 403 Request not allowed ​

报错形如 "type":"forbidden","message":"Request not allowed"——同样是环境变量未配置好,按上面的方法重新配置。

若使用的是专用 Key,另需检查:调用的端点/模型是否在该 Key 的授权范围内(渠道与协议要匹配)。

用过其他服务商后报无效令牌 ​

旧服务商的配置残留会覆盖 MoaCode 配置。

解决:

  1. 删除旧环境变量:ANTHROPIC_BASE_URL、ANTHROPIC_API_KEY、ANTHROPIC_AUTH_TOKEN(注意大小写变体都查一遍)
  2. Windows:删除用户目录 .claude 下的 claude.json 及其 backup 文件
  3. macOS / Linux:编辑 ~/.zshrc / ~/.bashrc 删除相关 export 行
  4. 重启终端后重新按 Claude Code 接入配置

请求类 ​

400 报错(客户端 beta 特性) ​

设置环境变量后关闭所有终端重开:

CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1

API Error 400(请求体问题) ​

Claude Code 构造的请求本身有问题。依次尝试:按 Esc 后输入 continue 重试 → 修改对话内容 → /compact 压缩上下文 → 重开会话。

413 / 请求体过大 ​

上下文过长。用 /clear 清理会话或重开;IDE 插件自带的大量 prompt 也会占用上下文。

Invalid model name ​

一般为上游渠道该模型并发不足,稍后重试或切换渠道/模型。

输出被截断 / response exceeded 32000 ​

设置环境变量提高输出上限:

CLAUDE_CODE_MAX_OUTPUT_TOKENS=32000

网络类 ​

Connection error ​

  1. 先测连通性:ping moacode.org
  2. 域名通但仍连不上,多为本机代理干扰,清空代理变量:
bash
unset http_proxy https_proxy all_proxy HTTP_PROXY HTTPS_PROXY ALL_PROXY
powershell
set HTTP_PROXY=
set HTTPS_PROXY=
set ALL_PROXY=

Request timed out ​

两种情况:

  • 网络问题 — 按上面 Connection error 处理
  • 上下文过长 — /clear 或重开会话

Overloaded / 500 / 529 ​

上游服务端压力大。稍等重试;开启自动渠道切换可自动降级到备用渠道。也可以到服务状态查看各渠道健康情况。

环境类 ​

No suitable shell found(Windows) ​

Git 未正确安装。在系统环境变量中新增:

CLAUDE_CODE_GIT_BASH_PATH=C:\Program Files\Git\bin\bash.exe

重启终端;仍无效则重装 Git(见 Windows 安装)。

Command timed out after 2m ​

Claude Code 与本机系统交互超时,与 API 无关。手动在终端执行该命令即可。

余额充足但请求被拒 ​

  • 检查是否达到 RPM / 并发限制(Dashboard 可见当前限额)
  • 团队 Key 检查团队日/周/月配额是否到顶(Team 页)
  • 订阅额度到顶且未开自动切换时会停止服务,见余额偏好

账单相关常见问题 ​

明明选的是 Opus 5,账单里为什么会出现别的模型? ​

先说结论:这是正常情况,不是你的问题,也不是系统出错了。

Claude Code 自己会在背地里做几件小事,比如:

  • 给你的对话起个名字(就是历史记录里显示的那一行标题)
  • 把很长的聊天记录压缩一下,省得占空间

做这些小事的时候,Claude Code 会自己换一个更便宜、更快的模型去处理,不会用你选的 Opus 5。所以账单里多出一些别的模型,是它自己在干活,不是你选错了,也不是被多扣钱。

到底要不要担心?

  • 这笔钱如果很小(一般几分钱到几毛钱):不用管,正常
  • 如果这笔钱很大(比如好几美元以上):那就不正常了,请提交工单或到 QQ 群咨询

想亲眼确认一下:

  1. 打开 moacode.org 登录你的账号
  2. 进入左侧菜单的 **Usage(用量)**页面
  3. 在明细记录里按时间找到你怀疑的那一笔,上面会写清楚用的是哪个模型、花了多少钱(详见用量查询)

Claude Desktop 新建对话时为什么会自动调用模型? ​

同样是正常现象,跟上面是一回事。

Claude Desktop 在你新建一个对话、发出第一条消息之后,会自动调用一个便宜的小模型,帮你给这个对话起个标题(就是左侧对话列表里显示的那行字)。这个标题生成和你实际对话用的模型没关系,是软件自带的功能,关不掉。

  • 这笔钱通常很小很小,几乎感觉不到
  • 如果你在消费记录里看到一笔莫名其妙的小额调用,大概率就是这个标题生成产生的,不用怀疑账号被盗

客户端更新 ​

bash
# Claude Code(macOS / Linux 需 sudo)
npm install -g @anthropic-ai/claude-code
# 或会话内
claude update

# Codex
npm install -g @openai/codex

还没解决? ​

MoaCode — One key. Every coding agent.