直接回答
Claude Code API Key 报错通常是以下原因之一:API Key 未正确设置、Base URL 配置有误、环境变量未生效、网络连接问题或模型名称/权限不匹配。按本文提供的步骤逐一排查,大部分问题可以在几分钟内解决。
国内访问的常见问题
常见报错类型
Claude Code 中最常见的报错包括:Invalid API Key · Please run /login(API Key 未检测到)、Authentication Failed(认证失败)、fetch failed(网络连接失败)、Model not found(模型不存在或无权限)。每种报错的原因不同,需要分别排查。
API Key 是否正确填写
首先确认 API Key 是否以 sk- 开头。QuickRouter 的 API Key 在控制台的 API 令牌页面创建。常见错误包括:复制时漏掉了前几位字符、多了空格、或者使用了其他平台的 Key。建议重新复制一次完整的 Key。
Base URL 是否配置正确
Claude Code 使用 QuickRouter 时,ANTHROPIC_BASE_URL 应设置为 https://api.quickrouter.ai(注意:不带 /v1,不带尾部斜杠)。如果 Base URL 配置错误(例如多加了 /v1),会导致请求发送到错误的地址。
环境变量是否生效
环境变量设置后只在当前终端会话中生效。如果关闭终端后重新打开,需要重新设置。建议使用永久配置方式(如写入 .bashrc、.zshrc 或 Windows 系统环境变量)。可以在终端中运行 test -n "$ANTHROPIC_AUTH_TOKEN" && echo "ANTHROPIC_AUTH_TOKEN is set"(macOS/Linux)或 IF DEFINED ANTHROPIC_AUTH_TOKEN (echo ANTHROPIC_AUTH_TOKEN is set)(Windows CMD)来验证变量是否设置成功,此方式不会显示完整密钥。
Windows / macOS / Linux 配置差异
三个系统的环境变量设置方式不同。macOS/Linux 使用 export 命令,Windows PowerShell 使用 $env: 前缀,Windows CMD 使用 set 命令。请确保使用正确的语法。另外,PowerShell 中字符串需要用双引号包裹,而 CMD 中不需要引号。
网络访问与超时问题
如果报错信息是 fetch failed 或连接超时,可能是网络问题。建议检查:1)网络是否正常;2)是否需要设置代理;3)设置 API_TIMEOUT_MS=300000 增加超时时间。使用 QuickRouter 时,国内网络通常可以直接访问,无需额外代理。
模型名称或权限问题
确认使用的模型名称在 QuickRouter 控制台中是否可用。创建令牌时,建议选择 Claude Code 专属分组或官转克劳德分组。如果模型名称拼写错误或令牌没有该模型权限,会返回 Model not found 或权限错误。
如何验证配置是否正确
逐一运行以下命令验证:1)test -n "$ANTHROPIC_AUTH_TOKEN" && echo "ANTHROPIC_AUTH_TOKEN is set"(macOS/Linux)或 IF DEFINED ANTHROPIC_AUTH_TOKEN (echo ANTHROPIC_AUTH_TOKEN is set)(Windows CMD)— 确认变量已设置;2)echo $ANTHROPIC_BASE_URL — 确认输出为 https://api.quickrouter.ai(不带 /v1);3)echo $API_TIMEOUT_MS — 确认输出为 300000。如果任一命令输出为空,说明对应的环境变量未设置。
推荐排查步骤
按以下顺序排查:1)确认 API Key 以 sk- 开头且完整复制;2)确认 ANTHROPIC_BASE_URL 为 https://api.quickrouter.ai(不带 /v1);3)确认环境变量在当前终端会话中已生效;4)设置 API_TIMEOUT_MS=300000;5)检查网络连接;6)确认模型名称和令牌分组权限正确。
# macOS / Linux
export ANTHROPIC_AUTH_TOKEN=sk-xxx
export ANTHROPIC_BASE_URL=https://api.quickrouter.ai
export API_TIMEOUT_MS=300000
claude
# Windows PowerShell
$env:ANTHROPIC_AUTH_TOKEN="sk-xxx"
$env:ANTHROPIC_BASE_URL="https://api.quickrouter.ai"
$env:API_TIMEOUT_MS="300000"
claude
# Windows CMD
set ANTHROPIC_AUTH_TOKEN=sk-xxx
set ANTHROPIC_BASE_URL=https://api.quickrouter.ai
set API_TIMEOUT_MS=300000
claude常见问题
Claude Code 显示 Invalid API Key 怎么办?▾
检查 ANTHROPIC_AUTH_TOKEN 环境变量是否设置正确。在终端中运行 test -n "$ANTHROPIC_AUTH_TOKEN" && echo "ANTHROPIC_AUTH_TOKEN is set" 确认变量已设置。如果未输出提示,说明环境变量未生效,需要重新设置。
为什么设置完环境变量还是报错?▾
环境变量只在当前终端窗口生效。如果你在新的终端窗口运行 Claude Code,需要重新设置。建议将配置写入 .bashrc 或 .zshrc 实现永久生效。
Claude Code 显示 offline 是怎么回事?▾
offline 状态是 Claude Code 检测到无法连接 Google 的状态显示。这不影响正常使用 QuickRouter 的 API 调用,可以忽略。
如何确认 Base URL 配置正确?▾
在终端中运行 echo $ANTHROPIC_BASE_URL 确认输出为 https://api.quickrouter.ai。注意不要带 /v1 后缀,不要带尾部斜杠。
Windows PowerShell 和 CMD 的配置有什么区别?▾
PowerShell 使用 $env: 前缀和双引号:$env:ANTHROPIC_AUTH_TOKEN="sk-xxx"。CMD 使用 set 命令且不需要引号:set ANTHROPIC_AUTH_TOKEN=sk-xxx。两者不要混用。
遇到 401 或 404 错误码怎么办?▾
401 表示认证失败,请检查 API Key 是否正确、Authorization Header 格式是否为 Bearer sk-xxx。404 表示请求路径不存在,请确认 ANTHROPIC_BASE_URL 是否正确设置为 https://api.quickrouter.ai(不带 /v1,不带尾部斜杠)。