MCP server URL or name
https://{dataverseOrgName}.crm.dynamics.com/api/mcp
How are you connecting to this server?
From a custom connector URL I entered manually
Where does the issue occur?
In the authorization screen
When did you last reproduce this?
2026-4-10 - 17:00 MST
Browser and OS
Any browser on Mac or Windows
Describe the issue
Custom MCP connectors in Claude.ai send prompt=consent in the OAuth 2.0 authorize URL on every connection and reconnection attempt. This forces Microsoft Entra ID to display a consent screen to users regardless of whether tenant-wide admin consent has already been granted for the application. In enterprise tenants with restricted user consent policies (which is standard security practice), non-admin users cannot complete the consent screen and receive an "Approval required" or "Need admin approval" error, permanently blocking them from using the connector.
The prompt=consent parameter is included even when the connector is configured with an OAuth Client ID and Client Secret in Advanced settings, meaning the admin has explicitly pre-registered and pre-authorized the application. There is no option in Claude's connector configuration to control or override this behavior.
Error details
Entra ID sign-in error code: 90095
Failure reason: "Admin consent is required for the permissions requested by this application. An admin consent request may be sent to the admin."
OAuth authorize URL generated by Claude includes prompt=consent at the end of every request
Full example URL: https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/authorize?response_type=code&client_id={app-id}&redirect_uri=https://claude.ai/api/mcp/auth_callback&code_challenge=...&code_challenge_method=S256&state=...&scope=openid+profile+offline_access+https://armexa.crm.dynamics.com/api/mcp/mcp.tools&resource=https://{dataverseOrgName}.crm.dynamics.com/api/mcp&prompt=consent
Attempted mitigations that did NOT resolve the issue: granting admin consent via App Registrations, granting admin consent via Enterprise Applications, creating
AllPrincipals OAuth2PermissionGrants via Microsoft Graph PowerShell, classifying all permissions as Low impact, verifying publisher identity, toggling all three user consent policy options
Manually changing prompt=consent to prompt=login in the browser URL immediately resolves the issue and allows non-admin users to authenticate successfully
Expected behavior
Claude should use prompt=login (or omit the prompt parameter entirely) instead of prompt=consent when authenticating to custom connectors that have been configured with an OAuth Client ID and Client Secret in Advanced settings. The use of pre-registered credentials signals that the admin has intentionally set up and authorized the application. Forcing a consent prompt on every connection is unnecessary and incompatible with enterprise Entra ID tenant configurations where user consent is restricted. At minimum, the prompt parameter should be configurable in the connector's Advanced settings so admins can control this behavior.
Additional context
No response
MCP server URL or name
https://{dataverseOrgName}.crm.dynamics.com/api/mcp
How are you connecting to this server?
From a custom connector URL I entered manually
Where does the issue occur?
In the authorization screen
When did you last reproduce this?
2026-4-10 - 17:00 MST
Browser and OS
Any browser on Mac or Windows
Describe the issue
Custom MCP connectors in Claude.ai send prompt=consent in the OAuth 2.0 authorize URL on every connection and reconnection attempt. This forces Microsoft Entra ID to display a consent screen to users regardless of whether tenant-wide admin consent has already been granted for the application. In enterprise tenants with restricted user consent policies (which is standard security practice), non-admin users cannot complete the consent screen and receive an "Approval required" or "Need admin approval" error, permanently blocking them from using the connector.
The prompt=consent parameter is included even when the connector is configured with an OAuth Client ID and Client Secret in Advanced settings, meaning the admin has explicitly pre-registered and pre-authorized the application. There is no option in Claude's connector configuration to control or override this behavior.
Error details
Expected behavior
Claude should use prompt=login (or omit the prompt parameter entirely) instead of prompt=consent when authenticating to custom connectors that have been configured with an OAuth Client ID and Client Secret in Advanced settings. The use of pre-registered credentials signals that the admin has intentionally set up and authorized the application. Forcing a consent prompt on every connection is unnecessary and incompatible with enterprise Entra ID tenant configurations where user consent is restricted. At minimum, the prompt parameter should be configurable in the connector's Advanced settings so admins can control this behavior.
Additional context
No response