跳转到内容

配置后Claude仍要求登录怎么办 - Claude Code

Quick fix

在 ~/.claude.json 中添加 hasCompletedOnboarding: true 即可跳过登录。

报错原文
配置好 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 写入的配置文件。

  1. 检查或创建 ~/.claude.json 文件,确保其中包含 hasCompletedOnboarding: true 字段。如果文件不存在,直接创建一个最小文件。

    // ~/.claude.json
    {"hasCompletedOnboarding": true}
  2. 如果 ~/.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))"

  3. 重开终端运行 claude。如果仍提示 Not logged in, please run /login,在 Claude Code 中输入 /config,检查最后一项 use custom Api key 是否为 true,如果为 false 则改为 true。

  4. 如果以上均无效,检查 ~/.claude/settings.json 中 permissions.ask 的值,将小写 read 改为首字母大写的 Read。

    // ~/.claude/settings.json
    "permissions": {
    "ask": [
    "Read"
    ]
    }
  5. 如果切换回官方订阅后仍显示 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。

ToolClaude Code
Version未知
PlatformsWindowsmacOSLinux
在 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。本站不分发任何软件。