On October 30, 2026 , existing Supabase projects stop auto-granting privileges on new tables in the public schema. Source: Supabase changelog .
What that means in practice:
Existing tables are not affected. They keep their current grants and stay reachable.
New tables in public created after the change without a GRANT return Postgres error 42501 , permission denied for table , through the Data API (supabase-js, REST, GraphQL). RLS policies don't help, because Postgres checks grants before RLS.
Direct Postgres connections, and the auth and storage schemas, are not part of this change.
The fix, if you just want the SQL
Put the grants in the same migration as the table and its policies, least privilege:
alter table public . your_table enable row level security ; grant select , insert , update , delete on table public . your_table to authenticated ; grant select , insert , update , delete on table public .…