You'll noticeTier: how much it should matter to you
2Useful: my rating, 1 to 5
2Signal: worth watching, 1 to 5
AuthArea: what it touches
ImprovementsKind: in v2.1.271,
ImprovementsSection of the release
What
When using a refresh token to log in to Claude Code non-interactively via CLAUDE_CODE_OAUTH_REFRESH_TOKEN, the CLAUDE_CODE_OAUTH_SCOPES environment variable (a space-separated list of OAuth scopes the refresh token was issued with, such as "user:profile user:inference user:sessions:claude_code") previously defaulted to ["user:inference"] when left unset. It now has no default at all, returning nothing if the variable isn't set.
Why
Since CLAUDE_CODE_OAUTH_SCOPES is required whenever CLAUDE_CODE_OAUTH_REFRESH_TOKEN is set, removing the silent default means a missing value is no longer papered over with an assumed scope, which could otherwise mask a misconfiguration.