Lovable projects made since May 2026 use TanStack Start, which renders pages on a server. Built for Cloudflare Workers, they 404 on Vercel until they're built with Nitro.
What you see
Every page on Vercel, the home page included, shows 404 NOT_FOUND, or the deploy has no pages at all. The vercel.json rewrite that fixes older Lovable apps doesn't help, and can make it worse.
Why it happens
Since 13 May 2026, Lovable builds apps with TanStack Start, which makes each page on a server rather than in the browser. Its build says where that server runs. Set up for Cloudflare Workers (@cloudflare/vite-plugin and a wrangler.jsonc), it produces something Vercel can't run.
How to fix it
- Check
package.jsonfor@tanstack/react-start. If it's there, this page is about your app. - Build with Nitro, which Vercel detects and runs:
npm i nitro, then addnitro()from"nitro/vite"to the plugins invite.config.ts, besidetanstackStart()andviteReact(). - Don't write a Nitro preset in, so Vercel is detected by itself.
- Remove any
vercel.jsonrewrite to/index.html: a server-rendered app has noindex.htmlto send pages to. - Deploying to Cloudflare Workers with
wranglerworks as the app is.
Or ask your AI tool to fix it
Paste this into Lovable, Bolt, v0, Replit or Cursor:
This TanStack Start app needs to deploy to Vercel, and it's set up to run on Cloudflare Workers. Make its build use Nitro: install nitro and add nitro() from "nitro/vite" to the Vite plugins, beside tanstackStart() and viteReact(). Don't hard-code a Nitro preset, and remove any vercel.json rewrite to /index.html. Keep the app working in Lovable's own preview: only use Nitro when process.env.VERCEL is set. Don't change what the app does.
The full page, with the request ready to copy, is at launchpad.axonscape.com/fix/lovable-tanstack-start-404-on-vercel. I work on Launchpad by Axonscape, which runs a free launch check for apps built with AI tools: it finds this and the other things that break at launch, from a public GitHub repo or a .zip of the code, and keeps nothing.
Top comments (1)
anyone figured out why the 404 shows up on every route - is it the TanStack Start config or Vercel