Error library

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

  1. Check the user in Authentication > Users to see whether the email is confirmed.
  2. Set up custom SMTP for production; the default email service is meant for testing and is rate-limited.
  3. Ensure the confirmation link redirects to your production Site URL / an allowed Redirect URL.
  4. 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).

$149Get a $149 diagnosis