Supabase Email Not Confirmed Error

Supabase error email_not_confirmed (email_not_confirmed) explained: what it means, why it happens, and how to fix it — with copy-paste code examples.

Error code email_not_confirmed Supabase Last verified 2026-08-19

Quick Answer

Resend the confirmation with supabase.auth.resend({ type: 'signup', email }). If that does not apply, have the user click the confirmation link from a fresh email — the full checklist is below.

Error Code

Error code: email_not_confirmed
Official name: email_not_confirmed
Service: Supabase

What does this error mean?

Email not confirmed.

Common Causes

How to Fix

  1. Resend the confirmation with supabase.auth.resend({ type: 'signup', email })
  2. Have the user click the confirmation link from a fresh email
  3. As an admin, confirm the user via admin.updateUserById({ email_confirm: true })
  4. Check that 'Confirm email' is enabled in Authentication settings if you want this flow

Code Examples

Resend the signup confirmation javascript
const { error } = await supabase.auth.resend({
  type: 'signup',
  email: 'user@example.com',
})
if (error) {
  // guard against over_email_send_rate_limit with a countdown
  console.error(error.code)
}

resend() can hit over_email_send_rate_limit on rapid retries - add a cooldown timer.

Framework-Specific Fixes

supabase-js

Offer a resend button and detect this code to show the right guidance.

if (error?.code === 'email_not_confirmed') {
  await supabase.auth.resend({ type: 'signup', email })
  showToast('Check your inbox and confirm your email')
}

You Might Also Like

Frequently Asked Questions

Why am I seeing Supabase error email_not_confirmed?

Most often this happens when signup email confirmation is enabled but the user never clicked the link, or when confirmation email landed in spam or expired.

How do I fix Supabase error email_not_confirmed?

Resend the confirmation with supabase.auth.resend({ type: 'signup', email }).

Which frameworks have documented fixes for error email_not_confirmed?

This page documents fixes for: supabase-js.

Official Sources

This page is based on the official Supabase documentation linked below and adds practical troubleshooting guidance on top.