New custom domains return platform NOT_FOUND despite fully correct configuration (all checks pass)
Team: kuberan-s-budget-management
Root domain: guidedpioneer.com (nameservers delegated to Vercel: ns1.vercel-dns.com / ns2.vercel-dns.com)
Affected project: retirement-planning
Summary
Since guidedpioneer.com's nameservers were switched to Vercel's own (ns1/ns2.vercel-dns.com), any newly-added subdomain fails to route to its assigned project, returning a platform-level 404 NOT_FOUND — even though every configuration check (DNS, SSL certificate, project-domain association, via both the CLI and the dashboard) reports everything as correctly configured. Two other subdomains on the same root domain, set up before the nameserver switch, continue to work perfectly.
Environment
- Two subdomains that work fine today:
investments.guidedpioneer.com→ projectinvestment-app,budget.guidedpioneer.com→ projectapp. Both were configured before the nameserver migration to Vercel. - New subdomain that fails:
retirement.guidedpioneer.com→ projectretirement-planning. Added after the nameserver migration.
Steps to reproduce
-
With
guidedpioneer.comnameservers already delegated to Vercel, runvercel domains add ``retirement.guidedpioneer.com`` retirement-planning. Response:"status": "success", "reason": "domain_added". -
Deploy the project to production (
vercel deploy --prod). CLI confirms:▲ Aliased ``https://retirement.guidedpioneer.com. -
curl -I https://retirement.guidedpioneer.com/login→HTTP/2 404content-type: text/plain; charset=utf-8x-vercel-error: NOT_FOUNDx-vercel-id: yul1::tqctq-1786894956504-c2a67d58a9f2 -
vercel domains verify retirement.guidedpioneer.com→"status": "ok", "reason": "configured_correctly", "domainStatus": "configured-correctly", "project": {"attached": true, "verified": true}. -
Dashboard → Project → Domains shows
retirement.guidedpioneer.comwith a green checkmark and "Valid Configuration." -
Dashboard →
guidedpioneer.com→ SSL Certificates shows a certificate specifically issued forretirement.guidedpioneer.com(present and valid). -
The project's own raw deployment URL (
https://retirement-planning-*.vercel.app) correctly redirects to Vercel's SSO login page (expected behavior for a protected deployment — confirms the deployment itself is live and healthy).
Every layer reports success. Only the actual routed request fails.
What we tried to isolate the cause (all unsuccessful)
- Deleted and recreated the Vercel project from scratch, re-added the domain, redeployed. Identical failure.
- Added a second, completely different, brand-new subdomain (
rp-test.guidedpioneer.com) to the same project. Failed identically (x-vercel-error: NOT_FOUND), ruling out anything specific to the string "retirement." - Removed and re-added the domain via the dashboard UI (Project → Domains → Edit → Remove, then "Add Existing") rather than the CLI. No change.
- Explicitly re-ran
vercel alias setpointing the domain at the current production deployment. Confirmed success by the CLI, no change in behavior. - Bypassed the newer wildcard/dual-anycast-IP DNS setup entirely by manually adding a classic single A record (
retirement→76.76.21.21) — the exact same IP the two working subdomains use. DNS resolved correctly to that IP; the request still returned the same platform404 NOT_FOUND. - Ruled out caching: tested with cache-busting query strings, tested against
ns1.vercel-dns.comdirectly (bypassing any resolver cache) — DNS answers are correct and consistent every time. - Waited several hours (9+) between attempts in case of propagation delay — no change.
Conclusion
Since neither the DNS delivery mechanism (wildcard vs. explicit record, dual-IP vs. single legacy IP) nor the specific hostname/project identity affects the outcome, and the certificate + project-association layers both report success, this looks like a stuck or unsynced entry in Vercel's internal edge routing table for this team/account — most plausibly triggered by (or coincident with) the nameserver migration event for guidedpioneer.com. It affects any subdomain newly added since that point, not a specific misconfiguration on our end.
Ask
Could someone from the Vercel team take a look at routing/edge-config sync for team kuberan-s-budget-management, specifically for domain retirement.guidedpioneer.com (and confirm whether other newly-added domains on this account/team are affected the same way)? Happy to provide additional x-vercel-id trace values or deployment IDs on request.