Supabase CLI v3: commands now run locally unless you add --remote, and hosted changes need --yes in CI (November 2026)
Supabase CLI v3 targets the local stack by default, asks before changing a hosted project and renames [inbucket] to [local_smtp].
What you get
Supabase released CLI v3.0.0 on November 2, 2026, and since November 3 brew install supabase installs it. Supabase announced it as a breaking change on November 4. Anything that installs the CLI without a pinned version, such as a CI job or an AI coding agent, may already be on v3.
- Local by default:
db push,db pull,db dump,migration list,gen typesand thestoragecommands now target the local stack unless you pass--remote.--remotereplaces--linked,--project-refand--db-url, which still work but are deprecated. - Hosted changes ask first: commands that change a hosted project ask for confirmation, defaulting to No. In CI they fail with
HostedMutationConsentRequiredErrorunless you pass--yes. Pipingyinto a command no longer confirms it. - Config:
[inbucket]insupabase/config.tomlis now[local_smtp], andsupabase startfails on the old name. Flags and environment variables now win overconfig.toml, including[remotes.<name>]blocks. - Other changes: pg-delta is the default diff engine, so
db diffanddb pullmay write different SQL.secrets unsetneeds--allto remove every secret. Deprecated commands and flags are removed: running one exits with code 1 and prints its replacement. The CLI ships as onesupabaseexecutable;supabase-gois no longer installed.
Hosted projects, their data and self-hosted Supabase are not affected.
Prerequisites
- A project that uses the Supabase CLI (locally, in CI or through an AI coding agent)
Steps
- Update to the latest v2 release first and run your workflows, including CI. v2.122.0 and later warn about removed items and changed defaults; fix each warning.
- Rename the section in
supabase/config.toml(and any block). The keys inside stay the same:
