Azure DevOps — "You don't appear to have an active Azure subscription" when creating ARM service
Environment
- Azure DevOps Services (dev.azure.com), organization:
<your-org> - Feature: Project Settings → Service connections → New service connection → Azure Resource Manager → Automatic
- Browser tested: [list the browsers/incognito you tried]
Symptom When selecting a subscription in the "New Azure Resource Manager service connection" dialog (Automatic method), the subscription dropdown is empty and shows "You don't appear to have an active Azure subscription." This occurs even though:
- The account has valid, active Azure subscription access, confirmed correct in the Azure Portal (correct tenant/directory, subscription shows as Active/Enabled).
- The same account has successfully created ARM service connections in other, existing Azure DevOps projects in this organization previously.
- The issue is not limited to one project — after this started, attempting to create a new ARM service connection in other, previously-working projects in the same org now shows the same empty subscription list.
Troubleshooting already performed
- Tried in an incognito/private browsing window (no extensions, clean session) — same result.
- Signed out and back into Azure DevOps multiple times.
- Confirmed the Azure AD directory shown in the Azure Portal ("Switch directory") matches the tenant expected for this subscription.
- Confirmed role assignment scope via Azure Portal → Subscriptions → Access control (IAM) → View my access — account holds sufficient rights (this account normally creates service connections for the organization).
- Checked browser popup-blocker settings and address-bar indicators — no blocked popups detected.
- Inspected browser Network tab during the failed subscription lookup.
Root cause identified from Network tab The relevant request returns HTTP 200, but the response body contains a server-side exception in the data provider that populates the subscription list:Environment
- Azure DevOps Services (dev.azure.com), organization:
<your-org> - Feature: Project Settings → Service connections → New service connection → Azure Resource Manager → Automatic
- Browser tested: [list the browsers/incognito you tried]
Symptom
When selecting a subscription in the "New Azure Resource Manager service connection" dialog (Automatic method), the subscription dropdown is empty and shows "You don't appear to have an active Azure subscription." This occurs even though:
- The account has valid, active Azure subscription access, confirmed correct in the Azure Portal (correct tenant/directory, subscription shows as Active/Enabled).
- The same account has successfully created ARM service connections in other, existing Azure DevOps projects in this organization previously.
- The issue is not limited to one project — after this started, attempting to create a new ARM service connection in other, previously-working projects in the same org now shows the same empty subscription list.
Troubleshooting already performed
- Tried in an incognito/private browsing window (no extensions, clean session) — same result.
- Signed out and back into Azure DevOps multiple times.
- Confirmed the Azure AD directory shown in the Azure Portal ("Switch directory") matches the tenant expected for this subscription.
- Confirmed role assignment scope via Azure Portal → Subscriptions → Access control (IAM) → View my access — account holds sufficient rights (this account normally creates service connections for the organization).
- Checked browser popup-blocker settings and address-bar indicators — no blocked popups detected.
- Inspected browser Network tab during the failed subscription lookup.
Root cause identified from Network tab
The relevant request returns HTTP 200, but the response body contains a server-side exception in the data provider that populates the subscription list:
{
"dataProviderExceptions": {
"ms.vss-distributedtask-web.dt-get-subscriptions-data-provider": {
"exceptionType": "VssServiceException",
"message": "You may not call this function on a different context (thread) than the original request. To prevent lifetime and scoping related errors, do not use the same VssRequestContext instance in multiple threads or across threads. Instead, only pass the data you need or create a new request context for each thread.",
"stackTrace": null
}
},
"dataProviderSharedData": {},
"dataProviders": {
"ms.vss-web.component-data": {},
"ms.vss-web.shared-data": null
}
}
This looks like a server-side threading/concurrency bug in the dt-get-subscriptions-data-provider component (part of the Distributed Task / Pipelines web extension), not a client-side, permissions, or Conditional Access issue — the request succeeds (200) but the data provider itself throws while assembling the response.
Workaround in use Using the "Service principal (manual)" method instead, which bypasses this data provider and doesn't hit the same code path.
Questions for support
- Is this a known issue with
ms.vss-distributedtask-web.dt-get-subscriptions-data-provider, and is there a tracked fix or ETA? - Is this specific to our organization's instance, or a broader regression?
- Any guidance beyond the manual service-connection workaround?