Guide
Sign-up or login broken after publishing: users bounce back to login or land on localhost
Updated
If users sign in on your live site and end up back on the login page, on a localhost address, or on an error, the published address is probably not on the approved redirect list, so the service falls back to its default, which is often localhost. It can also be that the default address (Site URL) was never changed from the local one.
Login, emails or payments broke in your live app? Our AI agent fixes it in your code, then tests your live app again.
Login worked in the preview. On the live site, users sign in and end up back on the login page, on a localhost address, or on an error. Or the confirmation link opens the wrong site.
Fixed in your code, then tested live. Check my app free
Why it happens
After sign-in, your login service (often Supabase) sends people back to your app, but only to addresses on an approved list. Your preview address is on that list; your published address often is not.
Possible causes
- The published address is not on the approved redirect list, so the service falls back to its default, which is often localhost.
- The default address (Site URL) was never changed from the local one.
- Google sign-in is on, and the callback address is not listed on the Google side.
- The app's own code has the preview address written into the sign-in code.
You can't see it yourself
You're signed in, your customers aren't. You are already signed in, or signing in from the preview. Sign-up is the one step every new customer must pass, and you never repeat it.
Fixed in your code, then tested live. Check my app free
Related: Ways to fix a broken AI-built app · The confirmation link in my sign-up email opens localhost · New users sign up, then land back on the login page or see an error · "Sign in with Google" fails for new people on my live app
VibeFix is independent. Lovable, Bolt, Replit, Base44, v0, Supabase, Firebase, Stripe and Vercel are trademarks of their owners.
Want it fixed?
Our AI agent fixes it in your code and tests your live app again. See pricing.
It starts with a free check that confirms the problem on your live app, no account needed.