This error occurs when email authentication is disabled in Supabase Auth settings, preventing new users from signing up with email/password. Enable email provider in your project dashboard to allow email-based signups.
This error indicates that the email authentication provider is disabled in your Supabase project's Auth configuration. When this setting is turned off, Supabase Auth will reject any attempts to create new user accounts using email and password authentication. The error typically appears when calling `supabase.auth.signUp()` with email credentials, or when users try to register through your application's signup form. Supabase provides granular control over authentication methods, and the email provider can be disabled intentionally (for invite-only systems) or accidentally during project configuration. This is distinct from email confirmation settings - even if email confirmation is disabled, users still cannot sign up if the email provider itself is turned off in the Auth settings.
Log into your Supabase project dashboard and access the Authentication settings:
1. Open your project at https://app.supabase.com
2. Select your project from the list
3. Click on "Authentication" in the left sidebar
4. Navigate to "Providers" tab
This is where all authentication providers are managed, including email/password authentication.
In the Providers section, locate and enable email authentication:
1. Find "Email" in the list of authentication providers
2. Toggle the switch to "Enabled" (it should turn green)
3. Ensure "Confirm email" is configured according to your needs
4. Click "Save" to apply changes
The email provider should now show as active in your dashboard.
Verify that new user registration is allowed:
1. Go to Authentication → Settings
2. Scroll to "User Signups" section
3. Ensure "Allow new users to sign up" is enabled
4. Save your changes
This setting controls whether new registrations are accepted, even if the email provider is enabled.
Verify that email signups now work correctly:
const { data, error } = await supabase.auth.signUp({
email: '[email protected]',
password: 'secure-password-123'
});
if (error) {
console.error('Signup failed:', error.message);
} else {
console.log('Signup successful:', data.user);
}The signup should complete without the email_provider_disabled error.
Self-Hosted Supabase Configuration
If you're running a self-hosted Supabase instance, email signups are controlled via environment variables in your docker-compose.yml or configuration file:
ENABLE_EMAIL_SIGNUP=true
ENABLE_EMAIL_AUTOCONFIRM=falseSet ENABLE_EMAIL_SIGNUP=true to allow email registrations.
Invite-Only Mode
You can intentionally keep email signups disabled to create an invite-only system. In this setup:
1. Keep "Email provider" enabled
2. Disable "Allow new users to sign up"
3. Create users programmatically using the Admin API:
const { data, error } = await supabase.auth.admin.createUser({
email: '[email protected]',
password: 'temporary-password',
email_confirm: true
});This allows you to control who can create accounts while still using email authentication.
Custom SMTP and Default Provider Changes
Supabase has made changes to their default email provider to improve sustainability. If you're using the default provider, emails will only be sent to addresses that are part of your project's team unless you configure a custom SMTP server. For production applications, it's recommended to set up custom SMTP to avoid delivery restrictions.
email_conflict_identity_not_deletable: Cannot delete identity because of email conflict
How to fix "Cannot delete identity because of email conflict" in Supabase
mfa_challenge_expired: MFA challenge has expired
How to fix "mfa_challenge_expired: MFA challenge has expired" in Supabase
conflict: Database conflict, usually related to concurrent requests
How to fix "database conflict usually related to concurrent requests" in Supabase
phone_exists: Phone number already exists
How to fix "phone_exists" in Supabase
StorageApiError: resource_already_exists
StorageApiError: Resource already exists