登录什么时候到期?2.1.318 让 auth status 和 -p 都能告诉你
跑在定时任务、CI 或脚本里的 claude -p,最怕的是某天凌晨突然报「Not logged in」,而你完全不知道登录是什么时候失效的。CLI 2.1.318 在这件事上做了一组配套改动:把「已保存的 claude.ai 登录何时结束」这个日期亮了出来,并提前提醒。
三处新增
按更新说明:
claude auth status现在会显示已保存的 claude.ai 登录的结束日期,字段名为loginExpiresAt;claude -p的 JSON 结果里也带上这个日期,字段名为credential_expires_at;claude -p的文本输出会在登录结束前 10 天起,往 stderr 打印一行警告。
前两项方便你写脚本去读,第三项则是给没人盯着的自动任务一个「提前喊一声」的机会。
到期后会怎样
同一版本里还修了到期之后的提示:当已保存的 claude.ai 登录到了时间上限,登录失败的报错现在会明确说是到期了;在 claude -p 里,还会点名两条出路:
claude auth login:重新登录;claude setup-token:生成适合无人值守场景的令牌。
这样一眼就能看出是登录到期,直接对症处理即可。
怎么用起来
可以把检查放进自己的监控里,比如定期跑一下:
bash
claude auth status看输出里的 loginExpiresAt,在到期前几天通过你已有的通知渠道提醒自己。如果你的流水线收集 claude -p 的 JSON 输出,也可以读取 credential_expires_at,剩余时间低于阈值就告警。具体 JSON 的整体结构和日期格式,更新说明没有写,请以实际输出为准。
需要留意
- 这组改动针对的是已保存的 claude.ai 登录;用其他方式认证的场景,不在这条说明的范围内;
- stderr 警告只在
claude -p的文本输出里提到。如果你的日志系统只收集 stdout,记得把 stderr 也接进来,不然这行提醒你是看不到的; - 长期无人值守的任务,更稳妥的是按提示使用
claude setup-token,而不是依赖一次交互登录。
小结
2.1.318 把「登录哪天到期」从一个只有失败时才知道的秘密,变成了 auth status 里能查、-p 结果里能读、到期前 10 天会提醒的信息。对依赖 claude -p 跑自动化的人来说,这是一个很实用的小改进。