Deployments Ready but pages 404 — Routing layer deregistered

Project name: study-hub
Domain: https://study-hub-phi-sand.vercel.app

Symptoms:

  1. All production deployments show Ready status, but visiting any page path like /todo returns 404 NOT_FOUND with error code DEPLOYMENT_NOT_FOUND.
  2. The project dashboard has no pause banner, and there is no Unpause button under Settings > General, so the project was never manually paused.
  3. I clicked “Unblock My Account” but got the error: This endpoint only works for teams that are currently soft-blocked, meaning my account is not soft-blocked by usage limits.

Troubleshooting steps I have repeated dozens of times:

  1. Confirmed all 7 environment variables are added with Production environment ticked.
  2. Verified Build Command in Settings > General: npx prisma generate && next build, Override enabled.
  3. Triggered multiple redeploys with build cache cleared.
  4. Confirmed all route files such as /todo, /study exist in App Router.
  5. Checked Framework Preset is Next.js, no middleware.ts or proxy.ts exists.
  6. Output tab shows all page routes are generated, but Functions tab only shows /api/auth/[…nextauth].

Root cause judged by support: Platform-side sync issue, routing layer deregistered with live: false, account has no soft-block. Please manually restore the routing layer of my project.

There’s another community post with 404 debugging tips that might be helpful. Please give these solutions a try and let us know how it goes.

A human should be around soon to offer more advice. But you can also get helpful information quickly by asking v0.

Hi Solomon,

The Functions tab only showing /api/auth/[...nextauth] is not necessarily a problem by itself. Static App Router pages will not always show up there as functions. The more important signal is the exact 404 type and which URL is returning it.

I’d separate three cases:

1. Unique deployment URL returns 404
2. Project/production alias returns 404
3. Only specific app paths like /todo return 404

Can you test the unique deployment URL from the deployment details page, not just the project alias?

curl -I https://<deployment-id-or-unique-url>.vercel.app/
curl -I https://<deployment-id-or-unique-url>.vercel.app/todo
curl -I https://study-hub-phi-sand.vercel.app/
curl -I https://study-hub-phi-sand.vercel.app/todo
vercel inspect <deployment-url>

If the unique deployment URL works but study-hub-phi-sand.vercel.app returns DEPLOYMENT_NOT_FOUND, that points to an alias/routing association issue. If the unique deployment URL also returns Vercel’s platform DEPLOYMENT_NOT_FOUND, then that is much stronger evidence that the deployment is not being served at the edge even though the dashboard says Ready.

The most useful escalation details would be:

deployment URL tested:
production alias tested:
deployment ID:
exact UTC timestamp:
x-vercel-id from the 404 page:
vercel inspect status/target/aliases:

I’d avoid redeploying repeatedly for now unless you need to restore service, because the current broken deployment state may be what Vercel needs to inspect.