Supabase Auth: email_not_confirmed
Supabase blocks sign-in with email_not_confirmed when the user hasn't confirmed their email address and email confirmation is required. Make sure confirmation emails are delivered and link back to an allowed redirect URL, or resend the confirmation.
Cause: Email confirmation is enabled and the user never clicked a working confirmation link.
How to fix it
- Check the user in Authentication > Users to see whether the email is confirmed.
- Set up custom SMTP for production; the default email service is meant for testing and is rate-limited.
- Ensure the confirmation link redirects to your production Site URL / an allowed Redirect URL.
- Offer a 'resend confirmation' action in your UI.
Example
Illustrative example, not from a customer project.
await supabase.auth.signUp({ email, password,
+ options: { emailRedirectTo: `${window.location.origin}/auth/callback` },
})
FAQ
Can I just disable email confirmation?
You can in the dashboard, but then anyone can sign up with an address they don't own.
Users say they never got the email.
Check SMTP setup, spam folders, and the email rate limits.
Get a $149 diagnosis See pricing Still exposed or still logged out? Get an auth & database security fix (Supabase, Firebase).
- Fixed, or we keep working free until it is (within the written scope).
- A human reviews every fix before it ships.
- read-only access; fixes arrive as pull requests you merge
- Your $149 diagnosis is credited in full toward any paid job.