Need help with otp\disabled (Magic-link / OTP)

Hi all – I’m stuck on enabling magic-link sign-in for an existing user on my production project.

Endpoint: POST /auth/v1/otp?redirect\to=

Response: 422 Unprocessable Content with header x-sb-error-code: otp\disabled

{ "code": "otp_disabled", "message": "Signups not allowed for otp" }

What I’ve confirmed so far:

Allow new users to signup is ON
EMAIL authentication is Enabled


/auth/v1/settings shows

disable\signup: false
external.email: true

User I’m testing does exist and is confirmed in auth.users.
Front-end call (Nuxt 3):
await supabase.auth.signInWithOtp({ email, options: { shouldCreateUser: false, emailRedirectTo: '
' }});

I redeployed and waited several minutes after toggling settings, but still get otp\disabled every time.
Any idea what else could cause the OTP endpoint to return otp\disabled?
Happy to share more logs if helpful—thanks!
Was this page helpful?