type
status
date
slug
summary
tags
category
icon
password
一、首先订阅 Claude code pro 会员
在 Claude Code 通过订阅账号跳转网页回调失败,报错信息:

OAuth error: Failed to fetch user roles: Request failed with status code 403 已经跳转到网页认证了,为什么 Claude code 还是不能用
这个问题是因为, Claude Code 的 OAuth 已完成,但本地 CLI 拿到的是一个「没有 Code 权限的会话」,所以它在拉
user roles 时被 403 拒了。下面把 原因 → 判断点 → 解决路径 理清。
你现在处在一个「最容易卡死」的中间态
从问题图片中能确认几件关键事实:
✅ 1\. OAuth 网页 确实成功了
右边浏览器明确写着:
You're all set up for Claude Code. You can now close this window.
这一步 不是问题。
❌ 2\. Claude Code CLI 报错的本质
终端里真正致命的不是
invalid api-key,而是这一句:这句话的真实含义是:
👉 Claude Code 用 OAuth token 去 Claude 平台拉「你有哪些角色 / 权限」 👉 平台返回:你这个账号 / token 没有 Claude Code 的角色
也就是说:
你登录成功了,但账号在 Claude 后端不被允许使用 Claude Code
最常见的 4 个原因
原因 1(⭐️最常见):账号没有 Claude Code 权限
Claude Code 不是所有 Claude 账号都自动开。
尤其是:
- 新账号
- 刚绑卡
- 没创建过 Developer 项目
- 地区 / IP 反复切换过
👉 OAuth 能过,但
roles=empty → 403验证方法
打开这个页面(你刚刚其实已经在了):
检查有没有这些东西之一:
- ✅ Projects / API Keys 页面可用
- ❌ 如果只看到普通 Chat UI,没有 Developer 控制台 → 基本就是没开
原因 2:你当前登录的 不是你以为的那个 Claude 账号
这个坑我见过非常多次,尤其你这种:
- 浏览器里有多个 Google / Email
- Claude 网页能用
- CLI 用的是 另一个 session
👉 OAuth 用的是 浏览器当前激活账号
👉 CLI 本地缓存的 token 对应的是 另一个账号
结果就是:
- 网页说成功
- CLI 拉角色 403
原因 3:本地 Claude Code 缓存脏了(很常见)
Claude Code 会缓存 OAuth token 和角色信息。
只要你:
- 切过账号
- 重装过
- 用过代理 / VPN
- 改过
$HOME
就可能出现 永远 403,哪怕账号是对的
原因 4:网络 / IP / 代理导致角色接口被拒
你前面对:
- Cursor
- 反代
- antigravity
- 多模型 Provider
折腾得比较多,这一点不能忽略。
✅ 一步到位的解决方案(按顺序来,别跳)
STEP 1|彻底清理 Claude Code 本地状态(关键)
⚠️ 不做这一步,后面 90% 白折腾
STEP 2|确认你只有一个 Claude 账号在浏览器中登录
- 打开 无痕窗口
- 只登录 一个 Claude 账号
- 确保这个账号:
- 能访问 https://platform.claude.com
- 能看到 Developer / API 相关内容
STEP 3|重新登录 Claude Code(必须手动)
流程应该是:
- CLI 输出
Opening browser for authentication...
- 浏览器跳转
- 网页显示 You're all set up
- 回到终端 自动成功
❌ 如果网页成功但 CLI 仍卡在 403 👉 99% 是账号权限问题,不是你操作问题
🧠 如果仍然 403,基本可以下结论了
结论:
当前 Claude 账号尚未被开放 Claude Code / Developer Role
这是 Anthropic 的后端开关问题,不是你环境。
🧩 可行的解决方法
方案 A:直接用 API Key(绕过 OAuth)- 亲测可行 changyou
如果你只是想 用 Claude Code 干活,不执着 OAuth:
changyou 注:
ANTHROPIC_API_KEY 这个key 可以去 claude 开发者平台新建一个,这里先配置, Pro 会员在 Claude Code 不一定要用这个的。这种方式 不走角色接口,最稳
二、终端设置代理
第一步修复后,再次登录,终端这次报错信息:
这个问题可以设置终端走代理修复:
经过以上两步,最终成功:

三、总结
每次打开新的终端,cd 到项目目录后,执行 claude 如果不成功,就执行一遍以下流程:
这个情况,先 cd 到项目,再次执行以上清除缓存步骤,然后再次执行
这样又登录成功了。
Claud Code 用户体验真差!如果不是想要用他的 sonnet 和 opus 模型,果断不折腾这个了!
Catalog