配置后Claude仍要求登录怎么办 - Claude Code
Quick fix
在 ~/.claude.json 中添加 hasCompletedOnboarding: true 即可跳过登录。
Symptom
Section titled “Symptom”配置好 setting.json 文件之后,Claude任然要求登录?怎么办?Claude Code 新安装或首次使用时,会强制执行 onboarding(引导登录)流程。cc-switch 写入的 ~/.claude/settings.json 中的 env 配置(如 ANTHROPIC_BASE_URL 和 ANTHROPIC_AUTH_TOKEN)虽然生效了,但 Claude Code 在检查到未完成 onboarding 时仍会拦截并提示登录。settings.json 中的配置无法跳过此检查,必须在 ~/.claude.json 文件中设置 hasCompletedOnboarding: true 才能跳过登录界面。此外,部分用户还遇到了 /config 中 use custom Api key 被误设为 false(走官方订阅而非 API 通道),或 settings.json 中 permissions.ask 的 read 误写为小写等问题,这些也会导致登录异常。Issue #1688 则涉及另一个变体:切换回官方订阅时仍显示 API Usage Billing,原因是系统环境变量中残留了 ANTHROPIC_BASE_URL / ANTHROPIC_AUTH_TOKEN,覆盖了 cc-switch 写入的配置文件。
检查或创建 ~/.claude.json 文件,确保其中包含 hasCompletedOnboarding: true 字段。如果文件不存在,直接创建一个最小文件。
// ~/.claude.json{"hasCompletedOnboarding": true}如果 ~/.claude.json 已存在且包含其他内容,用 Python 脚本安全地补字段而不破坏原有内容:python3 -c "import json,pathlib; p=pathlib.Path.home()/'.claude.json'; data=json.loads(p.read_text()) if p.exists() else {}; data['hasCompletedOnboarding']=True; p.write_text(json.dumps(data,ensure_ascii=False))"
重开终端运行 claude。如果仍提示 Not logged in, please run /login,在 Claude Code 中输入 /config,检查最后一项 use custom Api key 是否为 true,如果为 false 则改为 true。
如果以上均无效,检查 ~/.claude/settings.json 中 permissions.ask 的值,将小写 read 改为首字母大写的 Read。
// ~/.claude/settings.json"permissions": {"ask": ["Read"]}如果切换回官方订阅后仍显示 API Usage Billing,检查系统环境变量是否残留了 ANTHROPIC_BASE_URL 和 ANTHROPIC_AUTH_TOKEN,手动清除后重开终端。Linux/macOS: unset ANTHROPIC_BASE_URL; unset ANTHROPIC_AUTH_TOKEN。Windows cmd: setx ANTHROPIC_BASE_URL ""。Windows PowerShell: Remove-Item Env:ANTHROPIC_BASE_URL -ErrorAction SilentlyContinue。
Affected Versions
Section titled “Affected Versions”Source Issues
Section titled “Source Issues”本页汇总自 4 个真实 issue
- 在 cc-switch 编辑供应商里设置 hasCompletedOnboarding: true 有用吗?
- 没有用。在 cc-switch 的供应商编辑里设置该字段不会写入 ~/.claude.json,必须直接在 ~/.claude.json 文件中添加 hasCompletedOnboarding: true 才能跳过登录。
- use custom Api key 设置为 true 是什么原理?
- 为 true 时代表走 API 通道(即 cc-switch 代理);为 false 时走的是官方订阅 subscription。如果误设为 false,Claude Code 会尝试走官方订阅登录而非第三方 API。
- 为什么切换回官方订阅后还是显示 API Usage Billing?
- 可能是系统环境变量中残留了 ANTHROPIC_BASE_URL 或 ANTHROPIC_API_KEY,覆盖了 cc-switch 写入的配置文件。需要手动 unset 这些环境变量后重开终端。cc-switch 本身只写入配置文件,不写入环境变量,残留的环境变量通常来自其他软件。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。