企业级 Claude API 官方通道中转

Claude Code 如何配置 API:Key、网关与 Windows 验证步骤

更新于 2026-10-23 · fishxcode.cyou

简答:Claude Code 配置 API 先判断认证场景:直连 API 使用 ANTHROPIC_API_KEY,网关按要求使用 ANTHROPIC_AUTH_TOKEN 或 ANTHROPIC_API_KEY,云平台则按对应变量配置。设置后用 claude -p 和 /status 验证。

定义:Claude Code API 配置,是为 Claude Code 指定认证凭证、请求入口和模型,使终端请求能够发送到 Anthropic API、兼容网关或云平台。

先判断:你需要哪种 API 配置

如果你只是使用个人订阅,Claude Code 可以通过 claude.ai 账号登录;如果要按 API 用量计费或接入开发环境,应使用 Claude Console 凭证;如果组织提供了网关,则需要使用网关地址和管理员发放的凭证。官方文档将这些认证路径分别列为 Claude.ai、Claude Console、Amazon Bedrock、Google Cloud’s Agent Platform 和 Microsoft Foundry。详情可查看 Claude Code Authentication。

场景主要凭证需要确认的内容适合方式
Claude.ai 订阅登录账号登录订阅和组织登录权限直接运行 claude 后登录
Claude Console APIANTHROPIC_API_KEYAPI Key、工作区和用量限制本地开发、脚本和 API 测试
Anthropic 兼容网关ANTHROPIC_AUTH_TOKEN 或 ANTHROPIC_API_KEYBase URL、请求头类型、模型名组织路由、审计或统一用量管理
云平台云平台身份或平台凭证IAM、区域、部署名或版本名已有云账号和模型部署的团队

本文是独立第三方接入指南,不代表 Claude Code 或 Anthropic 官方。第三方兼容 API 的 Base URL、凭证类型和模型名必须以供应商当前文档为准,本文不填写具体服务商地址或模型 ID。

从零配置 Claude Console API

1. 创建并保存 API Key

在 Claude Console 的 API Keys 页面创建密钥,并在创建时保存完整值。官方文档说明,创建密钥时可以选择名称、过期时间、关联账号和工作区范围;密钥应存放在密钥管理工具或安全的本地环境中,不要提交到代码仓库、共享项目配置或公开日志。创建步骤见 Get your Claude API key 和 Claude API Authentication。

2. macOS、Linux 和 WSL 设置变量

当前终端临时设置:

export ANTHROPIC_API_KEY="<YOUR_API_KEY>"

希望每次打开终端都生效,可将这行加入实际使用的 ~/.bashrc 或 ~/.zshrc,再重新打开终端。官方环境变量文档说明,Shell 中设置的变量只对当前终端及其启动的程序有效;settings 文件中的变量则会在 Claude Code 启动时读取。参考 Claude Code Environment variables。

不打印密钥内容,只检查是否为空和长度:

if [ -n "${ANTHROPIC_API_KEY:-}" ]; then echo "ANTHROPIC_API_KEY is set (length ${#ANTHROPIC_API_KEY})"; else echo "ANTHROPIC_API_KEY is empty"; fi

3. Windows PowerShell 和 CMD 设置变量

终端当前窗口设置持久设置状态检查
PowerShell$env:ANTHROPIC_API_KEY = "<YOUR_API_KEY>"[Environment]::SetEnvironmentVariable("ANTHROPIC_API_KEY", "<YOUR_API_KEY>", "User")if ([string]::IsNullOrEmpty($env:ANTHROPIC_API_KEY)) { "empty" } else { "set length $($env:ANTHROPIC_API_KEY.Length)" }
CMDset ANTHROPIC_API_KEY=<YOUR_API_KEY>setx ANTHROPIC_API_KEY "<YOUR_API_KEY>"if defined ANTHROPIC_API_KEY (echo set) else (echo empty)
WSLexport ANTHROPIC_API_KEY="<YOUR_API_KEY>"加入 ~/.bashrc 或 ~/.zshrcif [ -n "${ANTHROPIC_API_KEY:-}" ]; then echo set; else echo empty; fi

PowerShell 的 $env: 和 CMD 的 set 只影响当前窗口;SetEnvironmentVariable、setx 和 Shell profile 用于后续会话。设置后要打开新的终端窗口,避免继续使用旧环境。命令形式可核对 官方环境变量参考。

使用 settings.json 持久化配置

如果需要让 Claude Code 在不同项目和后台会话中都读取配置,可以把变量放在 settings 文件的 env 字段。用户级文件是 macOS、Linux、WSL 下的 ~/.claude/settings.json,Windows 对应 %USERPROFILE%\.claude\settings.json;项目级本地文件是项目目录内的 .claude/settings.local.json。项目共享文件 .claude/settings.json 会随仓库共享,不应放个人 API Key。文件作用域见 Settings files and precedence。

修改已有文件前先备份并确认目录存在:

mkdir -p ~/.claude && cp ~/.claude/settings.json ~/.claude/settings.json.bak 2>/dev/null || true

