Follow Discord
Sweep 10 Nov 2026 · 02:18Z Build v2.1.322 539 read Stable v2.1.311 Latest v2.1.322 Next v2.1.322 Feeds RSS JSON llms.txt llms-full.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

You'll notice Improvements
JSON All of v2.1.271
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.

Read from
Names in the bundleCLAUDE_CODE_OAUTH_SCOPES
What the documentation says

See this entry in the whole of v2.1.271 →

Feedback