多人使用 Claude 订阅:各自登录,不要复制凭据
Claude 订阅登录每次刷新都会换一个新的 refresh token,旧的立即失效。多人或多台机器使用时每人各自网页登录;需要一份到处能用的凭据时用 setup-token 或 API Key。
开始前
- 有 Claude Pro / Max 订阅账号
- 目标机器已在线运行 Whalent daemon
为什么会失效
刷新会让旧的登录副本失效
Claude 订阅登录由约 8 小时有效的 access token 和一个 refresh token 组成。快过期时 Claude Code 自动刷新,拿到新的 access token 和新的 refresh token,旧的 refresh token 立即作废。同一份登录被复制到几个地方时,谁先刷新谁继续可用;其它副本再拿旧 token 刷新会被拒绝,Claude Code 会清空那份凭据并报 “OAuth session expired and could not be refreshed”。
各自登录互不影响
每次网页登录(/login)都是一份独立的登录,有自己的 refresh token。不同账号,或者同一个账号在不同机器、不同认证配置里分别登录,刷新时都不会影响对方。会出问题的只有“同一份登录被复制到了多处”。
推荐做法
每个人、每台机器各自网页登录
在 Agent 账号库的“配置列表”里为自己新建 Claude Code 认证配置,点“登录”完成网页授权,拿到属于自己的一份登录。换一台机器使用时,在那台机器上再登录一次,不要把正在使用的凭据带过去。
不要复制 .credentials.json
不要把 ~/.claude/.credentials.json 拷到别的目录或机器,也不要把它粘贴到另一个认证配置里继续用:复制时两边都能用,下一次刷新(最多约 8 小时)后只剩一边可用。已经复制过的,删掉副本并在那里重新网页登录。
同一台机器上的 ~/.claude 会自动共享
Whalent daemon 0.3.462 起,同一台机器上使用 ~/.claude 的所有对话共用这一份登录和同一把刷新锁(CLAUDE_SECURESTORAGE_CONFIG_DIR):同一时刻只有一个进程刷新,其它进程直接采用刷新后的结果,终端里直接运行的 claude 也在这把锁里。注意,以同一个系统用户(例如都用 root)运行的所有 Whalent 用户,默认都会用这一个账号;想各用各的账号,就为自己新建认证配置并单独登录。
需要一份到处都能用的凭据
用 setup-token 生成长期 Token
在任意一台能打开浏览器授权的机器上运行下面的命令,完成授权后终端会打印一个以 sk-ant-oat 开头的长期 Token(只显示一次)。它不会刷新,所以可以放在多台机器上共用;它只有推理权限,Remote Control 等功能仍需要完整登录。
claude setup-token把 Token 填进 Whalent
新建 Agent 时选“API Key 配置”,或在 Agent 账号库新建凭据时选“API Key”,把 Token 粘贴到 API Key 一栏,Base URL 留空。Whalent 按 sk-ant-oat 前缀识别它,以 CLAUDE_CODE_OAUTH_TOKEN 写入该认证配置,多个对话和多台机器都可以复用。机器上的 Whalent daemon 需要更新到最新版。
或者使用 API Key
Anthropic Console 的 API Key(ANTHROPIC_API_KEY)同样不会刷新,可以多处共用,按用量计费,适合自动化和团队共享。
注意事项
- 反复报 “OAuth session expired” 时,先在该认证配置里重新网页登录;如果很快又失效,检查是否还有地方在用同一份登录的副本。
- 同一台机器上还在运行 0.3.461 及更早版本的 daemon 会给每个对话复制一份登录,请全部升级。
- setup-token 和 API Key 等同账号密钥,不要贴进对话、知识库或公开分享页面。