常见问题
Claude Code
Claude Code 接 2api 时最常见的报错和解决办法。
一直要求登录,或提示 Not logged in · Please run /login
Section titled “一直要求登录,或提示 Not logged in · Please run /login”常见报错还有 Unable to connect to Anthropic services、Claude Code might not be available in your country。原因是首次启动的引导流程没拿到你的配置,去连了官方。
- 把
ANTHROPIC_BASE_URL和ANTHROPIC_AUTH_TOKEN写进~/.claude/settings.json的env(写法见 Claude Code),不要只写在项目目录的.claude/settings.json里。 - 打开
~/.claude.json(不是settings.json),在最外层加"hasCompletedOnboarding": true。 - 重新打开终端启动
claude,输入/status,能看到 Anthropic base URL 和 Auth token 两行就对了。
提示 Invalid API key · Please run /login,或 API Error: 401
Section titled “提示 Invalid API key · Please run /login,或 API Error: 401”2api 拒绝了这个 Key。按顺序检查:
- 先跑自检命令,如果 curl 也是 401,就是 Key 本身的问题:重新从控制台复制,注意别带空格。
- curl 正常而 Claude Code 报错,说明 Claude Code 读到的不是这个 Key。同一个变量在
settings.json的env里和终端export里都有时,以settings.json为准,检查那里是不是旧 Key。 settings.json写错格式(有注释、多了逗号)会导致只读到一部分,用jq . ~/.claude/settings.json检查。- 短时间内错太多次会被临时限制,提示
Too many invalid authentication attempts,等几分钟再用正确的 Key 试。
提示 Auth conflict,或者设了 Key 不生效
Section titled “提示 Auth conflict,或者设了 Key 不生效”ANTHROPIC_AUTH_TOKEN 和 ANTHROPIC_API_KEY 同时存在,或者之前登录过官方账号。
- 只保留
ANTHROPIC_AUTH_TOKEN,执行unset ANTHROPIC_API_KEY,并从~/.zshrc、~/.bashrc或 Windows 环境变量里删掉它。 - 只用 2api 的话,在 Claude Code 里执行
/logout退出官方账号。 - 想换回官方,把
ANTHROPIC_BASE_URL和两个 Key 变量都删掉。
提示 There’s an issue with the selected model
Section titled “提示 There’s an issue with the selected model”报错里的模型名你的分组没有。常见是 haiku 这类后台任务用的小模型。用 /v1/models 查到分组里有的模型,再按 Claude Code 页 设置 ANTHROPIC_DEFAULT_HAIKU_MODEL 和 CLAUDE_CODE_SUBAGENT_MODEL。
余额掉得很快,缓存好像没生效
Section titled “余额掉得很快,缓存好像没生效”老版本 Claude Code 在自定义地址下会让缓存命中率明显下降。先运行 claude update 升级到最新版;还不行就在 settings.json 的 env 里加 "CLAUDE_CODE_ATTRIBUTION_HEADER": "0"。可以在「使用记录」里看缓存相关的列确认效果。
超时,或者回复到一半断了
Section titled “超时,或者回复到一半断了”报错类似 Request timed out、No response from API、Server error mid-response。
- 在
env里把超时调长:"API_TIMEOUT_MS": "900000"。 - 回复中途断开时,直接回一句「继续」。
- 检查代理设置,见网络与报错码。
- 大请求每次都 504,是服务端超时,请带上时间联系客服。
报 400:Extra inputs are not permitted 或 anthropic-beta 相关
Section titled “报 400:Extra inputs are not permitted 或 anthropic-beta 相关”在 settings.json 的 env 里加 "CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1",重新启动。
WebFetch 报 Unable to verify if domain is safe to fetch
Section titled “WebFetch 报 Unable to verify if domain is safe to fetch”Claude Code 抓网页前会先去官方做一次检查,网络连不上官方时就会失败。在 ~/.claude/settings.json 的最外层(不是 env 里面)加上 "skipWebFetchPreflight": true。
换了 Key 或服务商后,每次都报 Invalid signature in thinking block
Section titled “换了 Key 或服务商后,每次都报 Invalid signature in thinking block”会话历史里留着别的上游签名的思考内容。执行 /clear 或者新开一个会话。
PowerShell 提示找不到 claude 命令
Section titled “PowerShell 提示找不到 claude 命令”Claude Code 没装上,或者安装路径还没生效。运行 irm https://claude.ai/install.ps1 | iex 安装,然后重新打开 PowerShell,再执行 claude --version。
VS Code 插件一直让登录
Section titled “VS Code 插件一直让登录”见 Claude Code 插件,在编辑器设置里加 claudeCode.environmentVariables 和 claudeCode.disableLoginPrompt。