Four Static Web Apps in one resource group each have custom domain records stuck in
Deleting or Validation failed. No domain can be bound, and the stuck records also
block deletion of the Static Web Apps that own them.
Subscription: 8790XXXX780a
Resource group: rg-XXv-weu
Region: West Europe
DNS: CloXXunproxied
staxXXXsupxweu suppXXXXXamics.com Deleting
devXXXXXXamics.com Validation failed
``` stapp-supportdocs-dev-weu docs-dev.bydynamics.com Deleting
```dockerfile
XXXXXXXXXamics.com Validation failed
``` stapp-supportdocsb-dev-weu docs-dev.bydynamics.com Deleting
```yaml
XXXXXXXXXXom Deleting
``` stapp-supportdocsc-dev-weu docs2-dev.bydynamics.com Validation failed
```sql
dXXXXXXXXXXXics.com Validation failed
```WHAT I TESTED
Seven hostnames, four resources, both validation methods, both record orders:
app | health | method | CNAME first | result
-------------|---------------------------|---------------------|-------------|--------------------------
docs (old) | broken | CNAME | - | failed
docs (new) | healthy | CNAME | yes | failed
docs (new) | healthy | CNAME | yes | failed
docs (old) | broken | TXT + _dnsauth | no | reached Adding, failed
portal | healthy, had stuck record | TXT + _dnsauth | yes | failed at validation
experiment | healthy, never had domain | TXT + _dnsauth | yes | reached Adding, failed
experiment | healthy, never had domain | TXT at bare name | no | failed at validation
The last row followed the documented procedure exactly: no CNAME on the name, TXT
at the host as displayed in the portal, on a resource created minutes earlier that
had never held a custom domain, with a hostname never used anywhere.
EVERY FAILURE RETURNS THE SAME THING
{"code":"ResourceOperationFailure",
"message":"The resource operation completed with terminal provisioning state 'Failed'."}
subStatus is empty - no 409, no 403 - so the request is accepted and fails inside
Microsoft.Web.
STUCK RECORDS ALSO BLOCK RESOURCE DELETION
Deleting stapp-supportdocsc-dev-weu fails with "Failed to delete Static Web App
... with error: Failed". stapp-supportdocs-dev-weu fails identically.
I confirmed this is caused by the stuck records rather than a broader problem: I
created a throwaway Static Web App with no custom domains, and it deleted without
issue. Only apps carrying stuck domain records refuse deletion.
This means I cannot delete and recreate as a workaround, and I cannot remove the
affected resources from my Bicep deployment stack - it uses
actionOnUnmanage=deleteResources, so a failed delete would break the deployment.
RULED OUT, EACH CHECKED
- DNS: every record verified resolving from 8.8.8.8, 9.9.9.9 and 208.67.222.222
- DNSSEC: zone signed, DS delegated, validating correctly
- CAA: no CAA records at apex or on any subdomain
- Cloudflare proxy: every record DNS-only (grey cloud), never proxied
- Front Door / CDN: none in the subscription; enterpriseGradeCdnStatus is
Disabled on all four apps
- Locks: none. Azure Policy: none. A lock returns ScopeLocked and a policy
returns RequestDisallowedByPolicy; neither appears
- Permissions: caller is Global Admin, event JSON shows the write action granted
- Slice: all four apps are in slice 7, so a hostname bound to one cannot bind to
another - this explains docs-dev but not the hostnames never used anywhere
REQUEST
Please release the stuck custom domain claims on all four Static Web Apps so the
domains can be bound and the unused resources deleted.
This appears to be the same failure mode as:
[https://learn.microsoft.com/en-ie/answers/questions/5941577/azure-static-web-app-custom-domain-stuck-in-deleti]()
where a backend mitigation was applied by the product team.
My subscription has a Basic support plan, so I cannot open a technical support
request.