【Bug已解决】Claude: session expired / Authentication token invalid — Claude 会话过期解决方案1. 问题描述Claude Code 的会话过期或认证令牌失效无法继续使用# 会话过期 $ claude 分析代码 Error: Session expired Your session has expired. Please log in again. # 或令牌无效 $ claude --print task Error: 401 Unauthorized Invalid authentication token. # 或令牌过期 $ claude task Error: token_expired Your API token has expired. Please refresh. # 或 OAuth 令牌失效 $ claude Error: OAuth token invalid Please re-authenticate with /login.这个问题在以下场景中特别常见OAuth 令牌过期通常 1 小时API Key 失效或被撤销长时间未使用后令牌过期账户密码更改令牌刷新失败多设备登录冲突2. 原因分析原因分类表原因分类具体表现占比OAuth 过期1 小时限约 40%API Key 撤销被删除约 25%长时间未用令牌过期约 15%密码更改令牌失效约 10%刷新失败网络约 5%多设备冲突踢出约 5%3. 解决方案方案一重新登录最推荐# 步骤 1重新登录 claude /login # 步骤 2或使用命令行 claude login # 步骤 3按提示完成 OAuth 认证 # 浏览器会打开 Anthropic 登录页面 # 步骤 4验证 claude --print hello方案二使用 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 ~/.zshrc source ~/.zshrc # 步骤 4验证 claude --print hello方案三刷新令牌# 步骤 1尝试刷新 claude /refresh # 步骤 2如果刷新失败重新登录 claude /login # 步骤 3清除旧凭证 rm -rf ~/.claude/credentials.json claude /login # 步骤 4验证 claude --print hello方案四检查凭证文件# 步骤 1检查凭证 ls -la ~/.claude/credentials.json cat ~/.claude/credentials.json # 查看内容 # 步骤 2如果文件损坏 rm ~/.claude/credentials.json claude /login # 步骤 3检查权限 chmod 600 ~/.claude/credentials.json # 步骤 4验证 claude --print hello方案五检查 API Key 有效性# 步骤 1测试 API Key curl -s https://api.anthropic.com/v1/messages \ -H x-api-key: $ANTHROPIC_API_KEY \ -H content-type: application/json \ -d {model:claude-sonnet-4-20250514,max_tokens:10,messages:[{role:user,content:hi}]} # 步骤 2如果 401Key 无效 # 登录 console.anthropic.com 重新创建 # 步骤 3如果 403Key 被限制 # 检查账户状态 # 步骤 4验证 claude --print hello方案六清除缓存重新登录# 步骤 1清除所有凭证 rm -rf ~/.claude/credentials.json rm -rf ~/.claude/auth* rm -rf ~/.claude/session* # 步骤 2重新登录 claude /login # 步骤 3验证 claude --print hello # 步骤 4如果仍失败使用 API Key export ANTHROPIC_API_KEYsk-ant-xxxxx claude --print hello4. 各方案对比总结方案适用场景推荐指数难度方案一重新登录OAuth 过期⭐⭐⭐⭐⭐低方案二API Key长期⭐⭐⭐⭐⭐低方案三刷新令牌轻微⭐⭐⭐⭐低方案四检查凭证损坏⭐⭐⭐⭐⭐低方案五测试 KeyKey 无效⭐⭐⭐⭐⭐低方案六清除缓存严重⭐⭐⭐⭐⭐低5. 常见问题 FAQ5.1 OAuth 令牌多久过期通常 1 小时。过期后需要刷新或重新登录。5.2 如何重新登录claude /login # 或 claude login5.3 API Key 会过期吗API Key 不会自动过期但可以被手动撤销。5.4 如何获取 API Key登录 https://console.anthropic.com/ → Settings → API Keys → Create。5.5 令牌刷新失败清除凭证重新登录rm ~/.claude/credentials.json claude /login5.6 如何检查 Key 是否有效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.7 多设备登录冲突在一台设备登录可能导致另一台设备令牌失效。重新登录即可。5.8 credentials.json 在哪里通常在~/.claude/credentials.json。5.9 API Key 和 OAuth 的区别API Key: 永久有效适合 CI/CDOAuth: 自动刷新适合交互使用5.10 排查清单速查表□ 1. claude /login 重新登录 □ 2. ANTHROPIC_API_KEYsk-ant-xxx 使用 Key □ 3. claude /refresh 刷新令牌 □ 4. rm ~/.claude/credentials.json 清除 □ 5. claude /login 重新认证 □ 6. curl 测试 Key 有效性 □ 7. console.anthropic.com 创建 Key □ 8. chmod 600 credentials.json 修复权限 □ 9. API Key 不会过期 □ 10. CI/CD 使用 API Key6. 总结根本原因会话过期最常见原因是 OAuth 令牌过期40%1 小时限和 API Key 撤销25%最佳实践使用claude /login重新登录或使用ANTHROPIC_API_KEY环境变量API Key在 console.anthropic.com 创建设置export ANTHROPIC_API_KEYsk-ant-xxx凭证损坏rm ~/.claude/credentials.json清除后重新登录最佳实践建议CI/CD 中使用 API Key永久有效交互使用使用 OAuth自动刷新故障排查流程图flowchart TD A[会话过期] -- B[claude /login 重新登录] B -- C{成功?} C --|是| D[✅ 问题解决] C --|否| E[使用 API Key] E -- F[export ANTHROPIC_API_KEY] F -- G[claude --print hello 验证] G -- H{成功?} H --|是| D H --|否| I[检查凭证文件] I -- j[ls ~/.claude/credentials.json] j -- K{文件存在?} K --|否| L[claude /login 重新登录] K --|是| M[rm 清除损坏凭证] M -- L L -- N{成功?} N --|是| D N --|否| O[测试 API Key] O -- P[curl api.anthropic.com] P -- Q{Key 有效?} Q --|否| R[console.anthropic.com 创建新 Key] Q --|是| S[清除缓存] R -- F S -- T[rm -rf ~/.claude/credentials*] T -- B D -- U[CI/CD: 使用 API Key] U -- V[✅ 长期方案]
【Bug已解决】Claude session expired / Authentication token invalid — Claude 会话过期解决方案
【Bug已解决】Claude: session expired / Authentication token invalid — Claude 会话过期解决方案1. 问题描述Claude Code 的会话过期或认证令牌失效无法继续使用# 会话过期 $ claude 分析代码 Error: Session expired Your session has expired. Please log in again. # 或令牌无效 $ claude --print task Error: 401 Unauthorized Invalid authentication token. # 或令牌过期 $ claude task Error: token_expired Your API token has expired. Please refresh. # 或 OAuth 令牌失效 $ claude Error: OAuth token invalid Please re-authenticate with /login.这个问题在以下场景中特别常见OAuth 令牌过期通常 1 小时API Key 失效或被撤销长时间未使用后令牌过期账户密码更改令牌刷新失败多设备登录冲突2. 原因分析原因分类表原因分类具体表现占比OAuth 过期1 小时限约 40%API Key 撤销被删除约 25%长时间未用令牌过期约 15%密码更改令牌失效约 10%刷新失败网络约 5%多设备冲突踢出约 5%3. 解决方案方案一重新登录最推荐# 步骤 1重新登录 claude /login # 步骤 2或使用命令行 claude login # 步骤 3按提示完成 OAuth 认证 # 浏览器会打开 Anthropic 登录页面 # 步骤 4验证 claude --print hello方案二使用 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 ~/.zshrc source ~/.zshrc # 步骤 4验证 claude --print hello方案三刷新令牌# 步骤 1尝试刷新 claude /refresh # 步骤 2如果刷新失败重新登录 claude /login # 步骤 3清除旧凭证 rm -rf ~/.claude/credentials.json claude /login # 步骤 4验证 claude --print hello方案四检查凭证文件# 步骤 1检查凭证 ls -la ~/.claude/credentials.json cat ~/.claude/credentials.json # 查看内容 # 步骤 2如果文件损坏 rm ~/.claude/credentials.json claude /login # 步骤 3检查权限 chmod 600 ~/.claude/credentials.json # 步骤 4验证 claude --print hello方案五检查 API Key 有效性# 步骤 1测试 API Key curl -s https://api.anthropic.com/v1/messages \ -H x-api-key: $ANTHROPIC_API_KEY \ -H content-type: application/json \ -d {model:claude-sonnet-4-20250514,max_tokens:10,messages:[{role:user,content:hi}]} # 步骤 2如果 401Key 无效 # 登录 console.anthropic.com 重新创建 # 步骤 3如果 403Key 被限制 # 检查账户状态 # 步骤 4验证 claude --print hello方案六清除缓存重新登录# 步骤 1清除所有凭证 rm -rf ~/.claude/credentials.json rm -rf ~/.claude/auth* rm -rf ~/.claude/session* # 步骤 2重新登录 claude /login # 步骤 3验证 claude --print hello # 步骤 4如果仍失败使用 API Key export ANTHROPIC_API_KEYsk-ant-xxxxx claude --print hello4. 各方案对比总结方案适用场景推荐指数难度方案一重新登录OAuth 过期⭐⭐⭐⭐⭐低方案二API Key长期⭐⭐⭐⭐⭐低方案三刷新令牌轻微⭐⭐⭐⭐低方案四检查凭证损坏⭐⭐⭐⭐⭐低方案五测试 KeyKey 无效⭐⭐⭐⭐⭐低方案六清除缓存严重⭐⭐⭐⭐⭐低5. 常见问题 FAQ5.1 OAuth 令牌多久过期通常 1 小时。过期后需要刷新或重新登录。5.2 如何重新登录claude /login # 或 claude login5.3 API Key 会过期吗API Key 不会自动过期但可以被手动撤销。5.4 如何获取 API Key登录 https://console.anthropic.com/ → Settings → API Keys → Create。5.5 令牌刷新失败清除凭证重新登录rm ~/.claude/credentials.json claude /login5.6 如何检查 Key 是否有效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.7 多设备登录冲突在一台设备登录可能导致另一台设备令牌失效。重新登录即可。5.8 credentials.json 在哪里通常在~/.claude/credentials.json。5.9 API Key 和 OAuth 的区别API Key: 永久有效适合 CI/CDOAuth: 自动刷新适合交互使用5.10 排查清单速查表□ 1. claude /login 重新登录 □ 2. ANTHROPIC_API_KEYsk-ant-xxx 使用 Key □ 3. claude /refresh 刷新令牌 □ 4. rm ~/.claude/credentials.json 清除 □ 5. claude /login 重新认证 □ 6. curl 测试 Key 有效性 □ 7. console.anthropic.com 创建 Key □ 8. chmod 600 credentials.json 修复权限 □ 9. API Key 不会过期 □ 10. CI/CD 使用 API Key6. 总结根本原因会话过期最常见原因是 OAuth 令牌过期40%1 小时限和 API Key 撤销25%最佳实践使用claude /login重新登录或使用ANTHROPIC_API_KEY环境变量API Key在 console.anthropic.com 创建设置export ANTHROPIC_API_KEYsk-ant-xxx凭证损坏rm ~/.claude/credentials.json清除后重新登录最佳实践建议CI/CD 中使用 API Key永久有效交互使用使用 OAuth自动刷新故障排查流程图flowchart TD A[会话过期] -- B[claude /login 重新登录] B -- C{成功?} C --|是| D[✅ 问题解决] C --|否| E[使用 API Key] E -- F[export ANTHROPIC_API_KEY] F -- G[claude --print hello 验证] G -- H{成功?} H --|是| D H --|否| I[检查凭证文件] I -- j[ls ~/.claude/credentials.json] j -- K{文件存在?} K --|否| L[claude /login 重新登录] K --|是| M[rm 清除损坏凭证] M -- L L -- N{成功?} N --|是| D N --|否| O[测试 API Key] O -- P[curl api.anthropic.com] P -- Q{Key 有效?} Q --|否| R[console.anthropic.com 创建新 Key] Q --|是| S[清除缓存] R -- F S -- T[rm -rf ~/.claude/credentials*] T -- B D -- U[CI/CD: 使用 API Key] U -- V[✅ 长期方案]