Rowpass 42501: permission denied for table Not affiliated with Supabase

Rowpass / Guides

New Supabase table not showing in the API

Two checks tell you if the grant is missing. Then fix it below.

Check 1: what does the table grant right now?

Run this in the SQL Editor with your table name:

select grantee, privilege_type
from information_schema.role_table_grants
where table_name = 'your_table';

If anon and authenticated are not in the result, the Data API cannot reach the table for visitors or signed-in users.

Check 2: what will future tables get?

select
  case d.defaclobjtype
    when 'r' then 'tables'
    when 'S' then 'sequences'
    when 'f' then 'functions'
  end as object_type,
  a.grantee::regrole as role,
  string_agg(a.privilege_type, ', ' order by a.privilege_type) as privileges
from pg_default_acl d
cross join lateral aclexplode(d.defaclacl) a
where d.defaclrole = 'postgres'::regrole
  and d.defaclnamespace = 'public'::regnamespace
  and a.grantee in ('anon'::regrole, 'authenticated'::regrole, 'service_role'::regrole)
group by 1, 2
order by 1, 2;

Each row is a role and the privileges it receives on new objects that the postgres role creates in public. No rows means new tables grant nothing to the API roles until you do it yourself.

Read the symptom

What you seeLikely causeFix
42501, permission denied for table xNo grant for the calling roleGrant, then RLS and policies (tool below)
Empty result, no errorGrant exists, RLS is on, no policy allows the rowsAdd a policy for that role
42501 with a row-level security message on insert or updateGrant exists, policy rejects the new rowFix the with check rule
42501, permission denied for sequence xTable is granted, its serial sequence is notGrant the sequence

Dates are from the Supabase changelog post published 2026-04-28, read 2026-11-10. We have not seen an official post confirming that the 2026-10-30 step finished for every project, so check your own project with the query on this page.

Write the fix for your tables

One table is free. The whole schema with a rollback file is $9 one-time, free during launch.

 

Waiting for a paste.

    Who can reach each table

    Your tables show up here, one row each, with a choice of who can reach them.

    The SQL appears here as soon as a table is found.

    Parsed in your browser. Your SQL is never uploaded, and no site or database is scanned.

    Questions

    I created the table in the Table Editor. Does that grant access?

    The changelog says the rule holds no matter how the table was created: SQL Editor, migrations, Management API, MCP, CLI or a coding tool. We have not tested what the dashboard offers at creation time, so run check 1 to be sure.

    Sources

    Related

    Did it fix your error?