Cloudflare made Wrangler OAuth scopes optional on 22 August 2026, but the CLI reference still grants all of them

Wrangler and the Cloudflare API MCP server got optional OAuth scopes on 22 August 2026. Three doc pages still describe the old behaviour.

Read time
12 min
Word count
1.8K
Sections
11
FAQs
8
Share
Cloudflare Wrangler OAuth consent screen with optional scopes, 22 August 2026 changelog versus stale CLI docs
On this page · 11 sections
  1. What actually changed
  2. Three documentation pages, three different stories
  3. Two ways to narrow a Wrangler token, and no stated precedence
  4. The failure mode is a failed command, not a warning
  5. Who is affected, and how to tell if that is you
  6. What to do this week
  7. India-specific considerations
  8. What is still unknown
  9. FAQ
  10. How eCorpIT can help
  11. References

Summary. On 22 August 2026 Cloudflare shipped optional OAuth scopes to Wrangler and the Cloudflare API MCP server, so the consent dialog now carries an Edit Permissions control and you can decline individual scopes instead of approving everything a client asks for. The wrangler login reference page carries a Last updated date of 19 August 2026 and still states that the command "uses all the available scopes by default if no flags are provided". The Cloudflare API MCP server page has not moved since 28 July 2026, 25 days before the change, and describes consent only as "select the permissions to grant to your agent". The platform-side feature reached GA two days earlier, on 20 August 2026, with the default that all configured scopes remain required. So there are now two independent places to narrow a Wrangler token, the --scopes flag and the browser consent screen, and no Cloudflare page says which one wins. This matters to any team on the Workers Paid plan, which starts at a minimum charge of $5 USD per month per account, that has handed a laptop or an AI agent a full-scope Cloudflare credential.

What actually changed

Cloudflare's changelog entry of 22 August 2026 is short. Wrangler and the Cloudflare API MCP server now use optional OAuth scopes, the consent dialog gains an option to edit the permissions you grant, and "Required scopes remain selected." The entry closes with the operational consequence, stated in one sentence: "If a command or tool call needs a scope that you declined, reauthorize the client and grant that scope."

That is the whole notice. It does not list which Wrangler scopes are required and which are optional, and it does not say what a declined scope looks like when a deploy hits it.

The platform capability behind it landed two days earlier. The 20 August 2026 changelog entry announced the GA of optional OAuth scopes for OAuth client developers, who can classify configured scopes as required or optional in the Cloudflare dashboard. One line in that entry governs everything downstream: "By default, all configured scopes remain required." Optional scopes are opt-in work for the client developer, not a platform-wide default. Wrangler and the Cloudflare API MCP server are the first Cloudflare-owned clients to do that work.

Three documentation pages, three different stories

The gap is easy to check, because Cloudflare stamps a Last updated date on every docs page and a dateModified value in the JSON-LD of every changelog post.

Page Last updated What it says about declining scopes
Changelog: Choose OAuth scopes for Wrangler and the Cloudflare API MCP server 22 August 2026 You choose which optional scopes to grant; required scopes stay selected
Changelog: Optional OAuth scopes 20 August 2026 Client developers mark scopes optional; by default all scopes remain required
Authorizing an application 20 August 2026 Documents Edit Permissions, Read only and Full access, but never names Wrangler or the MCP server
wrangler login reference 19 August 2026 "uses all the available scopes by default if no flags are provided"
Cloudflare API MCP server catalog 28 July 2026 "select the permissions to grant to your agent", with no required or optional distinction

The fundamentals page is the closest thing to a real description of the new flow, and it is the one page a Wrangler user is least likely to find. It records that all requested permissions are selected by default, that you can turn off optional permissions while required permissions remain selected, and that the editor offers a Read only shortcut which includes only optional scopes with read access, or Full access which includes all of them. It also records the tell that saves you a support ticket: "If the client has no permissions configured as optional, editing controls do not appear." A team that upgrades Wrangler, runs wrangler login, and sees no Edit Permissions button is not looking at a broken rollout. It is looking at a client build whose scopes are all still classified required.

That page was last updated on 20 August 2026, two days before the Wrangler post, which is why it describes the machinery in the abstract and names no client.

Two ways to narrow a Wrangler token, and no stated precedence

Wrangler has had command-line scope control for years. The reference page documents --scopes-list, which prints every available OAuth scope with a description, and --scopes, which takes a whitespace-separated set, with the page's own example being npx wrangler login --scopes account:read user:read.

So from 22 August 2026 there are two independent chokepoints on the same credential:

