The stored-refresh-token check now runs asynchronously and returns false straight away on macOS.
What's wrong with this entry?
The check that decides whether a stored OAuth refresh token exists is now asynchronous, so it can consult state that has to be read from disk or over the network before answering. On macOS it returns false immediately without doing that work, leaving the keychain-backed path to handle credentials there.
- The check also returns false immediately when the
CLAUDE_CODE_OAUTH_TOKENenvironment variable is unset, and only looks for the saved token when neither the macOS nor the unset-variable condition applies. - Three call sites that conclude a token cannot be refreshed now await the check rather than calling it synchronously, so the resulting
no_refreshoutcome reflects state fetched at the time of the check. - On macOS the outcome is unchanged in effect: the keychain path supplies credentials, and this check contributes nothing.
CLAUDE_CODE_OAUTH_TOKEN, no_refresh
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.
-
v2.1.234
Signing back into the same account keeps a pending auto-resume
Both mention auth
-
v2.1.234
Token screen reports actual remaining validity
Both mention auth
-
v2.1.234
Setup-token login result carries the expiry
Both mention auth