Supabase Errors

Open source Firebase alternative with PostgreSQL

86 solutionsOfficial Docs →
INTERMEDIATEHIGH
PGRST100: Relation does not exist
The PGRST100 error occurs when Supabase (PostgREST API) cannot find the table you're trying to access. This can happen when the table is in a different schema, has a case-sensitivity issue, doesn't exist yet, or when the PostgREST schema cache hasn't been refreshed.
0 viewsPGRST100: Relation does not exist
INTERMEDIATEMEDIUM
How to fix "email_exists" in Supabase
This error occurs when attempting to sign up a user with an email address already registered in Supabase Auth. The behavior depends on your email confirmation settings.
0 viewsemail_exists: Email address already exists
INTERMEDIATEHIGH
Failed to subscribe to channel in Supabase Realtime
Supabase Realtime channel subscription fails due to authentication, permissions, replication settings, or RLS policy misconfigurations. This error occurs when the client cannot establish a successful subscription to monitor real-time database changes or broadcast messages.
0 viewsREALTIME_SUBSCRIPTION_ERROR: Failed to subscribe t...
INTERMEDIATEMEDIUM
Email send rate limit exceeded in Supabase
This error occurs when your Supabase project exceeds its configured email sending rate limit. By default, the built-in email service allows only 2-4 emails per hour, while custom SMTP providers support 30+ emails per hour. Upgrading to a custom email provider or adjusting rate limits can resolve this.
0 viewsover_email_send_rate_limit: Email send rate limit ...
INTERMEDIATEMEDIUM
How to fix "over_request_rate_limit" in Supabase
This error occurs when your application makes too many requests to Supabase Auth or Management API within a short timeframe, triggering built-in rate limiting that returns a 429 status code.
0 viewsover_request_rate_limit: Request rate limit exceed...
INTERMEDIATEMEDIUM
How to fix "identity_already_exists" in Supabase
This error occurs when attempting to link an OAuth identity that is already associated with another user account in Supabase Auth, commonly when converting anonymous users to verified accounts.
0 viewsidentity_already_exists: Identity already linked t...
INTERMEDIATEMEDIUM
How to fix "user_already_exists" in Supabase
This error occurs when attempting to sign up a user with an email address already registered in Supabase Auth. Behavior varies depending on email confirmation settings.
0 viewsuser_already_exists: User already exists
BEGINNERCRITICAL
How to fix "PGRST000: Could not connect to the database" in Supabase
The "PGRST000: Could not connect to the database" error occurs when PostgREST (Supabase's REST API layer) cannot establish an initial connection to your PostgreSQL database. This typically happens due to database being paused, incorrect credentials, configuration issues, or infrastructure problems. The error indicates that the database service is unreachable or misconfigured.
0 viewsPGRST000: Could not connect to the database
INTERMEDIATEMEDIUM
How to fix "over_sms_send_rate_limit: SMS send rate limit exceeded" in Supabase
The "over_sms_send_rate_limit: SMS send rate limit exceeded" error occurs when Supabase Auth blocks SMS sending due to rate limiting. This protection prevents SMS bombing attacks and excessive usage, typically triggered by too many authentication attempts to a single phone number within a short time period or exceeding overall project SMS quotas.
0 viewsover_sms_send_rate_limit: SMS send rate limit exce...
INTERMEDIATEHIGH
How to fix "PGRST001: Connection to the database was lost" in Supabase
The "PGRST001: Connection to the database was lost" error occurs when PostgREST (Supabase's REST API layer) cannot maintain a connection to your PostgreSQL database. This typically happens due to network issues, database server problems, connection pool exhaustion, or infrastructure maintenance. The error returns HTTP status 503 (Service Unavailable) and indicates a temporary loss of database connectivity.
0 viewsPGRST001: Connection to the database was lost
INTERMEDIATEMEDIUM
How to fix "request_timeout: Processing request took too long" in Supabase
The "request_timeout: Processing request took too long" error occurs when Supabase Auth API requests exceed their maximum processing time limit. This typically happens with complex authentication flows, high server load, or network issues between your application and Supabase servers.
0 viewsrequest_timeout: Processing request took too long
BEGINNERMEDIUM
Manual identity linking is disabled
This error occurs when attempting to link an OAuth identity to an existing user via linkIdentity() while the manual linking feature is disabled in your Supabase project settings. Manual linking must be explicitly enabled for security reasons.
0 viewsmanual_linking_disabled: Manual identity linking i...
BEGINNERMEDIUM
Email address validation failed in Supabase Auth
Supabase Auth rejects an email address during signup or authentication due to format validation rules. This typically occurs when the email format violates Supabase's validation requirements, which may be stricter than standard RFC 5322 specifications.
0 viewsemail_address_invalid: Email address validation fa...
BEGINNERMEDIUM
Duplicate key value violates unique constraint
This PostgreSQL error occurs when attempting to insert a duplicate value into a column with a unique constraint in your Supabase database. The constraint could be a primary key, unique index, or explicitly defined unique column.
0 views23505: Unique violation
INTERMEDIATEMEDIUM
How to fix "bad_json: HTTP body could not be parsed as JSON" in Supabase
Supabase Auth returns the "bad_json" error when the HTTP request body sent to authentication endpoints contains malformed JSON or cannot be parsed. This error prevents authentication operations like sign-up, sign-in, or token refresh and requires fixing the JSON payload structure before retrying.
0 viewsbad_json: HTTP body could not be parsed as JSON
INTERMEDIATEHIGH
JWT audience does not match in Supabase Auth
This error occurs when the "aud" (audience) claim in your JWT token doesn't match what Supabase expects during authentication validation. Supabase requires JWTs to have an audience claim set to "authenticated" for standard user sessions.
0 viewsunexpected_audience: JWT audience does not match
INTERMEDIATEMEDIUM
How to fix "StorageApiError: Object not found" in Supabase
The "StorageApiError: Object not found" error occurs when Supabase Storage cannot locate a file or object you're trying to access. This typically happens when referencing files that don't exist, have been deleted, or have incorrect paths. The fix involves verifying file paths, checking bucket permissions, and ensuring proper file upload procedures.
0 viewsStorageApiError: Object not found
BEGINNERMEDIUM
How to fix "mfa_ip_address_mismatch" in Supabase
The MFA enrollment process detected a different IP address during verification. This security measure prevents unauthorized factor enrollment. Complete the entire enrollment flow from the same network to resolve it.
0 viewsmfa_ip_address_mismatch: MFA enrollment IP address...
INTERMEDIATEHIGH
How to fix "PKCE flow state has expired" in Supabase
The PKCE flow state expires after 5 minutes of inactivity. This error occurs when users take too long to complete the OAuth authentication callback or attempt to use an expired authorization code. Complete the authentication flow within 5 minutes or restart the login process to fix this.
0 viewsflow_state_expired: PKCE flow state has expired
INTERMEDIATEHIGH
MFA verification rejected in Supabase
This error occurs when Supabase Auth rejects a multi-factor authentication (MFA) verification attempt, typically due to invalid codes, rate limiting, or custom verification hooks blocking the authentication flow.
0 viewsmfa_verification_rejected: MFA verification was re...
INTERMEDIATEMEDIUM
How to fix "user_banned: User is banned" in Supabase Auth
This error occurs when a user with an active ban attempts to authenticate or refresh their session in Supabase. Banned users cannot log in or refresh tokens until their ban expires or is lifted.
0 viewsuser_banned: User is banned
INTERMEDIATEMEDIUM
How to fix "sms_send_failed: Sending SMS failed" in Supabase
The "sms_send_failed: Sending SMS failed" error occurs when Supabase Auth cannot send SMS messages for phone authentication or OTP verification. This typically happens due to misconfigured SMS provider settings, rate limiting, invalid phone numbers, or insufficient credits with the SMS service provider.
0 viewssms_send_failed: Sending SMS failed
INTERMEDIATEMEDIUM
How to fix 'refresh_token_not_found: Refresh token not found' in Supabase
This error occurs when Supabase cannot find a valid refresh token during authentication. Refresh tokens are used to obtain new access tokens without requiring users to re-enter credentials. The fix typically involves checking token storage, session management, and authentication flow configuration.
0 viewsrefresh_token_not_found: Refresh token not found
INTERMEDIATEMEDIUM
How to fix "anonymous_provider_disabled: Anonymous sign-ins are disabled" in Supabase
The "anonymous_provider_disabled: Anonymous sign-ins are disabled" error occurs when Supabase Auth attempts anonymous authentication but anonymous sign-ins are not enabled in the project settings. This prevents users from creating temporary anonymous accounts until anonymous authentication is properly configured and enabled.
0 viewsanonymous_provider_disabled: Anonymous sign-ins ar...
INTERMEDIATEMEDIUM
How to fix "PGRST117: HTTP verb not allowed" in Supabase
The "PGRST117: HTTP verb not allowed" error occurs when you attempt to use an HTTP method (GET, POST, PUT, DELETE, etc.) that is not permitted for a specific Supabase API endpoint or database resource. This typically happens due to Row Level Security (RLS) policies, table permissions, or incorrect API usage.
0 viewsPGRST117: HTTP verb not allowed
INTERMEDIATEMEDIUM
How to fix "EdgeFunctionError: Function invocation timeout" in Supabase
The "EdgeFunctionError: Function invocation timeout" error occurs when a Supabase Edge Function exceeds its maximum execution time limit. This typically happens with long-running operations, infinite loops, or inefficient code that takes too long to complete within the function's time constraints.
0 viewsEdgeFunctionError: Function invocation timeout
INTERMEDIATEHIGH
How to fix 'provider_email_needs_verification: Email verification required by OAuth provider' in Supabase
This error occurs when signing up or logging in with an OAuth provider (Google, GitHub, etc.) if the provider's email hasn't been verified by that provider. OAuth providers require verified emails to prevent account takeover attacks. The solution involves verifying the email with the OAuth provider or configuring Supabase's email verification settings.
0 viewsprovider_email_needs_verification: Email verificat...
BEGINNERMEDIUM
How to fix "OAuth provider is not supported" in Supabase
This error occurs when attempting to sign in with an OAuth provider that has not been enabled in your Supabase project settings. The fix requires enabling the provider in the Supabase Dashboard under Authentication settings.
0 viewsoauth_provider_not_supported: OAuth provider is no...
INTERMEDIATEMEDIUM
How to fix "phone_provider_disabled: Phone signups are disabled" in Supabase
The "phone_provider_disabled: Phone signups are disabled" error occurs when Supabase Auth attempts phone-based authentication but phone signups are not enabled in the project settings. This prevents users from signing up or logging in with phone numbers until phone authentication is properly configured and enabled.
0 viewsphone_provider_disabled: Phone signups are disable...
BEGINNERMEDIUM
How to fix 'user_not_found: User could not be found' in Supabase
Supabase responds with "user_not_found: User could not be found" when the identifier you supplied (email, phone, or OAuth provider) does not match any row inside auth.users. The fix is usually to confirm the user exists in the right project, create or restore the missing account, and call the correct sign-in flow so Supabase is looking for the provider you expect.
0 viewsuser_not_found: User could not be found
INTERMEDIATEHIGH
How to fix 'unexpected_failure: Unexpected service failure' in Supabase
Supabase returns 'unexpected_failure: Unexpected service failure' (HTTP 500) when the Auth service encounters a problem during user operations, usually caused by broken database triggers, foreign key constraint violations, permission errors on custom tables, or insufficient project resources. The fix involves identifying the database issue through logs, fixing triggers and constraints, and ensuring proper security permissions.
0 viewsunexpected_failure: Unexpected service failure
BEGINNERMEDIUM
How to fix "PGRST101: Missing Content-Type header" in Supabase
Supabase (PostgREST) rejects any POST/PATCH/PUT request that transports a body without so much as a Content-Type header. The 405/PGRST101 response is PostgREST telling you it has no idea how to deserialize the payload, so the mutation never reaches the database. Setting the right media type fixes the error instantly.
0 viewsPGRST101: Missing Content-Type header
INTERMEDIATEMEDIUM
How to fix "signup_disabled: Signups are disabled" in Supabase
Supabase throws `signup_disabled: Signups are disabled` when the project explicitly refuses to create new accounts, so every signUp, OAuth, or OTP request returns a 400. Re-enable the "Allow new users to sign up" toggle or clear the same flag in self-hosted deployments to allow account creation again.
0 viewssignup_disabled: Signups are disabled
INTERMEDIATEMEDIUM
How to fix "validation_failed: Input validation failed" in Supabase
The "validation_failed: Input validation failed" error occurs when data being inserted or updated in Supabase fails to meet database constraints, schema validation rules, or data type requirements. This error typically indicates issues with data format, missing required fields, or violations of database constraints like foreign keys, unique constraints, or check constraints.
0 viewsvalidation_failed: Input validation failed
BEGINNERMEDIUM
How to fix 'email_not_confirmed: Email has not been confirmed' in Supabase
Supabase returns "email_not_confirmed: Email has not been confirmed" when you attempt to sign in with an account whose email address has not been verified. The fix is to either disable email confirmation in your auth settings for development, resend the confirmation email to the user, or ensure they have clicked the confirmation link in their inbox.
0 viewsemail_not_confirmed: Email has not been confirmed
INTERMEDIATEMEDIUM
How to fix "insufficient_aal: Higher Authenticator Assurance Level required" in Supabase
Supabase returns this error when a user attempts to access a protected resource without meeting the required Multi-Factor Authentication (MFA) level. Authenticator Assurance Level (AAL) is a security concept that defines how strongly a user has authenticated, and certain operations require higher assurance levels than basic password authentication.
0 viewsinsufficient_aal: Higher Authenticator Assurance L...
INTERMEDIATEHIGH
How to fix "EdgeFunctionError: Boot error" in Supabase
The "EdgeFunctionError: Boot error" occurs when a Supabase Edge Function fails to initialize or start properly. This typically happens due to configuration issues, missing dependencies, syntax errors in the function code, or environment problems that prevent the Deno runtime from successfully booting the Edge Function.
0 viewsEdgeFunctionError: Boot error
INTERMEDIATEHIGH
bad_code_verifier: PKCE flow code verifier does not match
This error occurs during Supabase authentication when the code_verifier stored from the initial PKCE request doesn't match the one sent during token exchange. It typically indicates the code verifier wasn't persisted correctly, or the authentication request was completed on a different browser/device than where it started.
0 viewsbad_code_verifier: PKCE flow code verifier does no...
INTERMEDIATEHIGH
How to fix "PGRST107: Invalid JWT" in Supabase
Supabase surfaces PostgREST’s PGRST107 code whenever it cannot decode or verify the bearer JWT, so the request is rejected before any policies or SQL run. This article walks through inspecting the Authorization header, checking the JWKS/signing key configuration, and refreshing tokens after key rotation.
0 viewsPGRST107: Invalid JWT
INTERMEDIATEMEDIUM
How to fix 'invite_not_found: Invite has expired or already been used' in Supabase
Supabase returns 'invite_not_found: Invite has expired or already been used' when a user attempts to accept an email invitation that is no longer valid. This occurs when the invitation token has expired (default 24-48 hours), has already been redeemed, or was manually revoked. The fix involves resending a fresh invitation, extending the token expiry, or checking for duplicate acceptances.
0 viewsinvite_not_found: Invite has expired or already be...
INTERMEDIATEMEDIUM
How to fix "REALTIME_TIMEOUT: Connection to Realtime server timed out" in Supabase
The "REALTIME_TIMEOUT: Connection to Realtime server timed out" error occurs when Supabase Realtime cannot establish or maintain a WebSocket connection to the realtime server. This typically happens due to network issues, firewall restrictions, browser extensions, or server-side configuration problems. The error prevents realtime features like live subscriptions, presence, and broadcast channels from working.
0 viewsREALTIME_TIMEOUT: Connection to Realtime server ti...
INTERMEDIATEMEDIUM
How to fix "PGRST102: Invalid JSON body" in Supabase
Supabase (PostgREST) returns PGRST102 when the JSON payload sent to a REST endpoint is malformed, contains syntax errors, or violates schema constraints. This error prevents the request from reaching the database and requires fixing the JSON structure before resubmitting.
0 viewsPGRST102: Invalid JSON body
INTERMEDIATEMEDIUM
How to fix "flow_state_not_found: PKCE flow state could not be found" in Supabase
Supabase returns "flow_state_not_found: PKCE flow state could not be found" when the OAuth authorization flow state is missing, expired, or corrupted. This typically happens when users take too long to complete social login, when browser sessions are cleared mid-flow, or when PKCE code verifiers don't match. The fix involves adjusting flow timeouts, preserving session storage, and ensuring consistent PKCE implementation.
0 viewsflow_state_not_found: PKCE flow state could not be...
INTERMEDIATEMEDIUM
How to fix "phone_not_confirmed" in Supabase
This error occurs when attempting to authenticate or perform actions with a Supabase user whose phone number has not been verified via OTP. Users must complete SMS verification before proceeding.
0 viewsphone_not_confirmed: Phone number has not been con...
INTERMEDIATEMEDIUM
How to fix 'identity_not_found: Identity does not exist' in Supabase
Supabase returns 'identity_not_found: Identity does not exist' when attempting to link, unlink, or reference an identity that has been deleted or doesn't exist in the auth.identities table. This typically occurs during OAuth linking operations, user merging, or when identities are manually removed from the database. The fix involves verifying the identity exists, recreating it if needed, and ensuring proper linking procedures.
0 viewsidentity_not_found: Identity does not exist
INTERMEDIATEMEDIUM
How to fix 'bad_oauth_callback: OAuth callback contains an error' in Supabase
Supabase returns 'bad_oauth_callback: OAuth callback contains an error' when the OAuth provider redirects back with an error parameter in the URL. This typically happens when the user denies permission, the OAuth flow times out, or there's a configuration mismatch between your Supabase project and the OAuth provider.
0 viewsbad_oauth_callback: OAuth callback contains an err...
BEGINNERMEDIUM
How to fix "email_provider_disabled: Email signups are disabled" in Supabase
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.
0 viewsemail_provider_disabled: Email signups are disable...
BEGINNERMEDIUM
StorageApiError: Bucket not found
This error occurs when attempting to access a Supabase Storage bucket that does not exist, has an incorrect name, or requires permissions you lack. It commonly appears during file upload, download, or bucket operations when the specified bucket cannot be found or accessed.
0 viewsStorageApiError: Bucket not found
INTERMEDIATEMEDIUM
How to fix "User is managed by SSO" error in Supabase
This error occurs when attempting to update protected user fields for SSO-managed accounts in Supabase. Users authenticated via SAML SSO have immutable email and phone fields controlled by their identity provider.
0 viewsuser_sso_managed: User is managed by SSO, certain ...
INTERMEDIATEHIGH
How to fix "EdgeFunctionRelayError: Relay request failed" in Supabase
This error occurs when there's a network or routing issue between your client and Supabase's edge gateway. The relay layer handles authentication, routing, and traffic management for Edge Functions.
0 viewsEdgeFunctionRelayError: Relay request failed
INTERMEDIATEMEDIUM
How to fix "Cannot delete the only identity" in Supabase
This error occurs when attempting to unlink or delete a user's only authentication identity in Supabase. Users must have at least one identity to maintain account access.
0 viewssingle_identity_not_deletable: Cannot delete the o...
BEGINNERLOW
Resolve Supabase 'same_password: New password must be different'
Supabase rejects password updates where the new password string matches the existing one and responds with "same_password: New password must be different." The API re-authenticates the submitted password before writing, so the request finishes with HTTP 422 whenever both values align.
0 viewssame_password: New password must be different
INTERMEDIATEHIGH
How to fix "mfa_verification_failed: MFA verification failed" in Supabase
The "mfa_verification_failed: MFA verification failed" error occurs when Supabase Auth cannot verify a multi-factor authentication code. This typically happens due to incorrect TOTP codes, timing synchronization issues, expired codes, or rate limiting from too many failed verification attempts.
0 viewsmfa_verification_failed: MFA verification failed
INTERMEDIATEMEDIUM
How to fix 'StorageApiError: You are not authorized' in Supabase
This error occurs when attempting to access Supabase Storage without proper Row-Level Security (RLS) policies or valid authentication. The fix involves creating appropriate RLS policies on the storage.objects table and ensuring your client sends a valid JWT token.
0 viewsStorageApiError: You are not authorized
BEGINNERMEDIUM
How to fix 'otp_disabled: OTP sign-in is disabled' in Supabase
This Supabase Authentication error occurs when you attempt to use one-time password (OTP) authentication without enabling it in your project settings. The fix requires enabling email or phone OTP providers in the Supabase dashboard and properly configuring your authentication flow.
0 viewsotp_disabled: OTP sign-in is disabled
INTERMEDIATEHIGH
How to fix "bad_jwt: JWT sent in Authorization header is not valid" in Supabase
Supabase rejects requests with a bad_jwt error when the JWT token in the Authorization header cannot be validated. This typically happens when using the wrong token type, an expired token, or a malformed JWT structure. This guide shows how to identify and fix JWT validation issues.
0 viewsbad_jwt: JWT sent in Authorization header is not v...
INTERMEDIATEHIGH
How to fix 'not_admin: User is not an admin' in Supabase
Supabase responds with "not_admin: User is not an admin" when you attempt to call an admin-only operation using a regular user JWT instead of a service_role key. Admin operations like createUser, updateUserById, and deleteUser require elevated privileges that bypass Row Level Security and can only be executed on trusted servers with the service_role key.
0 viewsnot_admin: User is not an admin
INTERMEDIATEHIGH
How to fix "Auth hook timed out" in Supabase
This error occurs when a Supabase auth hook exceeds its execution time limit - 2 seconds for Postgres hooks or 5 seconds for HTTP hooks. The authentication flow is interrupted to prevent delays.
0 viewshook_timeout: Auth hook timed out
INTERMEDIATEMEDIUM
How to fix "Refresh token has already been used" in Supabase
This error occurs when Supabase detects a refresh token being reused outside the allowed reuse interval, typically due to race conditions in SSR applications or network issues causing stale tokens to be retried.
0 viewsrefresh_token_already_used: Refresh token has alre...
INTERMEDIATEHIGH
Email address not authorized for sending in Supabase Auth
Supabase Auth restricts email sending to pre-authorized addresses when using the default email provider. This error occurs when trying to send authentication emails to addresses not in your project's authorized list.
0 viewsemail_address_not_authorized: Email sending to thi...
INTERMEDIATEHIGH
Reauthentication required for security-sensitive actions
Supabase requires reauthentication before allowing users to change their password or email address. This security measure prevents unauthorized account modifications when the Secure password change or Secure email change options are enabled.
0 viewsreauthentication_needed: Reauthentication required...
BEGINNERHIGH
How to fix "no authorization header was provided" in Supabase
The Supabase API requires an Authorization header with a JWT token for authenticated requests. This error occurs when requests to protected endpoints, Edge Functions, or Row Level Security policies don't include a valid JWT token in the Authorization header.
0 viewsno_authorization: No authorization header was prov...
INTERMEDIATEMEDIUM
How to fix "Cannot delete identity because of email conflict" in Supabase
This error occurs when unlinking an identity would cause a user's account to switch to an email address that's already in use by another user. Supabase enforces unique email addresses across all user accounts.
0 viewsemail_conflict_identity_not_deletable: Cannot dele...
INTERMEDIATEHIGH
How to fix 'otp_expired: OTP has expired' in Supabase
Supabase returns "otp_expired: OTP has expired" when you attempt to verify a one-time password (OTP) that has exceeded its expiration window. By default, OTP codes are valid for 1 hour. The fix is to request a new OTP, check your configuration for timeout settings, or verify you are using the correct OTP type parameter in your authentication call.
0 viewsotp_expired: OTP has expired
INTERMEDIATEHIGH
How to fix 'bad_oauth_state: OAuth state parameter missing' in Supabase
This error occurs during Supabase OAuth authentication when the state parameter used for CSRF protection is missing, invalid, or doesn't match between the initial request and OAuth provider callback. It typically indicates a session mismatch, hostname misconfiguration, or cookie persistence issue.
0 viewsbad_oauth_state: OAuth state parameter is missing ...
INTERMEDIATEMEDIUM
How to fix "mfa_challenge_expired: MFA challenge has expired" in Supabase
The "mfa_challenge_expired: MFA challenge has expired" error occurs when you attempt to verify a multi-factor authentication challenge that has exceeded its validity window. Supabase challenges have a limited lifetime (typically 5-10 minutes), and verification requests submitted after expiration are rejected, requiring you to create a new challenge.
0 viewsmfa_challenge_expired: MFA challenge has expired
INTERMEDIATEHIGH
How to fix "mfa_factor_not_found: MFA factor could not be found" in Supabase
The "mfa_factor_not_found" error in Supabase occurs when attempting to challenge, verify, or manage an MFA factor that doesn't exist or is no longer available. This typically happens during incomplete enrollments, page refreshes before verification completes, or when trying to use an unenrolled factor ID.
0 viewsmfa_factor_not_found: MFA factor could not be foun...
INTERMEDIATEHIGH
How to fix "mfa_factor_name_conflict: MFA factor name is already in use" in Supabase
The mfa_factor_name_conflict error occurs when you try to enroll a new MFA factor with a friendly name that's already in use by another factor for the same user. This happens because Supabase enforces unique friendly names to help users distinguish between multiple authentication methods.
0 viewsmfa_factor_name_conflict: MFA factor name is alrea...
INTERMEDIATEHIGH
How to fix "Captcha verification process failed" in Supabase
The CAPTCHA verification failed during Supabase authentication, typically because the CAPTCHA token was not passed correctly to the auth request or the token has expired. Ensure your frontend is passing the captchaToken in the options parameter and that your Supabase CAPTCHA provider keys are correctly configured.
0 viewscaptcha_failed: Captcha verification process faile...
BEGINNERHIGH
How to fix "invalid_credentials: Login credentials are incorrect" in Supabase
This error occurs when Supabase Auth fails to authenticate a user due to invalid email or password. The error intentionally doesn't distinguish between wrong passwords and non-existent users for security reasons.
0 viewsinvalid_credentials: Login credentials are incorre...
INTERMEDIATEMEDIUM
How to fix "database conflict usually related to concurrent requests" in Supabase
This error occurs when multiple simultaneous requests try to modify the same database rows. Supabase uses PostgreSQL's SERIALIZABLE isolation level, which detects these conflicts and rejects one transaction to maintain data integrity.
0 viewsconflict: Database conflict, usually related to co...
INTERMEDIATEMEDIUM
How to fix "phone_exists" in Supabase
This error occurs when attempting to sign up, link, or update a phone number that is already associated with another user account in Supabase Auth. This can happen during signup, MFA enrollment, or when updating user phone numbers.
0 viewsphone_exists: Phone number already exists
BEGINNERHIGH
How to fix "provider_disabled: OAuth provider is disabled for signup" in Supabase
Supabase throws this error when you attempt OAuth signup with a provider that hasn't been enabled in your project settings. Enable the provider in the Supabase dashboard and verify credentials are correct.
0 viewsprovider_disabled: OAuth provider is disabled for ...
BEGINNERMEDIUM
StorageApiError: Resource already exists
This error occurs when attempting to upload a file to Supabase Storage at a path where a file already exists. By default, Supabase rejects file uploads that would overwrite existing resources. The solution is to enable the upsert option to allow file replacement or delete the existing file first.
0 viewsStorageApiError: resource_already_exists
INTERMEDIATEHIGH
Permission denied for table (RLS error)
PostgreSQL error 42501 indicates insufficient privileges to access a table, commonly caused by missing RLS policies, incorrect grants, or authentication issues in Supabase. This error occurs when your application tries to read, insert, or update data without proper permissions configured.
0 views42501: Permission denied for table/schema (RLS err...
BEGINNERMEDIUM
StorageApiError: Invalid key
This error occurs when attempting to upload a file or access an object in Supabase Storage with an invalid file path. Common causes include special characters in the file name, empty path strings, non-ASCII characters that get URL-encoded, or structural issues in the path format.
0 viewsStorageApiError: Invalid key
INTERMEDIATEHIGH
More than one row returned by a subquery in Supabase
This error occurs when a scalar subquery in your SQL query returns multiple rows instead of the expected single row. In Supabase, this commonly happens during INSERT/UPDATE operations with triggers, RLS policies, or computed columns.
0 viewsPGRST116: More than one row returned by a subquery...
INTERMEDIATEHIGH
User has enrolled too many MFA factors
Users can enroll up to 10 MFA factors in Supabase Auth. When this limit is reached, attempting to enroll another factor fails with the 'too_many_enrolled_mfa_factors' error. This commonly happens when users cancel enrollment flows, leaving unverified factors that count toward the limit.
0 viewstoo_many_enrolled_mfa_factors: User has enrolled t...
INTERMEDIATEMEDIUM
How to fix "PGRST118: Could not find function" in Supabase
The "PGRST118: Could not find function" error occurs when you attempt to call a PostgreSQL function via Supabase's PostgREST API, but the function cannot be found in the schema cache. This typically happens after creating a new function, due to schema cache not being refreshed, or when the function lacks proper permissions.
0 viewsPGRST118: Could not find function
INTERMEDIATEMEDIUM
How to fix "REALTIME_DISCONNECT: Websocket disconnected from Realtime server" in Supabase
The "REALTIME_DISCONNECT: Websocket disconnected from Realtime server" error occurs when a WebSocket connection to Supabase Realtime unexpectedly closes. This can happen due to network interruptions, server-side timeouts, authentication token expiration, or quota limits. Implementing proper reconnection logic with exponential backoff is essential for maintaining reliable realtime features.
0 viewsREALTIME_DISCONNECT: Websocket disconnected from R...
BEGINNERHIGH
How to fix "23503: Foreign key violation" in Supabase
A foreign key constraint violation (error 23503) occurs when you try to insert or update a record with a reference that doesn't exist in the parent table. In Supabase, this PostgreSQL error prevents orphaned data and maintains database integrity.
0 views23503: Foreign key violation
BEGINNERHIGH
How to fix "42P01: Undefined table" in Supabase
PostgreSQL error 42P01 occurs when you query or reference a table that doesn't exist in your database. Fix it by verifying the table name spelling, checking the schema, running migrations, or quoting identifiers for case-sensitive names.
0 views42P01: Undefined table
INTERMEDIATEHIGH
How to fix "EdgeFunctionError: Function not found" in Supabase
This error occurs when a request is sent to a Supabase Edge Function that doesn't exist, hasn't been deployed, or the URL is incorrect. It typically returns a 404 HTTP response with error code EF002.
0 viewsEdgeFunctionError: Function not found
BEGINNERMEDIUM
How to fix "PGRST103: Invalid Range" in Supabase
The PGRST103 error (HTTP 416: Range Not Satisfiable) occurs when you request a data range using .range() or pagination parameters that exceeds the available rows in your Supabase table. This guide walks through validating pagination bounds, fetching total counts before querying, and handling out-of-bounds requests gracefully.
0 viewsPGRST103: Invalid range
BEGINNERMEDIUM
How to fix "weak_password: Password does not meet minimum requirements" in Supabase
This error occurs when you attempt to create or update a user password in Supabase Auth that doesn't meet the configured password strength requirements. Your password may be too short, lack required character types, or be a known compromised password.
0 viewsweak_password: Password does not meet minimum requ...
INTERMEDIATEHIGH
How to fix "session_not_found: User session not found" in Supabase
The "session_not_found" error occurs when Supabase Auth detects that the session ID in your JWT token no longer exists in the auth.sessions table. This typically happens due to session expiration, token refresh failures, or URL mismatches between your Supabase configuration and frontend application.
0 viewssession_not_found: User session not found