明明登录成功,Claude Code 为什么还报 401 无效令牌?

一篇回溯排查Claude Code认证失败的完整指南

背景

笔者买了Claude Pro会员,想在终端里用Claude Code写代码,结果一运行就报错:

css 复制代码
401 {"error":{"code":"","message":"无效的令牌 (request id: ...)","type":"new_api_error"}}

明明已经登录了,claude auth status 也显示 loggedIn: true.但就是用不了。如果你也遇到了这个问题,这篇文章会帮你快速定位原因。

先了解一下:Claude Code 的认证方式

Claude Code支持两种认证路径:

  • 订阅账号登录 (Pro/Max/Team/Enterprise):用你的Claude.ai账号通过浏览器OAuth授权,请求走Anthropic官方服务器,用量计入你的订阅额度。
  • API Key 登录 (Console):用Anthropic控制台生成的API Key,按token计费。

首次运行 claude 时会让你选择登录方式,Pro 用户应该选择 "Claude account with subscription" 。

另外需要注意:Pro 订阅是claude.ai网页端、桌面端、移动端和Claude Code共享同一个用量额度的。用量达到上限后会触发限速,需要等待一段时间才能继续使用。如果你同时重度使用多个端,可以考虑升级到Max计划获取更高额度。

排查流程

第一步:确认基本信息

运行以下命令收集信息:

bash 复制代码
# 查看版本
claude --version

# 查看认证状态
claude auth status

# 检查是否有 API Key 环境变量干扰
echo $ANTHROPIC_API_KEY

认证状态显示authMethod: "oauth_token"且loggedIn: true,登录本身就没问题。$ANTHROPIC_API_KEY有值的话先unset ANTHROPIC_API_KEY。

第二步:看错误信息的语言

这是最容易忽略的一点。仔细看看我的报错信息:"message":"无效的令牌"

Anthropic官方API的报错是英文。我看到中文,说明请求压根没到Anthropic的服务器,被某个代理站拦下来了。

第三步:查环境变量

运行以下命令一网打尽:

bash 复制代码
echo $ANTHROPIC_BASE_URL
echo $ANTHROPIC_AUTH_TOKEN
env | grep -i anthropic
env | grep -i claude
env | grep -i proxy

如果你也看到类似这样的输出:

ini 复制代码
ANTHROPIC_BASE_URL=https://xxx.某代理站.top
ANTHROPIC_AUTH_TOKEN=sk-xxxxxxxx

这就是问题所在。 ANTHROPIC_BASE_URL环境变量会覆盖 Claude Code 默认的 API 端点,让所有请求发到代理站而不是api.anthropic.com。即使你用官方账号登录了,请求依然走的是代理站------代理站当然不认识你的 OAuth token,于是返回 401。

第四步:修复

临时修复(当前终端会话生效):

bash 复制代码
unset ANTHROPIC_BASE_URL
unset ANTHROPIC_AUTH_TOKEN

然后重新运行 claude,应该就正常了,这也说明你的问题确实和我一样,是被代理站拦截了。

永久修复(找到并删除写入这些变量的地方):

javascript 复制代码
grep -n "ANTHROPIC\|代理站域名" ~/.zshrc ~/.bash_profile ~/.bashrc ~/.zprofile ~/.zshenv 2>/dev/null

找到对应行删掉,再source一下配置文件。如果所有配置文件里都找不到,说明这些变量是之前在终端手动export的,重启终端就消失了,不需要额外处理。

常见的其他认证问题

如果你没有代理站的问题,但Claude Code仍然报错,检查以下几点:

  • 登出再重新登录 :在Claude Code中输入/logout,然后运行claude login,选择订阅账号方式重新登录。
  • 彻底清除缓存后重登:
bash 复制代码
 rm -rf ~/.claude
 rm -f ~/.claude.json
 claude
  • 确认浏览器中登录的是正确账号:授权时浏览器里可能已经登录了另一个没有 Pro 的账号。
  • 确认订阅没过期 :去claude.ai/settings检查你的 Pro 状态。
  • Claude Code 版本太旧 :运行 npm update -g @anthropic-ai/claude-code 更新到最新版。
  • 第三方工具限制:Anthropic 从 2026 年 1 月起限制了 Claude Code 凭证只能用于官方客户端。如果你在用 OpenClaw、Kilo Code 等第三方工具,需要改用 API Key 方式。

几个关键点

  • 看到中文错误信息就应该警觉 ------ Anthropic 官方 API 返回英文错误,中文说明请求被发到了代理站。
  • ANTHROPIC_BASE_URL是最常见的坑。用过代理站的人容易把这个变量留在shell配置里,后来换成正式账号登录也没用,请求还是走代理那边。
  • 排查认证问题最顺手的命令:env | grep -i anthropic,一行看清所有相关变量。
  • unset 只管当前会话,要彻底解决需要从Shell配置文件中删除相关行。
相关推荐
云卷云舒___________7 小时前
突发 | OpenAI 惊现 memory4-dream 与 gpt-rosalind!Gemini 3.8 路由至4? | 10月11日 AI日报
openai·codex·gemini·ai日报·antigravity·memory4dream·gptrosalind
向霸天7 小时前
从Claude code来看业务中如何设计一个agent的核心部分
claude
冬奇Lab7 小时前
一天一个开源项目(第234篇):CC Switch —— 一个 App 管理十款 AI 编程工具的 Provider、MCP、Skills 和 Prompts
人工智能·开源·claude
小蠢驴打代码7 小时前
给 Codex Plan 模式加一本决策账本:问过什么、选了什么,都进仓库
开源·openai·ai编程
就叫飞六吧9 小时前
nat打洞和frp区别
ai编程
桃西西呀10 小时前
LangGraph4j之一:客服请求分诊既要循环又要分流,我用 LangGraph4j 把控制流抽成了数据
人工智能·llm·ai编程
奈落2411 小时前
独立的AI编程助手正在消失?从文心快码并入百度搭子、Qwen Code转向CLI,看编程工具正被吸收进更大的智能体平台
百度·agent·ai编程·ai 编程
有毒的教程11 小时前
Comfy Desktop下载安装教程-ComfyUI官方桌面版文生图模型配置与图像生成完整图文步骤
ai编程
寒狼GPT11 小时前
Codex 5小时额度是固定重置还是滚动恢复?为什么每个人Reset时间不一样
chatgpt·程序员·ai编程
libokaifa11 小时前
Claude Code Mods:给终端装一块自己的仪表盘
ai编程