Bolt.new app not working on Netlify? Fix blank pages, 404s and build errors
It ran fine inside Bolt, but the Netlify URL shows a white screen, a "Page not found" when you refresh, a failed deploy, or a page with no data. These are almost always deploy settings, not your components, so the fixes below are quick once you know where to look.
- Read the deploy log and browser console first
- Fix the build command and publish directory
- 404 "Page not found" when you refresh or open a link
- Blank page: missing environment variables
- Build fails on Netlify but worked in Bolt
- Login works in Bolt but not on Netlify
- Page loads but data is empty
- Old version still showing
1. Read the deploy log and browser console first
In Netlify open Deploys and click the latest deploy. If it says Failed, scroll to the first red line of the build log; that is the real error. If it says Published but the site is broken, open the live URL, press F12 and copy the first red error in the Console. Everything below maps to one of those two.
2. Fix the build command and publish directory
Most Bolt projects are Vite + React. In Site configuration → Build & deploy set:
- Build command:
npm run build - Publish directory:
dist(notbuildor the repo root)
Next.js projects need Netlify's Next.js runtime, which it detects automatically. Don't point the publish directory at out unless you use static export. Publishing the repo root gives a blank page because the browser loads the unbuilt index.html.
3. 404 "Page not found" when you refresh or open a link
Single-page apps handle routes in the browser, so Netlify needs to send every path to index.html. Create public/_redirects with one line:
/* /index.html 200
Or add to netlify.toml:
[[redirects]]
from = "/*"
to = "/index.html"
status = 200
Redeploy and the deep links will work.
4. Blank page: missing environment variables
Bolt stores your keys in the project's .env, which isn't uploaded to Netlify. Vite only exposes variables that start with VITE_, and it bakes them in at build time. Add them under Site configuration → Environment variables (for example VITE_SUPABASE_URL and VITE_SUPABASE_ANON_KEY, using the exact names your code reads), then trigger Clear cache and deploy site. Errors like supabaseUrl is required or Cannot read properties of undefined on startup point here.
5. Build fails on Netlify but worked in Bolt
- TypeScript errors: Bolt's preview runs the dev server, which ignores type errors;
tsc && vite buildon Netlify doesn't. Fix the listed errors. - Case-sensitive imports:
import Header from './header'when the file isHeader.tsxworks on Mac, fails on Netlify's Linux. - Node version: set
NODE_VERSIONto 20 or 22 in environment variables if the log mentions an unsupported engine. - Lockfile conflicts:
ERESOLVEerrors: commit a freshpackage-lock.json, or as a stopgap setNPM_FLAGS=--legacy-peer-deps.
6. Login works in Bolt but not on Netlify
Auth providers only redirect to allowed URLs. In Supabase go to Authentication → URL Configuration: set Site URL to your Netlify domain and add https://your-site.netlify.app/** (and your custom domain) to Redirect URLs. For Google sign-in also add the Supabase callback URL in Google Cloud Console. A redirect to localhost or the Bolt preview URL after login means this step is missing.
7. Page loads but data is empty
If the page renders but lists are empty, the database is filtering rows out with row-level security, or the env vars point at a different Supabase project. See Supabase returns an empty array for the exact checks.
8. Old version still showing
Netlify serves the last successful deploy. If your latest one failed, the site keeps showing the old version. Also confirm the site deploys from the right branch, and if you deploy from Bolt's Netlify button, that it is linked to the same Netlify site you're looking at.
Still stuck? We'll fix it at a flat price.
VibeFix fixes broken Lovable, Bolt, Cursor, Replit and v0 apps. Request a free check first, and we'll tell you what's wrong and which plan fits before you pay. If we can't fix it, you get a full refund.
Already know you need help? Quick Fix, $49 (one bug, 24h) · Standard Rescue, $129 · Deploy-Ready, from $199