Surface Where the restriction is applied Documented interaction
wrangler login --scopes The CLI, before the browser opens None stated
Consent dialog Edit Permissions The browser, at authorization time None stated
No flags, no editing Reference page says all available scopes Contradicted by the 22 August entry

No Cloudflare page we retrieved states what happens when a developer passes --scopes account:read user:read and then also toggles permissions in the consent editor. The plain reading is that the consent screen can only ever subtract, because it is the resource owner's approval step, but that is inference, not documentation. Treat it as unknown until Cloudflare writes it down.

The failure mode is a failed command, not a warning

The honest engineering read of this change is that it moves a class of failure from install time to run time. Before 22 August 2026, a Wrangler login that took every scope meant a deploy either worked or failed on your own account permissions. After it, a developer who declines an optional scope has created a credential that works for most commands and fails for a subset, on a date nobody will connect to the login they performed weeks earlier.

Cloudflare's own remedy is a full reauthorization: decline a scope, hit a command that needs it, and you run wrangler login again. There is no documented way to add a single scope to an existing authorization, and no documented pre-flight check that compares the scopes a command needs against the scopes the stored token carries.

This lands harder on the MCP side. An AI agent holding a Cloudflare API MCP server authorization does not read an error the way a developer does. The MCP catalog page notes that the API MCP server uses roughly 1,000 tokens regardless of how many API endpoints exist, against more than 1 million tokens for an equivalent server that exposed every endpoint as a native tool. That design is what makes the server usable, and it also means the agent discovers a missing permission by calling a tool and reading a failure, mid-task, with no scope inventory to consult first.

Who is affected, and how to tell if that is you

You are exposed if any of the following is true. First, your developers authorize Wrangler interactively on laptops rather than using API tokens. Second, you have connected the Cloudflare API MCP server to an agent client. Third, your runbooks tell people to accept the consent screen without reading it, which is now a strictly worse instruction than it was on 21 August 2026.

You are not affected in CI. The wrangler login page points headless and continuous integration environments at Cloudflare's CI/CD guidance, last updated 3 July 2026, and the MCP catalog page says the same thing for automation: create a Cloudflare API token with the permissions you need and pass it as a bearer token in the Authorization header, with both user tokens and account tokens supported. API tokens have always been scoped explicitly. This change does not touch them.

Two other details from the reference page are worth checking while you are in there, because they decide whether the new consent screen is even reachable. The OAuth callback server listens on localhost port 8976 by default, and Cloudflare's OAuth provider always redirects there, so a Wrangler running inside a container needs port 8976 mapped from the host or the login simply hangs. Teams that cannot open a browser at all should use wrangler login --device, which uses the OAuth 2.0 Device Authorization Grant defined in RFC 8628 instead of the localhost callback.

What to do this week

Audit what your existing authorizations already carry. Cloudflare's fundamentals page documents the review path: the profile page on the dashboard lists every application you have authorized, with a Revoke button per row. Every Wrangler login performed before 22 August 2026 was granted under the old all-scopes behaviour, and nothing about this change downgrades an existing token.

Decide the policy before your developers meet the dialog. The consent editor's Read only shortcut includes only optional scopes with read access, which is a reasonable default for anyone who inspects Cloudflare state but never deploys. Anyone who runs wrangler deploy needs write scopes and should take Full access rather than guess.

Check the account-level control, too. Administrators can restrict OAuth applications from reaching account resources under Manage Account, then Members, Settings, Public OAuth App access. Cloudflare's caution on that page is explicit: it does not prevent existing authorizations that account members already hold, and only blocks new authorizations from accessing account resources. Turning it on is not a revocation.

Finally, teach people to read the shield. The same page defines three states: a green filled shield means Cloudflare owns and manages the application, a blue outlined shield means a third-party application with verified ownership of its domain, and an amber filled shield means a third-party application without verified domain ownership. Cloudflare adds that domain verification only confirms the application owner controls the displayed domain. It is an identity signal, not a safety rating.

India-specific considerations

For teams in India running Cloudflare under the Digital Personal Data Protection Act 2023, the interesting part of this change is the audit trail rather than the convenience. A full-scope Wrangler credential on a contractor's laptop is a standing grant over account resources, and until 22 August 2026 there was no interactive way to reduce it below whatever the client requested. Least-privilege engineering credentials are easier to defend to a reviewer than a blanket authorization, and the dashboard's per-application revoke list gives you something concrete to show. The same reasoning applies to agent clients, where the access-control gaps in Cloudflare Workers Access and the permission-group naming in Cloudflare's enriched API 403 responses already reward teams that keep a written scope inventory.

What is still unknown

