Sweep 19 Sep 2026 · 02:36Z Build v2.1.278 500 read Stable v2.1.267 Latest v2.1.278 Next v2.1.278 Feeds RSS JSON llms.txt Unofficial
Claude Code v2.1.271 ·

OAuth scope default no longer hardcodes 'user:inference'

CLAUDE_CODE_OAUTH_SCOPES no longer defaults to 'user:inference' when unset

TierYou'll noticehow much it should matter to you
Useful2my rating, 1 to 5
Signal2worth watching, 1 to 5
AreaAuthwhat it touches
KindImprovementsin v2.1.271,
You'll notice

CLAUDE_CODE_OAUTH_SCOPES no longer defaults to 'user:inference' when unset

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.

Read from
Names in the bundleCLAUDE_CODE_OAUTH_SCOPES
What the documentation says

See this entry in the whole of v2.1.271 →