Supabase Auth invalid_credentials
Supabase Auth returns invalid_credentials? Supabase's error-code table says the login credentials or grant type were not recognized.
Reviewed October 24, 2026
What it means in plain English
Supabase's Auth error-code table defines invalid_credentials as: Login credentials or grant type not recognized.
Errors from the Supabase Auth API are AuthApiError. Supabase says they always have a code property that identifies the error the server returned, and a status property with the HTTP status code. Supabase says to use isAuthApiError instead of instanceof checks.
Other codes in the same table are different problems. email_not_confirmed means signing in is not allowed because the email address is not confirmed. user_not_found means the user no longer exists. over_request_rate_limit means too many requests came from this client's IP address.
Likely causes
- The email and password, or other login credentials, were not recognized.
- The request used a grant type Supabase Auth did not recognize.
- The real code is a different one, such as
email_not_confirmed, and the app is reading only the message text.
How to fix it, step by step
- Read
error.codeon the error, not the message text. Supabase says to always useerror.codeanderror.nameto identify errors, not string matching on messages, and not to rely only on HTTP status codes. - If the code is
invalid_credentials, the credentials or the grant type were not recognized. Check the email and password the form sends. - If the code is
email_not_confirmed, the address is not confirmed. See Supabase email not confirmed. - If the code is
email_provider_disabled, Supabase says signups are disabled for email and password. If it issignup_disabled, sign ups are disabled on the server. See Supabase signups disabled. - If the code is
over_request_rate_limit, stop retrying and see Supabase over_request_rate_limit.
How to check it worked
- The sign-in call returns a session and no error.
- If it still fails,
error.codenames the next thing to fix, and it is notinvalid_credentials.
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.