[BUG] /login in one CLI session switches the account shown in other live sessions, but not their usage/quota — each session must /login again

Status Open
Reported on v2.1.285
Maintainer reply None cached
Activity 0 comments · opened Sep 30, 2026

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 /login is 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:

  1. /login is 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.
  2. /login is 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

  1. On macOS, open two or more interactive claude sessions (same user, default config dir, no CLAUDE_CONFIG_DIR), all logged in with account A (subscription).
  2. In session 1, run /login and log in with account B.
  3. 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.
  4. Run /login with 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.

View original on GitHub ↗