Source Intelligence

DisclaimerUnofficial, and not affiliated with Anthropic. Nearly all of this is read straight out of what ships: npm bundles, captured prompts, published docs. Anthropic's own notes go in verbatim, marked as theirs. The rest is my reading, and every entry carries the strings behind it. If one looks wrong, vote it down and say why.

All of v2.1.248 Home All releases olderv2.1.247 v2.1.250newer
Claude Code v2.1.248

Clearer error when another Claude Code process is refreshing the same login token

You'll notice
Useful4 Signal2
Auth

Two Claude Code processes refreshing your login at once now give a clear wait-and-retry message.

What

When two Claude Code processes try to refresh OAuth credentials at the same time, the one that loses the race now gets a message naming the cause and pointing at a recovery, rather than a generic authentication failure. The condition is treated as transient rather than a sign that your login is broken, so the suggested response is to wait and try again. Nothing needs enabling.

Details
  • Fires when another process already holds the credential refresh lock, or when a process exited part way through a refresh and left the lock behind.
  • The plain failure reads Could not refresh your login because another Claude Code process is refreshing it.
  • In debug mode the fuller text explains the cause, suggests retrying in a minute, and if it persists suggests closing other Claude Code processes or signing in again.
Evidence

Failed to refresh OAuth token: another Claude Code process is refreshing it or exited mid-refresh. This is usually transient; retry in a minute, and if it persists close other Claude Code processes or sign in again, Could not refresh your login because another Claude Code process is refreshing it

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

See this entry in the whole of v2.1.248 →