Windows PowerShell 可先执行:

New-Item -ItemType Directory -Force "$HOME\.claude" | Out-Null; if (Test-Path "$HOME\.claude\settings.json") { Copy-Item "$HOME\.claude\settings.json" "$HOME\.claude\settings.json.bak" -Force }

备份后再把变量合并到现有 JSON 的 env 对象中,不要用整体重定向命令覆盖原配置。最小结构如下:

{"env":{"ANTHROPIC_API_KEY":"<YOUR_API_KEY>"}}

如果文件已有权限、模型或其他字段,应保留原字段,只新增或修改 env。个人密钥不要放进项目共享文件;手动创建 .claude/settings.local.json 时,将它加入项目的 gitignore。

Shell、settings 文件、命令行参数和组织托管设置可能同时影响最终配置。不要凭猜测判断哪一个生效,修改后进入 Claude Code 运行 /status,确认实际认证来源和 Base URL。环境变量的读取方式与设置文件范围见 Environment variables,设置文件的合并规则见 Settings files and precedence。

接入 Anthropic 兼容 API 或组织网关

变量与请求头如何对应

供应商或网关说明Claude Code 变量对应请求头
要求 Bearer token 或 Authorization headerANTHROPIC_AUTH_TOKENAuthorization: Bearer <value>
要求 API key 或 x-api-keyANTHROPIC_API_KEYx-api-key: <value>
凭证需要轮换或从密钥库读取apiKeyHelper由帮助程序按官方机制提供

Claude Code 官方网关文档明确区分了 Bearer token、API key 和 apiKeyHelper。如果供应商没有说明凭证类型,不要根据变量名猜测;先向供应商或管理员确认。详见 Connect Claude Code to an LLM gateway。

网关地址使用 ANTHROPIC_BASE_URL。优先填写供应商文档给出的根地址,并确认客户端与网关约定的 Messages API 路径只添加一次。Claude Code 的网关兼容性文档说明,兼容网关需要处理 Claude Code 使用的 API 格式、请求头、请求体字段和流式响应;不能把只支持 OpenAI Chat Completions 的地址直接当作 Anthropic Messages 接口使用。参考 Claude Code gateway compatibility guide。

通用配置示例只使用占位符:

export ANTHROPIC_BASE_URL="https://gateway.example.com"

export ANTHROPIC_AUTH_TOKEN="<GATEWAY_TOKEN>"

claude -p "请只回复:API 已连通"

第三方兼容 API 的具体域名、模型名、认证头和路径可能不同,应以其当前文档为准。模型位置使用 <MODEL_ID> 占位,不将某个平台的模型 ID 复制到另一个连接方式中。

用 curl 验证 Anthropic Messages 接口

如果你需要绕过 Claude Code,单独验证网关是否接受 Anthropic Messages 请求,可以使用以下占位命令。它不会输出密钥本身:

curl -sS "$ANTHROPIC_BASE_URL/v1/messages" -H "x-api-key: $ANTHROPIC_API_KEY" -H "anthropic-version: <API_VERSION>" -H "content-type: application/json" -d '{"model":"<MODEL_ID>","max_tokens":64,"messages":[{"role":"user","content":"Reply with OK"}]}'

如果网关要求 Bearer token,应将认证头改为:

-H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN"

Anthropic API 官方文档列出了 Authorization、x-api-key、anthropic-version 和 content-type 的用途;API 端点和版本要求见 API overview 与 API versions。

启动、选择模型与验证请求

最小验证命令

安装完成后先确认命令可用:

claude --version

设置凭证后,在同一个终端运行:

claude -p "请只回复:API 已连通"

Claude Code CLI 官方参考将 claude -p 定义为发送查询后退出的打印模式。进入交互会话后运行 /status,可以查看认证来源和 Base URL;网关文档还建议发送一条普通测试消息确认请求确实成功。参考 CLI reference 和 网关连接验证说明。

如何指定模型

/model 是选择或切换模型的入口,不等于查询当前 API Key 可以访问的全部模型。模型可以是别名、Anthropic API 的完整模型名、Amazon Bedrock 的推理配置 ARN、Microsoft Foundry 的部署名或 Google Cloud’s Agent Platform 的版本名。兼容网关则应使用供应商确认的模型标识。模型配置规则见 Model configuration。

如果只想临时指定模型,可使用官方支持的模型参数或进入会话后使用 /model。不要把 ANTHROPIC_BASE_URL 当成模型选择变量:它只改变请求发送到哪里,不决定由哪个模型回答。

报错速查:原因、修复、验证

