最后更新: 2026-09-14
❯ claude✗ Your session has expired. Please run /login to sign in again.# first, make sure no API key is overriding the subscription:❯ echo $ANTHROPIC_API_KEYsk-ant-api03-… ← unset this if you meant to use Pro/Max❯ /logoutLogged out. Cleared ~/.claude/.credentials.json.❯ /loginOpening browser to authenticate…✔ Logged in as you@example.com — Claude Pro
「会话已过期」到底是什么意思
Claude Code 并不会在每个请求里发送你的密码。当你运行 /login 完成浏览器登录后,它会把一个 OAuth 令牌存到 ~/.claude/.credentials.json(或系统钥匙串)。这个访问令牌有效期很短,靠一个更长效的刷新令牌在后台续期。
「Your session has expired. Please run /login」意味着 Claude Code 持有的令牌已失效,而后台续期被拒绝了。这不是你代码或提示词的 bug,而是需要重新建立的登录状态。
最常见有效的做法:先 /logout 再 /login
在 Claude Code 里运行 /login 并完成浏览器登录。如果单独 /login 不生效,先 /logout 丢弃过期凭证,再从干净状态 /login。一个干净的 logout→login 循环能解决绝大多数情况。
如果浏览器步骤打开却无法完成,把授权链接复制到一个已登录 claude.ai 的浏览器里确认,再把返回的代码粘贴回终端。
如果反复出现或几小时后又掉
当 /login 成功、却很快又被登出时,是续期本身失败了。常见原因:你改了 Anthropic 密码、在别处退出了 claude.ai(或「退出所有会话」)、账号或管理员吊销了会话、机器休眠或离线超过了续期窗口,或者系统时钟不对——时钟漂移会让有效令牌看起来像过期。
先解决根因:把时钟设为自动同步,Claude Code 运行时别在网页端退出全部会话。然后做一次干净的 /logout → /login。
ANTHROPIC_API_KEY 陷阱
登录「留不住」最常见的原因,是 shell 配置里设了 ANTHROPIC_API_KEY 环境变量。Claude Code 会优先用 API Key 而不是你的订阅登录,而这个按量计费的 Key 可能已过期、撞了限额或权限不同——于是表现为鉴权错误,尽管你的订阅其实没问题。
检查一下:`echo $ANTHROPIC_API_KEY`(macOS/Linux)或 `echo %ANTHROPIC_API_KEY%`(Windows)。如果它被设了、而你本想用 Pro/Max 订阅,就从 shell 配置(~/.zshrc、~/.bashrc 或 Windows 环境变量)里删掉它,重启终端后再 /login。
最后手段:删除凭证文件
如果 /logout → /login 仍然反复,说明保存的凭证损坏了——可能是写了一半的 ~/.claude/.credentials.json,或 macOS 钥匙串里被锁定、不可写的条目。关闭 Claude Code,删除 ~/.claude/.credentials.json,重新打开并运行 /login 从头登录。在 macOS 上你可能还需要在「钥匙串访问」里删掉「Claude Code」条目。
这个文件里是实时凭证:像对待密码文件一样对待它,绝不要把它的内容贴进聊天或截图。
先确认你的会话到底还活着没
在花时间修复之前,先弄清底层的 claude.ai 会话是否还有效——也就是 Claude Code 登录的同一个账号。导出你的 claude.ai 会话 Cookie,用下方的检测跑一下:几秒内就能知道会话是否有效、是什么套餐、5 小时和每周限额还剩多少,从而把「会话过期」和「撞了用量限额」区分开。
Claude Code 登录 — 常见问题
/login 背后的刷新令牌大约能维持 30 天的活跃期,但它签发的访问令牌很短、在后台续期。正常情况下你每隔几周才需要重新 /login——如果是每隔几小时,说明有东西在阻止续期(见上文 ANTHROPIC_API_KEY 和时钟的原因)。
基本不能——重装不会清掉 ~/.claude/.credentials.json,损坏的凭证依旧在。删除该文件(或钥匙串条目)再 /login 才是对症的做法;只有二进制本身坏了才需要重装。
不会。会话/登录错误不消耗用量也不花钱。但如果设了 ANTHROPIC_API_KEY,Claude Code 可能在按 token 计费那个 API Key,而不是用你的订阅——如果你本想用 Pro 或 Max,这就是删掉它的理由。
在 Pro/Max 上做交互式编码,用订阅登录(/login)并确保 ANTHROPIC_API_KEY 未设置。只有在需要按量计费、无浏览器步骤的自动化或 CI 里,才用 API Key。
机器休眠或离线超过续期窗口会让令牌失效,而 VPN 或代理可能让续期请求失败、或看起来像新的登录地点。重新联网、确认时钟正确,然后在稳定连接下 /login 一次。
你的 Claude 会话还活着吗?
粘贴你的 claude.ai 会话 Cookie,几秒内就能知道它是否有效、什么套餐,以及 5 小时和每周用量还剩多少。