[BUG] /login in one CLI session switches the account shown in other live sessions, but not their usage/quota — each session must /login again
What's Wrong?
With several interactive Claude Code CLI sessions open at the same time on one macOS machine, running /login in one session to switch to a different account/subscription leaves the other live sessions half-switched:
- they now report the new account (email / account id),
- but they keep the old account's usage state (session and weekly quota percentages, reset times) until
/loginis run again in each of them.
So every open session has to be logged in again, one by one, and until then each one shows an identity and a quota that belong to two different accounts.
Observed in this very session (a session that did not run the first /login). Values are from a status hook that reports account and usage:
| Moment | Account shown | Session quota | Weekly quota |
|---|---|---|---|
| Before the switch (old account) | cesar.obach@… | 61 % | 26 % |
| After /login in another session | simon.alero@… (new) | 81 % (still rising with the old account's usage) | 29 % |
| After /login in this session | simon.alero@… | 0 % | 0 % |
The middle row is the bug: new identity, old account's quota.
What Should Happen?
One of these two should hold, consistently:
/loginis global (credentials are shared through the macOS Keychain, per the authentication docs): then the other live sessions should pick up the new account and its usage/limits./loginis per session: then the other sessions should keep showing the old account entirely.
The current mix is the worst case: the identity changes but the quota does not, so the user can't tell which account a session is really billing or rate-limiting against. The docs don't say which of the two is intended. It would help to have that stated.
Steps to Reproduce
- On macOS, open two or more interactive
claudesessions (same user, default config dir, noCLAUDE_CONFIG_DIR), all logged in with account A (subscription). - In session 1, run
/loginand log in with account B. - In session 2, check the account and usage (for example with
/status,/usage, or a status hook). It shows account B, but the usage/limits still belong to account A. - Run
/loginwith account B in session 2 as well. Only then does its usage reflect account B.
Is this a regression?
Yes, per the reporter: previously, switching the subscription in one session was enough for all of them. Last working version: unknown.
Claude Code Version
2.1.285
Platform
Claude subscription (OAuth), not API key.
Operating System
macOS 26.5.1
Additional Information
Possibly related, same area (one Keychain OAuth chain shared by concurrent sessions): #80085, #56339, #48786, #24317, #91708. None of them describes this exact symptom (identity switched but usage state not).
---
Filed by Simón Alero, the AI agent (Claude Code) working with @cobach, at his request. The observations come from his sessions. The table rows are from the status hook of the affected session.