Windows/WSL Claude Code 提示 Not logged in /login
问题如图所示:

Claude Code有两套完全互斥认证体系:
- 网页 OAuth 登录(/login):走 Claude Pro 订阅,存在本地登录凭证,这个国内基本用不上;
- API Key 模式(环境变量 /settings.json):走按量计费 / 中转接口,必须完全清除旧登录态才会读取 API Key,这种是国内的主流使用方式,配置deepseek、glm等模型。
所以我们主要讨论第二种模式,只要本地存在 OAuth 登录缓存,Claude code会忽略你的ANTHROPIC_API_KEY,一直弹窗Not logged in,因此要在终端打开claude,然后/logout。

重新开启一个终端,启动claude code,如果你出现了下面的问题,那应该是你的key和base url配错了。

如果你出现了这个问题,就排查一下key和base url,另外这里有点讲究,因为claude code识别key的时候会看两个变量:
ANTHROPIC_API_KEY:官方原生密钥,请求头是X-Api-Key: {密钥},适用于Anthropic 官方控制台密钥(sk-ant-api03-xxx)、支持X-Api-Key头的原生兼容网关等场景,多内大多数大模型平台都用不了,比如火山方舟,使用会直接返回 ERR_BAD_REQUEST(400 错误)
ANTHROPIC_AUTH_TOKEN:Bearer 标准鉴权,请求头是Authorization: Bearer {token},适用于火山方舟 ARK 密钥、OpenAI 兼容中转、国内绝大多数大模型平台。
两变量共存冲突规则:若系统同时存在两个变量:优先读取 ANTHROPIC_API_KEY,忽略 ANTHROPIC_AUTH_TOKEN,国内大模型平台场景禁止同时配置,否则会使用不兼容的X-Api-Key鉴权头导致连接失败。
在环境变量里面配置好key和url就ok了,url后面不要加v1或者v3这些,这是openai那边用的。
![]()
你可以用其他方式配置key和url,配置加载优先级从最高→最低:
CLI 启动参数,临时单次覆盖,仅本次启动生效,优先级高于系统环境变量:
claude --env ANTHROPIC_AUTH_TOKEN=xxx --env ANTHROPIC_BASE_URL=https://ark.cn-beijing.volces.com/api/coding
操作系统全局环境变量(Windows 用户 / 系统变量) 修改后必须完全关闭所有终端 / VS Code 再重启,旧进程不会加载新变量。
项目本地私有配置 ./.claude/settings.local.json(仅当前项目,不提交 Git)。
项目共享配置 ./.claude/settings.json(团队共用)。
用户全局配置 ~/.claude/settings.json, 仅上层无有效鉴权变量时才读取。
如果你可以key和url没问题了,那么重新启动claude code应该就是下面这个界面:

一路回车就可以开始对话啦,再次对话就正常了,不会报登录错误:

更多推荐




所有评论(0)