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

  1. Read error.code. email_not_confirmed is this block. signup_disabled is the switch for new accounts. See Supabase signup_disabled: new accounts are turned off.
  2. Open the email provider settings. General configuration says Confirm Email is there.
  3. 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.
  4. 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.
  5. After a confirmation link expires, the code can be otp_expired instead. 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

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.

See products