Supabase Not Working? Common Errors & Fixes
The 12 Supabase problems users hit most often, why they happen, and the fixes that actually work — collected from user reports, forums, and official support docs.
Supabase Project Paused
Workaround availableDashboard (all platforms)Free-plan projects are paused after 7 days of low activity. Click 'Resume project' in the dashboard to bring it back with data intact; upgrade to Pro (or keep it active) to stop it happening.
Supabase Max Client Connections Reached
Workaround availableWeb, server (all SDKs)The app opened more connections than your compute size or pooler allows. Switch to the transaction pooler (port 6543), lower the client connection limit, or upgrade compute.
Supabase 'New Row Violates Row-Level Security Policy' Error
Workaround availableWeb, server (all SDKs)RLS is on but no policy allows the write. Add an INSERT (or UPDATE) policy with a WITH CHECK that matches the row, plus a SELECT policy if you return the inserted row.
Supabase Confirmation Email Not Sending
Workaround availableWeb, server (all SDKs)The built-in email service is rate limited to a few emails per hour and meant for testing. Set up custom SMTP (Resend, SendGrid, Mailgun) and raise the rate limit.
Supabase Auth Redirects to Localhost
Workaround availableWeb, server (all SDKs)Supabase falls back to the Site URL when redirectTo isn't in the allowlist. Set the Site URL to your production domain and add every app URL to Redirect URLs.
Supabase 'Invalid Refresh Token: Refresh Token Not Found'
Workaround availableWeb (Next.js, SSR frameworks)Refresh tokens are single-use; if middleware refreshes the session but doesn't write the new cookie back, the next request uses a dead token. Return the response object your cookie setAll modified.
Supabase Edge Function 546 WORKER_LIMIT Error
Workaround availableEdge Functions (Deno)Error 546 means the function exceeded its CPU (2 s) or memory (250 MB) budget or wall-clock limit. Check function logs for which limit was hit and split or optimize the work.
Supabase Storage Upload Failed
Workaround availableWeb, server (all SDKs)Most upload failures are a missing INSERT policy on storage.objects, a file larger than the bucket limit (413), or an invalid key/MIME type (400).
Supabase 'Canceling Statement Due to Statement Timeout'
Workaround availableWeb, server (all SDKs)The query ran longer than the role's statement_timeout (API roles default to a few seconds). Add indexes and optimize the query first; raise the timeout for the role only if needed.
Supabase Realtime Not Working
Workaround availableWeb, server (all SDKs)Usually the table isn't added to the supabase_realtime publication or RLS hides rows from the subscriber. Enable the table for Realtime and make sure the user has a SELECT policy.
Supabase Database Connection 'Network Is Unreachable'
Workaround availableServer, CI, local toolsThe direct host db.<ref>.supabase.co is IPv6-only. Use the Session or Transaction pooler connection string (IPv4) from the Connect dialog, or buy the IPv4 add-on.
Supabase Start Not Working (Docker Container Unhealthy)
Workaround availablemacOS, Windows, Linux (CLI)Local 'supabase start' failures are usually leftover containers, port conflicts or an unsupported Docker runtime. Stop everything, remove stale containers and retry with --debug.
Problem not listed? See all Supabase complaints or compare Supabase alternatives.