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.
Reviewed October 21, 2026
What it means in plain English
The Auth error code email_not_confirmed means signing in is not allowed for this user because the email address is not confirmed. Supabase's general configuration says Confirm Email makes users confirm their email address before signing in for the first time. That option is on the email provider, in the provider-specific configuration.
With Confirm Email off, Supabase assumes the email does not need to be verified in order to sign in, and it implicitly confirms the user's email in the database.
Likely causes
- Confirm Email is on, and this user has not finished the confirmation link.
- The confirmation email never arrived, so the address is still unconfirmed. That is the mailer, not this error code.
- Sign-ups themselves are off. That code is
signup_disabled, which Supabase describes as sign-ups disabled on the server.
How to fix it, step by step
- Read
error.code.email_not_confirmedis this block.signup_disabledis the switch for new accounts. See Supabase signup_disabled: new accounts are turned off. - Open the email provider settings. General configuration says Confirm Email is there.
- If this app should require confirmation, have the user open a fresh confirmation email and finish the link. If that mail never arrives, follow Supabase confirmation or password reset email not arriving.
- If this app should let people sign in before the address is verified, turn Confirm Email off. Supabase says that implicitly confirms the email in the database.
- After a confirmation link expires, the code can be
otp_expiredinstead. See Supabase otp_expired: OTP code for this sign-in has expired.
How to check it worked
- The same user can sign in, and the response code is no longer
email_not_confirmed. - In the Auth user record, the address is confirmed, either by the link or because Confirm Email is off.
Sources
Related fixes
More Supabase auth and email fixes
Keep going on your own.
The guides stay free. A deep leak report is $15. Fix packs are $24, or $49 for all three. There is no done-for-you repair.