Unable to delete tenant – blocked by Microsoft first-party enterprise apps ("Specified App Principal ID is Microsoft Internal")

Jason 0 Reputation points
2026-09-03T04:03:33.62+00:00

Hello,

I am trying to permanently delete my Microsoft Entra ID (Azure AD) tenant and am unable to complete it.

Tenant ID: 20c3ef89-c150-xxxx-a85d-40c4fb2bf393

My role: Global Administrator

In the Entra admin center → Manage tenants, all initial readiness checks pass (everything is green), but when I click Delete I get:

"Unable to delete tenant exciting IT. Known issues exist

where some enterprise applications are not capable to delete within the portal.

Click the notification title for more information and manual troubleshooting steps."

What I have already done:

  • Removed / cancelled all subscriptions and licenses
  • Removed all users except the Global Administrator performing the deletion
  • Removed groups and custom domains
  • Followed the documented "remove enterprise apps you can't delete" PowerShell steps

Following the Microsoft Graph PowerShell troubleshooting, I ran (connected to the tenant and with the correct context verified):

Connect-MgGraph -Scopes "Application.ReadWrite.All"

Get-MgServicePrincipal -All | ForEach-Object { Remove-MgServicePrincipal -ServicePrincipalId $_.Id }

Get-MgServicePrincipal -All | ForEach-Object { Update-MgServicePrincipal -ServicePrincipalId $_.Id -BodyParameter @{ accountEnabled = "false" } }

Every single call fails with:

Remove-MgServicePrincipal_Delete: Specified App Principal ID is Microsoft Internal.

Status: 400 (BadRequest)

ErrorCode: Request_BadRequest

This indicates the only service principals remaining in the tenant are Microsoft first-party / system-owned applications (Exchange Online, SharePoint, Teams, Microsoft Graph, etc.), which cannot be deleted or disabled by a customer admin via the portal or via Graph/MSOnline/Az PowerShell. There do not appear to be any tenant-owned enterprise apps left to remove.

Since these blocking enterprise applications are Microsoft-internal and cannot be removed by me, could you please open a support ticket / have the backend team remove the blocking first-party service principals so the tenant can be deleted? Or advise on the correct process to get this tenant fully deleted.

Thank you.

Microsoft Security | Microsoft Entra | Microsoft Entra ID
0 comments No comments

1 answer

Sort by: Most helpful
  1. Intikhab Alam 5 Reputation points
    2026-09-03T04:14:02.61+00:00

    When tenant deletion is blocked by first-party Microsoft applications returning the error "Specified App Principal ID is Microsoft Internal", it means you are attempting to remove core Microsoft service principals (such as Exchange, SharePoint, or Microsoft Graph) that cannot be deleted or modified manually.

    Here is how to resolve this issue and complete the tenant deletion:

    1. Filter Out Microsoft First-Party Service Principals

    Instead of attempting to delete all service principals with Get-MgServicePrincipal -All, run PowerShell scripts that specifically target non-Microsoft apps (AppOwnerGroupId exists or Tags don't include Microsoft internal tags):

    PowerShell

    Connect-MgGraph
    
    1. Check for Hidden or Residual Subscriptions

    First-party enterprise apps often stay anchored to a tenant because of residual trial subscriptions, developer plans, or self-service sign-ups (e.g., Power BI Free, Teams Exploratory, or Microsoft 365 Defender):

    • Go to the Microsoft 365 Admin Center -> Your products.
    • Ensure all free, trial, and self-service licenses are fully canceled and their status shows as Deleted (not just Disabled or Deprovisioned).
    • Check Billing -> Licenses to confirm 0 active assignments remain.
    1. Check for Subscriptions in Deprovisioning State

    If subscriptions were canceled recently, Microsoft keeps the underlying first-party enterprise apps alive during a mandatory data-retention lifecycle window (typically 30–90 days).

    • If all readiness checks pass but deletion fails at execution, the backend system is waiting for deleted subscriptions to purge completely.
    • You can accelerate this by logging into the Azure Portal -> Cost Management + Billing -> Subscriptions and ensuring no canceled subscriptions exist in a "Deprovisioning" state.
    1. Request Backend Purge (Microsoft Support)

    If only Microsoft internal service principals remain and all subscriptions/licenses are confirmed deleted:

    • Since tenant admins lack permission to remove Microsoft-internal service principals, open a support ticket with Microsoft Entra / Azure Support under the Tenant Management category.
    • Provide your Tenant ID (20c3ef89-c150-xxxx-a85d-40c4fb2bf393) and request a backend force-deletion/purge of orphan first-party service principals.When tenant deletion is blocked by first-party Microsoft applications returning the error "Specified App Principal ID is Microsoft Internal", it means you are attempting to remove core Microsoft service principals (such as Exchange, SharePoint, or Microsoft Graph) that cannot be deleted or modified manually. Here is how to resolve this issue and complete the tenant deletion: 1. Filter Out Microsoft First-Party Service Principals Instead of attempting to delete all service principals with Get-MgServicePrincipal -All, run PowerShell scripts that specifically target non-Microsoft apps (AppOwnerGroupId exists or Tags don't include Microsoft internal tags): PowerShell
        Connect-MgGraph
      
      2. Check for Hidden or Residual Subscriptions First-party enterprise apps often stay anchored to a tenant because of residual trial subscriptions, developer plans, or self-service sign-ups (e.g., Power BI Free, Teams Exploratory, or Microsoft 365 Defender):
      • Go to the Microsoft 365 Admin Center -> Your products.
        • Ensure all free, trial, and self-service licenses are fully canceled and their status shows as Deleted (not just Disabled or Deprovisioned).
          • Check Billing -> Licenses to confirm 0 active assignments remain.
      3. Check for Subscriptions in Deprovisioning State If subscriptions were canceled recently, Microsoft keeps the underlying first-party enterprise apps alive during a mandatory data-retention lifecycle window (typically 30–90 days).
      • If all readiness checks pass but deletion fails at execution, the backend system is waiting for deleted subscriptions to purge completely.
        • You can accelerate this by logging into the Azure Portal -> Cost Management + Billing -> Subscriptions and ensuring no canceled subscriptions exist in a "Deprovisioning" state.
      4. Request Backend Purge (Microsoft Support) If only Microsoft internal service principals remain and all subscriptions/licenses are confirmed deleted:
      • Since tenant admins lack permission to remove Microsoft-internal service principals, open a support ticket with Microsoft Entra / Azure Support under the Tenant Management category.
      • Provide your Tenant ID (20c3ef89-c150-xxxx-a85d-40c4fb2bf393) and request a backend force-deletion/purge of orphan first-party service principals.

    Was this answer helpful?


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.