现象常见方向先做什么
401 或 invalid API key凭证为空、过期、撤销,或请求头类型不匹配检查变量是否为空,确认 API Key 对应 x-api-key,Bearer token 对应 Authorization,再运行 claude -p
403凭证没有访问指定资源的权限检查工作区、云平台 IAM 或网关权限,不要将 403 当成限速;修复后重新发最小请求
404路径或资源不存在,常见于 Base URL 重复拼接确认 Base URL、/v1/messages 和模型资源路径只按供应商文档添加一次,再用 curl 验证
429请求速率、输入或输出速率、用量层级或支出限制查看控制台限额,降低并发并按响应中的 retry-after 等信息处理,不要通过更换模型 ID 排查认证
claude 找不到安装目录未加入 PATH,或终端未重新打开重新打开终端并运行 claude --version,再检查当前终端的 PATH
流式响应中断网关未正确转发 SSE、事件或响应头先用非流式最小请求区分 API 与流式链路,再检查网关兼容性和 SSE 转发

Anthropic 官方错误文档将 401 定义为认证错误、403 定义为权限错误、404 定义为资源不存在、429 定义为限速或相关用量限制;429 的具体处理应结合控制台限制和响应头。错误码对照见 Claude API errors,速率和支出限制见 Rate limits。

Key 安全、网关可信度与费用控制

API Key 会产生调用权限和费用风险。使用任何兼容 API 或组织网关前,至少确认四点:凭证由谁保管、请求内容是否经过第三方、日志保留多久、是否提供轮换和撤销机制。不要把真实 Key 放进共享仓库、截图、工单或命令输出;需要轮换时优先使用密钥管理系统或官方支持的 apiKeyHelper 机制。Anthropic 官方认证文档建议使用密钥管理工具、定期轮换,并在怀疑泄露时禁用或删除密钥。

费用控制可以从三处入手:在 Claude Console 查看用量和组织限额;为组织或工作区设置支出上限;在网关侧配置额度、并发和日志策略。官方 Rate limits 文档说明,速率限制和支出限制是不同概念,达到不同限制时可能返回不同错误。没有实际账单数据时,不应根据本文推算具体价格或耗时。

配置完成后的自查清单

  1. 场景:已确认使用订阅登录、Console、兼容网关还是云平台。
  2. 凭证:已确认 ANTHROPIC_API_KEY 和 ANTHROPIC_AUTH_TOKEN 的请求头映射。
  3. 变量:只在当前终端或 settings 文件中保留需要的变量,没有遗留旧 Base URL。
  4. 文件:修改 settings 前已备份,个人密钥没有放入项目共享文件。
  5. 路径:Base URL 和 Messages API 路径没有重复拼接。
  6. 模型:模型名来自当前平台或网关文档,未混用不同平台的模型 ID。
  7. 验证:已用 claude -p 完成最小请求,并通过 /status 核对认证来源。
  8. 安全:检查命令只显示是否为空或长度,没有打印密钥片段。

常见问题

Claude.ai 订阅可以直接当作 Claude API Key 使用吗?

不能把两者视为同一种凭证。订阅使用账号登录路径;Claude API Key 需要在 Claude Console 创建,或使用组织提供的其他认证方式。

ANTHROPIC_AUTH_TOKEN 和 ANTHROPIC_API_KEY 怎么选?

网关要求 Bearer token 或 Authorization header 时使用 ANTHROPIC_AUTH_TOKEN;要求 API key 或 x-api-key 时使用 ANTHROPIC_API_KEY。直连 API 的具体认证方式以官方文档为准。

ANTHROPIC_BASE_URL 应该填什么?

填写供应商或网关文档提供的入口地址,并确认 /v1/messages 等路径只添加一次。不要把某个 OpenAI Chat Completions 地址直接当作 Anthropic Messages 接口。

为什么设置 API Key 后仍然出现登录提示?

先确认变量是在启动 claude 的同一个终端中设置的,再检查 settings 文件是否存在旧值。进入会话运行 /status,查看当前认证来源;必要时退出旧登录后重新启动。

如何确认配置成功但不泄露密钥?

只输出变量是否为空或长度,不要 echo 密钥内容;随后运行 claude -p 发送最小请求,并在交互会话中运行 /status 核对认证来源和 Base URL。

Windows PowerShell、CMD 和 WSL 的设置命令一样吗?

不一样。PowerShell 使用 $env:,CMD 使用 set 或 setx,WSL 使用 export。持久化后都应打开新的终端窗口,再运行状态检查和最小请求。

429 应该更换模型还是调整认证变量?

429 主要应检查速率、并发、用量层级或支出限制。先查看控制台限额和响应头,必要时降低并发并按 retry-after 等信息重试;它不是优先更换认证变量的错误。

相关阅读

参考资料

  1. Get your Claude API key - Claude Platform Docs(platform.claude.com)
  2. Authentication - Claude Platform Docs(platform.claude.com)
  3. Environment variables - Claude Code Docs(code.claude.com)
  4. Connect Claude Code to an LLM gateway - Claude Code Docs(code.claude.com)
  5. Claude Code gateway compatibility guide - Claude Code Docs(code.claude.com)
  6. API overview - Claude Platform Docs(platform.claude.com)
  7. Versions - Claude Platform Docs(platform.claude.com)
  8. Claude API errors - Claude Platform Docs(platform.claude.com)
  9. Rate limits - Claude Platform Docs(platform.claude.com)