Cloudflare has introduced optional OAuth scopes, a feature that lets users deselect individual permissions on the consent screen instead of approving every request an application makes. The move, announced on Sep 02, 2026, targets a problem that has grown acute with AI agents and MCP servers, which often ask for broad permission sets because their tasks are not predetermined. Client owners can now mark certain scopes as droppable, giving users real choice while preserving the access an application genuinely needs.
The Agent Permission Problem
An MCP server might request broad permissions because an agent could theoretically use all of them. The connection exposes the union of everything the agent might ever do. An agent that reads inventory to compare products does not need permission to change prices. An agent that checks order status does not need authority to issue refunds. An agent that reads supplier records during research does not need payment access. Yet each of those agents, under the old model, would ask for the whole bundle at once.
Umesh Malik, a software engineer who writes on AI and developer tooling, described the dilemma in stark terms. "Developers have two bad choices: request minimal permissions and break advanced use cases, or request everything and watch users bounce from the consent screen," he said. The consent screen previously asked users to approve all requested scopes at once. Cloudflare OAuth was all or nothing. A client could request a subset of its configured scopes, but the user could only approve everything or deny.
How Optional Scopes Work
Client owners can now use an optional_scopes array alongside the existing scopes list. Required and optional scopes are evaluated against the scopes requested in a specific authorization flow, not against everything configured on the client. A client configured with four scopes that requests two shows the user only those two. Clients that do not opt in keep their current behavior. The consent screen still grants the full requested set by default.
The change gives developers control over which permissions may be dropped. Without optional scopes, the user decides unilaterally and the application discovers the result at runtime. Marking a scope required means a user narrowing a request cannot remove something the application genuinely needs. Marking a scope required is a different proposition from hoping users do not remove it.
Cloudflare reports more than a million authorizations across thousands of third-party OAuth apps created since June. The company will expand account and zone-level roles to cover nearly every product over the coming weeks. That expansion will add API token roles, account membership options, and OAuth scopes.
Partial Consent Is Not New
Cloudflare is not inventing the concept of partial consent. GitHub's documentation states users can edit their scopes, granting less access than requested. GitHub tells developers to handle the case of reduced scopes rather than assume the full set. Google shows granular checkboxes for non-sign-in scopes. Microsoft Entra supports incremental consent, with granted scopes appearing in the token's scp claim.
RFC 6749, the OAuth 2.0 Authorization Framework specification, already permits an authorization server to issue a token with a narrower scope than requested. Providers are surfacing that latitude in the consent interface. Cloudflare's addition is developer control over which permissions may be dropped, a distinction that matters for applications that cannot survive losing certain capabilities.
When a user deselects an optional scope, the access token carries only what was granted. Applications must inspect the scope parameter in the token response after exchanging the authorization code. Code written against old behavior will meet authorization errors on calls it expected to work. The assumption that successful authorization means full requested scope no longer holds.
Guidance for Developers and Agents
Cloudflare's guidance is to degrade rather than fail. An application that loses a write scope should disable that feature and say so, instead of surfacing a 403 that reads to the user as a broken integration. For agents, the design pattern is clear: require read access, make write access optional, check the granted set before acting, and stop cleanly when authority is missing.
Stay ahead of the AI curve
The most important updates, news, and content — delivered weekly.
No spam. Unsubscribe anytime.
An agent that can read a team's Workers scripts and write to them only when explicitly permitted presents a different risk profile than one demanding full write access at first contact. The distinction is central to the feature's purpose. Agents need latitude because their tasks are not predetermined, but users should not hand over everything on the first meeting.
The Broader Authorization Picture
Consent granularity is a third piece of the problem, distinct from agent identity or client connection mechanisms. The MCP 2026-07-28 specification tightened client authorization, preferring pre-registered clients and Client ID Metadata Documents while deprecating Dynamic Client Registration. Microsoft's hosted Azure DevOps MCP Server reached general availability without support for Claude, ChatGPT, or Cursor because Entra lacks the client registration mechanisms those clients need.
Each release addresses a different part of the agent authorization problem. The MCP spec handles how clients identify themselves. Entra and Azure DevOps handle registration. Cloudflare's optional scopes handle how much a user must hand over. Together they form a patchwork of fixes for a problem that spans identity, registration, and consent.
The feature does not require altering the OAuth standard itself. RFC 6749 already permits narrower scope issuance, so Cloudflare's change is an implementation choice rather than a protocol change. The result is a consent screen that asks less of users while still protecting applications that need specific permissions to function.
Cloudflare's rollout comes as AI agents become more common in developer workflows. The company's own numbers suggest adoption is already underway, with thousands of third-party OAuth apps created since June and more than a million authorizations across them. The optional scopes feature gives those apps a way to ask for less without breaking their core functions.
The practical effect is that users see a consent screen with checkboxes they can actually uncheck. Some permissions are marked required, and those stay locked. Others are optional, and users can drop them freely. The application then discovers what it received and adjusts its behavior accordingly.
For developers building on Cloudflare's OAuth, the change means writing code that checks the scope parameter after token exchange. It means handling the case where a write scope is missing by disabling the feature rather than crashing. It means designing agents that can operate with read-only access and escalate only when a specific task demands more.
The broader industry trend points the same direction. GitHub, Google, and Microsoft have all built partial consent into their flows. Cloudflare's contribution is making the distinction between required and optional explicit at the client configuration level, so developers do not have to build custom scope-selection screens before the consent flow.
That custom work was previously necessary. Developers built their own screens to let users pick permissions before entering the standard OAuth flow. Cloudflare's optional scopes fold that choice into the consent screen itself, removing a layer of custom code and giving users a clearer picture of what they are approving.
The article, published on Sep 02, 2026, runs about 4 minutes in read time and sits in the Cloud topic. Related areas include Development, Architecture & Design, DevOps, AI, ML & Data Engineering, Cloudflare, Access Control, Architecture, Cloud, Security, Standardization, and Agents.
The feature arrives at a moment when agent authorization is a live problem across the industry. The MCP specification tightened client authorization in its 2026-07-28 release. Microsoft's Azure DevOps MCP Server hit general availability with notable gaps. Cloudflare's optional scopes address the consent layer, the part users actually see and interact with.
The result is a consent screen that no longer forces an all-or-nothing choice. Users can grant what they are comfortable granting. Applications can require what they cannot live without. Agents can operate within the authority they actually received. The change is small in protocol terms but significant in how much control users hold over the permissions they grant to increasingly capable AI systems.

