【Bug已解决】openclaw API key invalid / 401 Unauthorized — OpenClaw API 密钥无效解决方案
【Bug已解决】openclaw: API key invalid / 401 Unauthorized — OpenClaw API 密钥无效解决方案1. 问题描述OpenClaw 使用时 API 密钥无效或认证失败# API Key 无效 $ openclaw task Error: 401 Unauthorized Invalid API key. Please check your ANTHROPIC_API_KEY. # 或密钥过期 $ openclaw --print task Error: 401 invalid_api_key The API key has been revoked or expired. # 或密钥未设置 $ openclaw Error: ANTHROPIC_API_KEY not set Please set your API key: export ANTHROPIC_API_KEYsk-ant-xxx # 或密钥格式错误 $ openclaw task Error: 401 API key format is invalid.这个问题在以下场景中特别常见密钥未设置或拼写错误密钥已过期或被撤销密钥格式错误环境变量未加载使用了错误的密钥类型密钥权限不足2. 原因分析原因分类表原因分类具体表现占比未设置env 为空约 35%过期/撤销401约 25%格式错误sk-ant-xxx约 15%未加载.bashrc约 10%错误类型test vs prod约 10%权限不足403约 5%3. 解决方案方案一设置正确的 API Key最推荐# 步骤 1获取 API Key # 登录 https://console.anthropic.com/ # Settings → API Keys → Create Key # 步骤 2设置环境变量 export ANTHROPIC_API_KEYsk-ant-api03-xxxxx # 步骤 3永久设置 echo export ANTHROPIC_API_KEYsk-ant-api03-xxxxx ~/.bashrc source ~/.bashrc # 步骤 4验证 openclaw --print hello方案二检查密钥格式# 步骤 1检查密钥格式 echo $ANTHROPIC_API_KEY | head -c 20 # 正确格式: sk-ant-api03-xxxxx # 错误格式: sk-xxxxx (OpenAI 格式) # 步骤 2确保使用 Anthropic 格式 export ANTHROPIC_API_KEYsk-ant-api03-correct-key # 步骤 3检查空格 echo [$ANTHROPIC_API_KEY] # 不应有前后空格 # 步骤 4验证 openclaw --print hello方案三验证密钥有效性# 步骤 1使用 curl 测试 curl -s https://api.anthropic.com/v1/messages \ -H x-api-key: $ANTHROPIC_API_KEY \ -H anthropic-version: 2023-06-01 \ -H content-type: application/json \ -d {model:claude-sonnet-4-20250514,max_tokens:10,messages:[{role:user,content:hi}]} # 步骤 2如果 401密钥无效 # 登录 console.anthropic.com 重新创建 # 步骤 3如果 403权限不足 # 检查账户状态和计划 # 步骤 4验证 openclaw --print hello方案四检查环境变量加载# 步骤 1检查环境变量 echo $ANTHROPIC_API_KEY # 步骤 2如果为空加载配置 source ~/.bashrc # 或 source ~/.zshrc # 步骤 3检查 .bashrc 中是否有 grep ANTHROPIC_API_KEY ~/.bashrc # 步骤 4如果没有添加 echo export ANTHROPIC_API_KEYsk-ant-api03-xxxxx ~/.bashrc source ~/.bashrc方案五使用 .env 文件# 步骤 1创建 .env 文件 cat .env EOF ANTHROPIC_API_KEYsk-ant-api03-xxxxx EOF # 步骤 2加载 .env export $(cat .env | xargs) # 步骤 3或使用 python-dotenv pip install python-dotenv python3 -c from dotenv import load_dotenv; load_dotenv() # 步骤 4验证 openclaw --print hello方案六使用 OpenClaw 配置# 步骤 1创建配置 cat ~/.openclaw/config.json EOF { api_key: sk-ant-api03-xxxxx } EOF # 步骤 2或使用命令配置 openclaw config set api_key sk-ant-api03-xxxxx # 步骤 3验证 openclaw --print hello # 步骤 4检查配置 openclaw config show4. 各方案对比总结方案适用场景推荐指数难度方案一设置 Key通用⭐⭐⭐⭐⭐低方案二检查格式格式⭐⭐⭐⭐⭐低方案三验证有效性排查⭐⭐⭐⭐⭐低方案四检查加载env⭐⭐⭐⭐⭐低方案五.env 文件项目⭐⭐⭐⭐低方案六配置长期⭐⭐⭐⭐⭐低5. 常见问题 FAQ5.1 如何获取 API Key登录 https://console.anthropic.com/ → Settings → API Keys → Create。5.2 API Key 格式是什么sk-ant-api03-xxxxxAnthropic 格式不是 OpenAI 的sk-xxxxx。5.3 如何设置 API Keyexport ANTHROPIC_API_KEYsk-ant-api03-xxxxx5.4 如何验证密钥curl -s https://api.anthropic.com/v1/messages \ -H x-api-key: $ANTHROPIC_API_KEY \ -d {model:claude-sonnet-4-20250514,max_tokens:10,messages:[{role:user,content:hi}]}5.5 401 和 403 的区别401: 密钥无效或过期403: 权限不足账户限制5.6 密钥在哪里存储环境变量、.env文件、或~/.openclaw/config.json。5.7 密钥可以撤销吗是的。在 console.anthropic.com 可以撤销密钥。5.8 多个密钥怎么办设置一个主密钥其他密钥在需要时切换。5.9 .env 文件安全吗确保 .env 在 .gitignore 中不要提交到 Git。5.10 排查清单速查表□ 1. export ANTHROPIC_API_KEYsk-ant-xxx □ 2. echo $ANTHROPIC_API_KEY 检查 □ 3. 格式: sk-ant-api03-xxx □ 4. curl 测试密钥有效性 □ 5. console.anthropic.com 创建新 Key □ 6. source ~/.bashrc 加载 □ 7. .env 文件 gitignore □ 8. ~/.openclaw/config.json 配置 □ 9. 401 密钥无效 □ 10. 403 权限不足6. 总结根本原因API Key 无效最常见原因是未设置35%和过期/撤销25%最佳实践使用export ANTHROPIC_API_KEYsk-ant-api03-xxxxx设置正确的密钥密钥格式使用 Anthropic 格式sk-ant-api03-xxxxx不是 OpenAI 格式验证方法使用curl测试密钥有效性最佳实践建议在~/.bashrc或.env中设置密钥使用source加载故障排查流程图flowchart TD A[API Key 无效] -- B[echo $ANTHROPIC_API_KEY] B -- C{有值?} C --|否| D[export ANTHROPIC_API_KEY] C --|是| E[检查格式] D -- F[sk-ant-api03-xxxxx] F -- G[source ~/.bashrc] E -- H{格式正确?} H --|否| I[使用 sk-ant-api03- 格式] H --|是| j[curl 测试] G -- K[openclaw --print hello] I -- K j -- L{401?} L --|是| M[console.anthropic.com 创建新 Key] L --|否, 403| N[检查账户权限] L --|否, 200| K M -- D N -- O[升级计划或联系支持] O -- K K -- P{成功?} P --|是| Q[✅ 问题解决] P --|否| R[检查 .env 加载] R -- S[export $(cat .env | xargs)] S -- K K -- T{成功?} T --|是| Q T --|否| U[使用配置文件] U -- V[~/.openclaw/config.json] V -- K Q -- W[长期: .bashrc 正确格式 curl 验证] W -- X[✅ 长期方案]