← /connect/

Connect Codex to Supabase

Point Codex at a Supabase table as a folder. Tell it the change, read the result like a pull request, and keys, schemas, and auth stay locked. Nothing writes back until you approve it. No MCP. See it run on your content → or download it free

Codex already lives in your terminal, a few keystrokes from the database. The difference between Codex on a Scratch folder and a psql session pointed at production is that one shows you the diff first. The pass you want, trim every blurb to 60 words and fill the empty meta_description, should be a diff you read, not a raw UPDATE you run and hope about.

Scratch pulls a table down, one file per row. Codex edits the prose columns on your laptop and reports back like a code change; Scratch shows each one as a diff; it commits only the rows you approve, through the standard Postgres driver. Keys, constraints, and the auth and storage schemas stay untouched.

How it works

  1. Scratch pulls a table into files. Pick a table and each row becomes a local file on your laptop, prose columns laid out to edit.
  2. Codex edits the rows. Point Codex at the Scratch folder and describe the change. It works the table the way it works a codebase, and you read the result like a pull request. Rewrite every product blurb to under 60 words and fill the empty meta_description column. Codex works the files, never the live table.
  3. You review every diff and publish. Scratch shows each changed column beside the original, word by word. Approve what holds up, and Scratch updates only those rows through the Postgres driver.

What people use it for

The content edits that turn into hand-written SQL because there is no CMS in front:

Run it on 50 rows to feel the loop, then turn it loose on the table.

Why not an MCP server?

A Supabase MCP server, or a service-role script, hands Codex a live connection to your database. One bad query rewrites every row at once, with no review in between and Row-Level Security bypassed.

Scratch gives Codex the same full read and write access against a local copy instead. The write-back is lifted out and handed to you. Codex can change anything; only you can commit it. On a production database, that gap is the whole point.

What Codex edits in Supabase

Primary keys, foreign keys, timestamps, computed columns, and check constraints stay where they are. The auth and storage schemas are excluded from discovery, so user accounts and uploaded files are out of scope, and validators enforce your column constraints so Codex cannot write a value the database would reject. The full picture lives on Scratch for Supabase.

Questions people ask

Is this an MCP server or a direct database connection?

Neither. An MCP or a service-role script hands Codex a live write path to your database. Scratch keeps it. Codex gets the same access, and writing back is a separate step you approve, one row at a time.

Does it change my schema or my keys?

No. Primary keys, foreign keys, timestamps, computed columns, and check constraints stay locked, and the auth and storage schemas are excluded entirely. Codex edits content columns only, and validators reject anything the database would.

Can I roll a change back after it writes?

Yes. Scratch keeps the original beside the rewrite, so every written row reverts per row. You decide which version stays.

How is this different from a raw UPDATE or a migration?

A hand-written UPDATE does exactly what you spelled out and nothing smarter, and it writes straight to the live table with no row-by-row review. Codex handles the rows a single statement cannot, and Scratch still holds every change for review before it commits.

Can it run across a whole table from one prompt?

Yes, that is the use case. Run it on 50 rows to feel the flow, then point it at the whole table.

Do I need to be technical?

Connecting Supabase takes a connection string, which is a developer step. After that the loop is the same as any Scratch source: run Codex on the folder, then approve the diffs.

See it on your own table

The fastest way to trust it is to watch it run on your data. See it run on your Supabase tables →, or download Scratch free and take the first pass yourself.

See it run on your own content.

Curtis runs these calls himself. Thirty minutes, no pitch, no slides. He connects your platforms live and shows you your content as an editable, reviewable diff. Bring anything sticky: a refresh, a migration, or a rebrand.

See it run on your content → or download it free