Skip to content

Set up Supabase for every Expo environment in one command

10 Nov 2026

·

4 minute read

Supabase is available as an integration in the EAS CLI. Run eas integrations:supabase:connect in an Expo project, and it creates a Supabase project, installs the SDK, and writes your keys to every Expo environment. The next build and the next update have a working backend, with no trip through the Supabase Dashboard.

Expo is the open source framework and cloud platform that 80% of React Native developers use to build, ship, and update their apps from one codebase. Supabase has been the database behind a large share of those apps for years. Expo's team built this integration so connecting the two is a step the CLI runs rather than a guide a developer follows.


_10
eas integrations:supabase:connect

Setup is one step#

Every new Expo app on Supabase used to start the same way. You created a project in one dashboard, found the keys, pasted them into the other, installed the SDK, and checked that preview and production ended up with the right values. The command does all of that in one pass, from authorizing your Supabase account to writing the keys into Production, Preview, and Development on Expo. The setup work between starting a project and writing the first screen is gone. And since one command writes the keys to every environment, there's nothing left to keep in sync by hand.

Preview builds get their own database#

A Supabase project holds one environment's data, so the integration gives each Expo environment its own. Add --environment preview and Preview gets a separate project with separate keys while Production keeps the first one. Preview builds and over-the-air updates work against preview data, and production data is untouched. Development can point at a local Supabase stack on your machine. The boundary is in place from the first build, and the tooling enforces it.

Security findings in your build logs#

Supabase Security and Performance Advisors run from the EAS CLI, and their findings appear in the Expo build dashboard for connected projects. A table with Row Level Security disabled, or a foreign key without an index, shows up next to the build logs for the change that introduced it, before the build reaches store review.

Built for agents as much as developers#

Every command in the integration runs without prompts and returns JSON, so an agent scaffolding a new app can set up its backend in the same pass.

The teams getting the most out of Expo and Supabase together already work this way:

Quilia builds a client app for personal injury law firms, used by tens of thousands of people and maintained by one developer with a triage agent in the loop. The agent reads production through a read-only Supabase MCP server, fixes bugs against a development project, and ships several fixes a day through Expo Update. Most of them land before anyone reports the problem, and branches test the migrations in CI before anything merges.

More than a database#

The project the CLI creates is the same full backend every Supabase app gets, so the features users expect from a mobile app are a configuration step away rather than a build. Users can sign in with Apple or Google and come back through a magic link that opens the app. They can upload a photo and only see the files they're allowed to see. A screen updates when the data behind it changes, and a push notification goes out when a row does. All of it runs on the Auth, Storage, Realtime, and Edge Functions already in the project, through the client the CLI installed.

Why Expo built Supabase into the EAS CLI#

Just about every new Expo app uses Supabase as a backend. We wanted getting there to take one command: eas integrations:supabase:connect creates the project, installs the SDK, and writes the keys into your EAS environment. Each environment can get its own Supabase project, so preview builds never touch production data.

— Joe Ryan, CRO, Expo

Get started#

Build in a weekend, scale to millions