What
Expanding scopes for Projects now refuses up front in cases it cannot handle and gives a distinct reason when the refreshed credentials could not be stored.
Details
- a login using a custom OAuth client is refused before any request is made
- a
save_failedreason is reported when the server has already consumed the old credentials but the new ones could not be persisted - the refresh call is passed an abort signal and a
projects_scope_expansiontelemetry context - success and failure of the expansion itself are now reported as telemetry
Evidence
The claude.ai login uses a custom OAuth client, which cannot be granted project scopes.
Strings lifted out of the shipped bundle, so the claim above can be checked against them.