Your AI-built app broke? Find the fix.
Plain-English fixes for Lovable, Bolt, Cursor, Replit and v0 apps that break after deploy, most common first.
150 fix guides, each with a Sources list of the official docs it was checked against and the date it was last reviewed.
All three fix packs · $49 one-time
Shipping an AI-built app this week?
Checklists and prompts for Supabase security, Stripe payments and deploys.
The three packs are $24 each, $72 bought separately. The bundle is all three for $49.
One-time payment through Stripe, no subscription. Download after payment. Purchase questions go through the help form.
Which tool built your app?
Top fixes for Lovable apps
- Lovable app is a blank white or black screen after publish
- Lovable Google sign-in fails on a custom domain
- Lovable custom domain not working or stuck pending
Supabase Launch Safety Pack · $24. RLS checklist, policy templates, key migration and prompts for Lovable, Bolt and Cursor.
Top fixes for Bolt apps
- Bolt custom domain will not connect
- Bolt publish failed or the live site will not open
- Bolt preview works, the Netlify site does not
Deploy Without Errors Pack · $24. Env vars on Vercel, Netlify and Replit, SPA refresh 404s, npm build errors and domains.
Top fixes for Cursor apps
- too many connections / remaining connection slots are reserved (Supabase + serverless)
- Prisma on Vercel: query engine not found
- next/image Un-configured Host
Deploy Without Errors Pack · $24. Env vars on Vercel, Netlify and Replit, SPA refresh 404s, npm build errors and domains.
Top fixes for Replit apps
- Replit deployment fails or published app won't load (server must listen on 0.0.0.0)
- Replit works in the editor but Secrets are missing after publish
- Replit custom domain not working
Deploy Without Errors Pack · $24. Env vars on Vercel, Netlify and Replit, SPA refresh 404s, npm build errors and domains.
Top fixes for v0 apps
- Vercel FUNCTION_INVOCATION_TIMEOUT (504) on API routes or AI calls
- 500: INTERNAL_SERVER_ERROR / FUNCTION_INVOCATION_FAILED on Vercel
- Hydration failed because the server rendered HTML didn't match the client
Deploy Without Errors Pack · $24. Env vars on Vercel, Netlify and Replit, SPA refresh 404s, npm build errors and domains.
Top fixes for Base44 apps
- Base44 login not working
- Base44 custom domain or SSL stuck pending
- Base44 app works for me but not for other users
Deploy Without Errors Pack · $24. Env vars on Vercel, Netlify and Replit, SPA refresh 404s, npm build errors and domains.
Top fixes for Supabase apps
- too many connections / remaining connection slots are reserved (Supabase + serverless)
- Lovable Supabase connection broke: 'Supabase connection issue'
- Supabase confirmation or password reset email not arriving
Supabase Launch Safety Pack · $24. RLS checklist, policy templates, key migration and prompts for Lovable, Bolt and Cursor.
Top fixes for Vercel apps
- Vercel Deployment Protection returns 401 and blocks a webhook
- Next.js DynamicServerError during the Vercel build
- Vercel INFINITE_LOOP_DETECTED
Deploy Without Errors Pack · $24. Env vars on Vercel, Netlify and Replit, SPA refresh 404s, npm build errors and domains.
Top fixes for Netlify apps
- Stripe success page 404 on Netlify
- Bolt preview works, the Netlify site does not
- Netlify "Page not found" when refreshing or opening a link
Deploy Without Errors Pack · $24. Env vars on Vercel, Netlify and Replit, SPA refresh 404s, npm build errors and domains.
Top fixes for Stripe apps
- Stripe webhook failing: 404, 307/308 redirect, timeout or 500
- Stripe paid, but the user was not upgraded
- Stripe success page 404 on Netlify
Stripe Payments That Work Pack · $24. Stripe webhooks, test versus live mode, signature verification and the customer portal.
Show fixes for
150 fixes for AI-built apps
Most common problems first.
- Rank 11. Stripe webhook failing: 404, 307/308 redirect, timeout or 500
Stripe shows webhook deliveries Failed with 3xx, 4xx, 5xx or timed out? Point it at the exact final URL and respond 200 fast.
- Rank 12. Stripe paid, but the user was not upgraded
Checkout shows paid and the account stays on the free plan? Upgrade the user from checkout.session.completed, not from the success page.
- Rank 13. Vercel Deployment Protection returns 401 and blocks a webhook
Stripe or another webhook gets 401 from Vercel before your route runs? Deployment Protection is in front of that URL. A production domain stays public under Standard Protection.
- Rank 19. Stripe success page 404 on Netlify
Stripe Checkout returns to your site and Netlify says Page not found? The success URL is a client route. Add the SPA rewrite to index.html.
- Rank 23. Lovable Google sign-in fails on a custom domain
Sign in with Google works on the Lovable URL and fails on your domain? Add that origin in Google and in Supabase Redirect URLs.
- Rank 25. Supabase confirmation or password reset email not arriving
Users never get the Supabase confirm or reset email? Check the rate limit, set up custom SMTP and fix the link's Site URL.
- Rank 26. Supabase auth emails land in spam
Confirm and reset emails arrive in spam? The built-in mailer is not for production. Use your own SMTP and set SPF, DKIM, and DMARC.
- Rank 28. infinite recursion detected in policy for relation
Supabase error 42P17 "infinite recursion detected in policy for relation"? Two RLS policies check each other. Break the loop with a function.
- Rank 29. permission denied for table (Supabase error 42501)
Supabase "permission denied for table"? The role lacks a GRANT on the table, which is checked before RLS. Add the grant, then a policy.
- Rank 30. Supabase insert works, .select() returns 42501
The row saves, but .insert().select() returns 42501? Returning the new row needs SELECT. Add the grant and a SELECT policy that matches that row.
- Rank 31. Supabase Storage upload fails: new row violates row-level security policy
Image/file upload to Supabase Storage fails with an RLS error? Add policies on storage.objects for INSERT (plus SELECT/UPDATE for upsert).
- Rank 32. Supabase Storage images not loading
Profile photos or uploads show a broken image? A public URL only works on a public bucket. A private bucket needs a signed URL or the user's JWT.
- Rank 34. 500: INTERNAL_SERVER_ERROR / FUNCTION_INVOCATION_FAILED on Vercel
Live site shows 500 FUNCTION_INVOCATION_FAILED but works locally? Your server code crashed. Read the runtime logs, then check env vars.
- Rank 36. Hydration failed because the server rendered HTML didn't match the client
Next.js "Hydration failed" error? The server and browser drew different HTML. Fix nesting, window/localStorage use and dates.
- Rank 38. Vercel custom domain shows "Invalid Configuration"
Added your domain to Vercel and it says Invalid Configuration? Set the DNS records Vercel shows at your registrar and wait for DNS.
- Rank 39. Lovable custom domain not working or stuck pending
Connected your own domain to Lovable and it won't load or stays pending? Check the DNS records Lovable gives you and remove conflicting ones.
- Rank 40. Bolt custom domain will not connect
Bolt will not attach your domain, or the status stays on a DNS warning? Publish first, then use the records Bolt shows. An AAAA record will not connect it.
- Rank 41. Bolt publish failed or the live site will not open
Bolt will not publish, or the bolt.host address says it cannot provide a secure connection? Check the 100MB limit, your network, and a dropped Netlify connection.
- Rank 42. Replit deployment fails or published app won't load (server must listen on 0.0.0.0)
Replit preview works but publishing fails or the URL won't load? Make your server listen on 0.0.0.0, set production Secrets, check ports.
- Rank 43. Replit works in the editor but Secrets are missing after publish
The Replit app runs in the editor and fails once it is published? Production app secrets are a separate list. Set them under Publishing, Adjust settings.
- Rank 48. Build failed: npm ERR! ERESOLVE
Vercel stops on npm ERR! ERESOLVE unable to resolve dependency tree? npm is refusing a peer dependency clash. Fix the versions, or override the install command on purpose.
- Rank 49. ReferenceError: window is not defined
Next.js crashes with window is not defined? The page is rendered on the server, where window does not exist. Read it after the component mounts.
- Rank 52. Clerk sign-in keeps redirecting in a loop
The app bounces between the page and Clerk sign-in forever? The redirect target is protected too, or the force-redirect URL points back at the gate.
- Rank 55. Lovable GitHub sync is behind, diverged, or created a new repo
GitHub and Lovable don't match? Lovable syncs one branch, won't reattach an old repo, and replaces its copy if you rewrite history.
- Rank 56. Prisma on Vercel: query engine not found
Vercel runs the app and Prisma can't find its query engine? The Rust engine file was left out of the serverless bundle, or Prisma Client was generated for the wrong machine.
- Rank 57. Supabase error: Email address not authorized
Sign-up tells the user Email address not authorized? The built-in mailer only sends to your Supabase organization. Custom SMTP sends to everyone else.
- Rank 68. Firestore request failed because security rules denied it
A Firestore read or write fails after deploy? Firebase says every client request is checked against security rules, and a denied path fails the whole request.
- Rank 71. Clerk: auth() was called but clerkMiddleware() was not detected
Clerk says auth() was called but it can't detect clerkMiddleware()? The middleware file is missing, the matcher skipped the request, or a broken asset 404 ran the layout.
- Rank 72. Clerk production deploy is still using pk_test_ keys
The live site still talks to the Clerk development instance? Production keys are pk_live_ and sk_live_, and the host has to be redeployed after you change them.
- Rank 73. Supabase signup_disabled: new accounts are turned off
Sign-up returns signup_disabled? Supabase's general Auth settings include Allow new users to sign up. When that is off, only existing users can sign in.
- Rank 74. Supabase PGRST116: .single() did not get exactly one row
A Supabase query fails with PGRST116 or HTTP 406? .single() asked for one row and the database returned zero or more than one.
- Rank 75. Prisma: prepared statement "s0" already exists
Prisma migrate or a Supabase pooler query says prepared statement s0 already exists? The command is going through PgBouncer. Point Migrate at a direct URL.
- Rank 78. Base44 login not working
Base44 shows invalid login, a blank reset page, or User.login is not a function? Check App Visibility, the /reset-password path, and the SDK call Base44 documents.
- Rank 79. Base44 custom domain or SSL stuck pending
A Base44 custom domain stays Pending verification, Connecting, or shows ERR_SSL_PROTOCOL_ERROR? Match the DNS records Base44 publishes and remove AAAA records.
- Rank 80. Base44 app works for me but not for other users
Your Base44 app opens for you and fails for everyone else? Base44 says to publish it, set App Visibility, and invite people when the app is Private.
- Rank 81. Replit custom domain not working
A Replit custom domain stays on Verifying or will not load? Copy the A and TXT records Replit shows, keep the replit-verify TXT record, and publish the app.
- Rank 82. Replit app works in preview but not when published
Replit Preview works and publishing fails, or the public URL does not? Check the Publishing logs, production secrets, 0.0.0.0, and the five-second health check.
- Rank 83. Replit database empty after publish
Rows you saved in the Replit editor are missing on the published app? The published app uses a separate production database. Preview keeps using development.
- Rank 84. Base44 code export or moving to Vercel
Export a Base44 app as a ZIP or to GitHub, then run the Vite project on Vercel. Base44 does not export its hosting, auth, or database infrastructure.
- Rank 85. Base44 Stripe payments not working
Base44 checkout does nothing, stays in test mode, or opens a blank page? Publish first, claim the Stripe sandbox, and read the function logs Base44 names.
- Rank 86. Gemini API: API key not valid (API_KEY_INVALID)
Gemini returns 400 API key not valid with reason API_KEY_INVALID? The key is missing, unrestricted, or sitting in the browser. Call Gemini from the server.
- Rank 87. Anthropic API 402 billing_error or spend limit reached
Claude API returns 402 billing_error, or 400/429 after a spend limit? Check payment details and limits in the Claude Console. A 401 is a key problem.
- Rank 88. Sign in with Google fails on a custom domain
Google sign-in works on localhost and fails on the real domain? Add the origin, not a path, to Authorized JavaScript origins, and authorize the live hostname in Supabase or Firebase.
- Rank 89. Bolt preview works, the Netlify site does not
The Bolt preview runs, and the Netlify URL is empty or missing the database? Netlify hosts browser-only sites. A project that needs a database stays on Bolt hosting.
- Rank 90. Lovable: Live preview couldn't start
Lovable's preview is blank or says Live preview couldn't start? Refresh, then Shift+Refresh. A white preview is usually an error in the app, and the preview is not the published site.
- Rank 91. Firestore: Missing or insufficient permissions
Firestore says Missing or insufficient permissions on a read after login? Security rules rejected that operation for the current user and path. A signed-in user can still be denied.
- Rank 92. Clerk: Missing or invalid Publishable Key
Clerk says Missing or invalid Publishable Key on Vercel? Set NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY or VITE_CLERK_PUBLISHABLE_KEY to the pk_live_ key, then redeploy.
- Rank 93. Next.js DynamicServerError during the Vercel build
The Vercel build throws DynamicServerError, or a static page then reads cookies at runtime? Call cookies and headers in the request's async context, or set the route's dynamic export.
- Rank 94. Prisma P1001: Can't reach database server
Prisma on Vercel says P1001 Can't reach database server? That host and port are not accepting a connection. For Supabase, Prisma's serverless URL uses the transaction pooler on port 6543.
- Rank 95. Supabase otp_expired: OTP code for this sign-in has expired
Supabase returns otp_expired on a magic link or email code? That code has expired. Supabase says to sign in again. The default lifetime is 1 hour.
- Rank 96. Supabase email_not_confirmed: Signing in is not allowed for this user as the email address is not confirmed
Sign-in returns email_not_confirmed? Supabase blocks that user until the email is confirmed. Confirm Email lives on the email provider.
- Rank 98. Prisma P1000: Authentication failed against database server at {database_host}, the provided database credentials for {database_user} are not valid
Prisma says P1000 Authentication failed against database server? The user and password in that connection are not valid for the host Prisma printed.
- Rank 99. Prisma P2024: Timed out fetching a new connection from the connection pool
Prisma throws P2024 Timed out fetching a new connection from the connection pool? The pool Prisma is using did not hand out a connection before its timeout.
- Rank 100. next/image Un-configured Host
next/image rejected a src hostname? Next.js says that host is missing from images.remotePatterns, and every part of the URL has to match.
- Rank 101. Invalid "use server" Value
Next.js says Invalid "use server" Value? A file marked "use server" exported something other than an async function.
- Rank 102. MIDDLEWARE_INVOCATION_FAILED
Vercel returns MIDDLEWARE_INVOCATION_FAILED and Internal Server Error? Routing Middleware failed while the CDN invoked it, including from an unhandled exception.
- Rank 103. Firebase auth/operation-not-allowed
Firebase returns auth/operation-not-allowed? That sign-in provider is not enabled. Turn it on in the Firebase console, then save.
- Rank 107. Failed to find Server Action
Next.js says Failed to find Server Action? The ID looked valid, but this build has no matching Server Action. The browser may still be on the previous deployment.
- Rank 109. Vercel INFINITE_LOOP_DETECTED
Vercel returns INFINITE_LOOP_DETECTED and Loop Detected? The app is requesting itself without stopping, or doing the same to an external API or database.
- Rank 110. Vercel MIDDLEWARE_INVOCATION_TIMEOUT
Vercel returns MIDDLEWARE_INVOCATION_TIMEOUT and Gateway Timeout? Routing Middleware ran past its limit, or sent no response chunk for a while.
- Rank 111. Firestore: a compound query does not map to an index
Firestore rejects a compound query with a range clause? That query does not map to an existing index. The error includes a link that creates the missing index.
- Rank 112. Firebase auth/invalid-credential
signInWithEmailAndPassword returns auth/invalid-credential? With Email Enumeration Protection on, Firebase says the email and password are invalid.
- Rank 113. Prisma P2002: Unique constraint failed on the {constraint}
Prisma says P2002 Unique constraint failed on the {constraint}? That write hit a unique constraint. The message names the constraint.
- Rank 114. Supabase PGRST205: the table in the request URI was not found
The Data API returns PGRST205? Supabase says that HTTP 404 means the table specified in the URI was not found.
- Rank 116. Lovable Cloud refuses CREATE EXTENSION
Lovable refuses CREATE EXTENSION? The October 13, 2026 changelog says Cloud only allows a fixed set of PostgreSQL extensions and builds the rest with plain SQL.
- Rank 118. Claude API 401 authentication_error
The Claude API returns 401 authentication_error? Anthropic says there is an issue with your API key, for example it is malformed, revoked, or expired.
- Rank 119. Supabase Auth invalid_credentials
Supabase Auth returns invalid_credentials? Supabase's error-code table says the login credentials or grant type were not recognized.
- Rank 120. Supabase Auth over_request_rate_limit (429 Too Many Requests)
Supabase Auth returns over_request_rate_limit or 429? Too many requests came from one IP address. A looping useEffect can cause it.
- Rank 121. Prisma P2021: The table {table} does not exist in the current database
Prisma says P2021 The table does not exist in the current database? The database the app connects to has no table by that name.
- Rank 122. Prisma P2025: An operation failed because it depends on one or more records that were required but not found
Prisma says P2025, records that were required but not found? The operation depends on a record that does not exist. The message gives the cause.
- Rank 123. Next.js Prerender Error during next build
next build fails while prerendering a page? Next.js lists missing props, browser-only APIs, non-page files in pages/, and getStaticProps or getStaticPaths setup.
- Rank 124. Next.js: NextRouter was not mounted
Next.js says NextRouter was not mounted? useRouter from next/router ran outside Next.js, in a test, or in the app directory. Use next/navigation there.
- Rank 125. Vercel 404 DEPLOYMENT_NOT_FOUND
Vercel returns 404 DEPLOYMENT_NOT_FOUND? The request asked for a deployment that does not exist. The URL may be wrong, or the deployment was deleted.
- Rank 126. Vercel won't deploy a commit because it can't verify the commit author
A push to a private repo did not deploy on Vercel? On a Hobby team the commit author must be the team owner. Match the commit email to your account.
- Rank 127. Supabase: Database error saving new user
Sign-up fails with Database error saving new user? Supabase says a trigger, constraint, or permission on auth.users broke. Check the logs, then fix the trigger.
- Rank 128. Vercel build error: No Output Directory found (missing public directory)
Vercel fails after the build with a missing Output Directory error? The folder it serves is missing, empty, or set wrong. Match it to what your build writes.
- Rank 129. Next.js: the middleware file convention is deprecated, use proxy
Next.js warns that the middleware file convention is deprecated? It has been renamed to proxy. Run the official codemod to rename middleware.ts to proxy.ts.
- Rank 130. Claude API 400: This model does not support assistant message prefill
Claude returns 400 invalid_request_error about assistant message prefill? Newer Claude models reject a conversation that ends with an assistant message.
- Rank 131. Claude API 400: thinking.type.enabled is not supported for this model
Claude returns 400 saying thinking.type.enabled is not supported? Newer models removed extended thinking. Use adaptive thinking and output_config.effort.
- Rank 132. Supabase Auth flow_state_not_found or flow_state_expired
Supabase sign-in fails with flow_state_not_found or flow_state_expired? The PKCE login expired or was already used. Start the sign-in again in the same browser.
- Rank 133. Next.js: Missing Root Layout tags (html and body)
Next.js says Missing Root Layout tags? Your app/layout file returns children without the html and body tags. Wrap children in both and rebuild.
- Rank 134. Next.js: Using Node.js modules in Edge Runtime (Proxy or Middleware)
Next.js says your Proxy or Middleware uses a Node.js module in the Edge Runtime? Edge does not support Node.js APIs. Remove the import or use a Web API.
- Rank 135. OpenAI API 503: Model temporarily overloaded (server_is_overloaded)
OpenAI returns 503 server_is_overloaded? The model has no spare capacity right now. Wait for Retry-After, retry with backoff, and check the status page.
- Rank 136. Vercel: Lost Git repository access, pushes no longer deploy
Pushes to GitHub stopped deploying on Vercel? The project lost its Git connection. The repo was archived or deleted, or the Vercel GitHub App lost access to it.
- Rank 137. Lovable sign-in works in preview but fails on the published app or custom domain
Login works in the Lovable preview and breaks on the published app or your own domain? Lovable says the address is usually missing from the auth redirect URLs.
- Rank 138. Lovable app users not getting confirmation emails or stuck unconfirmed
New users of your Lovable app never get the confirmation email, or stay unconfirmed? Check spam, the hourly email limit, and which backend sends the email.
- Rank 139. Lovable custom domain stuck on Verifying or Unable to verify
Your Lovable custom domain sits on Verifying or shows Unable to verify? Lovable can't see its A and TXT records yet. Fix the records, turn off proxying, and recheck.
- Rank 140. Lovable custom domain stuck on Setting up, Stalled, or Failed (SSL)
Your Lovable domain is verified but stuck on Setting up, Stalled, or Failed? The SSL certificate can't be issued. Check CAA records, then click Retry.
- Rank 141. Lovable Supabase connection broke: 'Supabase connection issue'
Lovable shows Supabase connection issue, or won't let you connect your Supabase project? The linked project is gone, paused, or your workspace lost access. Reconnect or disconnect.
- Rank 142. Lovable authentication errors: find the right fix
Lovable app login or sign-up failing? Match what you see to the cause: redirect URLs, confirmation emails, Google sign-in on a custom domain, or sign-up turned off.
- Rank 143. Content Security Policy (CSP) header not set, or missing CSP directives
A scanner says Content Security Policy (CSP) header not set, or lists missing CSP directives? Send a Content-Security-Policy response header and set the directives default-src doesn't cover.
- Rank 146. CORS: Content-Type application/json is not safelisted and triggers a preflight
Your cross-origin request with Content-Type: application/json fails CORS? That value isn't CORS-safelisted, so the browser sends a preflight OPTIONS request your server must answer.
- Rank 147. Cloudflare invalid SSL certificate (Error 526) on a custom domain
Your custom domain shows Cloudflare Error 526: invalid SSL certificate? Cloudflare is on Full (strict) and can't validate the certificate on the host behind it.
- Rank 150. Lovable app not deploying or not working after publish
Your Lovable app won't publish, or the live site doesn't show your changes? The Publish dialog says why. Use its Try again or Try to fix action, or fix the blocked setting.
No fix matches that.
Try the exact words from the error, or clear the platform filters. The self-serve products are a $15 deep leak report, three $24 fix packs (Supabase, Stripe, deploy), and a $49 bundle of all three.
Check a live URL for leaked keys
Paste a public address. The check reads the HTML and that site's own scripts, then flags server keys and three missing security headers. The URL and the results are not saved.
Self-serve products
A deep leak report is $15 after the free scan. Fix packs are $24 each, or $49 for all three. There is no done-for-you repair.
Supabase Launch Safety Pack · Stripe Payments That Work Pack · Deploy Without Errors Pack · All Packs Bundle
Comparisons
No failure-rate scores. These pages compare what Lovable, Bolt, Cursor, Supabase, Firebase, Vercel, and Netlify document.
Get the 10-point launch-risk checklist for vibe-coded apps
For apps built with Lovable, Bolt, Cursor or Replit. Built from the real failures on our fix pages, plus What broke this week: one short email with that week's errors and the fix in plain English.
Shipping an AI-built app this week?
Checklists and prompts for Supabase security, Stripe payments and deploys.
One-time payment through Stripe, no subscription. Download after payment. Purchase questions go through the help form.