Cloudflare has not published which Wrangler scopes are classified required and which are optional, so there is no way to plan a minimum viable scope set from the documentation. It has not stated the precedence between --scopes and the consent editor. It has not described the error a declined scope produces, on the CLI or through MCP. And the wrangler login reference page, dated 19 August 2026, still carries a note that the 22 August 2026 changelog contradicts. Until that note changes, verify behaviour against the changelog, not the reference.

FAQ

How eCorpIT can help

eCorpIT builds and operates Cloudflare Workers deployments for teams in India, the UK and the US, and credential scope is part of every handover we write. If your developers still authorize Wrangler with every available scope, or an agent client holds a Cloudflare API MCP server grant nobody has audited, we can inventory the authorizations, define the minimum scope set each pipeline actually needs, and move deployment credentials to explicitly scoped API tokens. eCorpIT is ISO 27001:2022 certified and CMMI Level 5 appraised. Ask our platform engineering team for a Cloudflare credential review.

References

  1. Cloudflare changelog: Choose OAuth scopes for Wrangler and the Cloudflare API MCP server, 22 August 2026
  1. Cloudflare changelog: Optional OAuth scopes, 20 August 2026
  1. Cloudflare Workers: wrangler commands reference, login section
  1. Cloudflare Fundamentals: Authorizing an application
  1. Cloudflare Agents: Cloudflare API MCP server catalog
  1. Cloudflare Workers: CI/CD overview
  1. Cloudflare Workers: pricing and the Workers Paid plan
  1. Cloudflare Fundamentals: roles for members
  1. Cloudflare Fundamentals: role scopes
  1. RFC 8628: OAuth 2.0 Device Authorization Grant
  1. Cloudflare changelog RSS feed

Last updated 23 August 2026.

Frequently asked

Quick answers.

01 What changed for Wrangler on 22 August 2026?
Cloudflare's changelog entry says Wrangler and the Cloudflare API MCP server now use optional OAuth scopes. During authorization the consent dialog includes an option to edit the permissions you grant, so you can decline optional scopes rather than approving every scope a client requests. Required scopes stay selected and cannot be turned off.
02 Does the wrangler login documentation agree with the changelog?
No. The wrangler login reference page carries a Last updated date of 19 August 2026 and still states that the command uses all the available scopes by default when no flags are provided. The 22 August 2026 changelog describes a consent screen where optional scopes can be declined, so the two pages describe different behaviour today.
03 What happens if I decline a scope that a command needs?
Cloudflare's changelog gives one remedy: reauthorize the client and grant that scope. There is no documented way to add a single scope to an existing authorization, and no documented pre-flight check comparing the scopes a command requires against the scopes your stored token already carries. The failure surfaces when you run the command.
04 Does this change affect CI/CD pipelines?
No. The wrangler login page directs headless and continuous integration environments to Cloudflare's CI/CD guidance, and the MCP server catalog page tells automation users to create a Cloudflare API token and pass it as a bearer token in the Authorization header. API tokens are scoped explicitly and are unaffected by the consent dialog change.
05 Why do I not see an Edit Permissions button?
Cloudflare's authorizing an application page states that if the client has no permissions configured as optional, the editing controls do not appear. The 20 August 2026 changelog adds that by default all configured scopes remain required, so a client whose developer has not classified any scope as optional shows no editor at all.
06 Are my existing Wrangler authorizations reduced automatically?
No. Every Wrangler login performed before 22 August 2026 was granted under the previous behaviour, and nothing in Cloudflare's announcement downgrades an existing grant. Review them from the profile page on the Cloudflare dashboard, which lists authorized applications with a Revoke control for each one, then reauthorize with narrower scopes.
07 Does the account-level OAuth setting revoke existing access?
No. Administrators can restrict OAuth applications under Manage Account, Members, Settings, Public OAuth App access, but Cloudflare's own caution states this does not prevent existing authorizations that account members already hold. It only stops new authorizations from reaching account resources, so it is a forward-looking control rather than a revocation.
08 What does the shield icon on the consent screen mean?
Cloudflare defines three states. A green filled shield means Cloudflare owns and manages the application. A blue outlined shield means a third-party application with verified ownership of its domain. An amber filled shield means a third-party application without verified domain ownership. Verification only confirms control of the displayed domain.

About the author

Manu Shukla

Founder & Director

Founder of eCorpIT. Hands-on engineer leading senior-only delivery for AI apps, custom software, and cloud systems for global clients.

Subscribe

One engineering note a week. No fluff, no spam.

Senior-architect playbooks on AI agents, mobile apps, cloud, security, data, and marketing — delivered every Wednesday.

Past the reading

Read enough. Let's build something.

A senior architect responds in 24 working hours with scope, indicative cost, and a timeline. NDA before any technical conversation.