Skip to content

Troubleshooting

Search or browse our troubleshooting guides for solutions to common Supabase issues.

Don't have a specific error yet? Start with Detecting to pick up a signal first. If you already have one, confirm one cause before you change anything:

  1. Capture the exact HTTP status, error code, and message. A 401 is not a 403; PGRST002 is not PGRST106. If you use supabase-js, errors are returned in { data, error }, not thrown. Inspect error; ignoring it hides the failure.
  2. Query the log source for that layer. When two layers could fit, start closer to the database.
  3. Search below for that error. Each article confirms one cause, applies one fix, and tells you how to verify it.
  4. Re-run the failing operation. Keep the change only when the original symptom is gone. If verification fails, reverse the change and look again.

For client-side or local debugging, see Auth error codes, Storage logs, and Edge Functions debugging tools.

Escalate to Support when you cannot access the diagnostic source, the evidence points to a platform failure, or a safe fix needs a permission you do not have. Include the project reference, timestamp with time zone, error code, request ID, and sanitized evidence. Do not include passwords, API keys, or personal data.

Matching troubleshooting entries