Supabase CLI v2.106.0 — 2026-06-11
This release tightens database and deployment workflows, adds Git branch linking to Supabase branches, improves CLI behavior for coding-agent environments, and continues moving core commands into the TypeScript CLI shell.
⚠️ Breaking change
- New
publicschema objects are no longer exposed through the Data API by default —[api].auto_expose_new_tablesnow resolves tofalsewhen unset, matching the new hosted-project default. Local start/reset flows revoke the default Data API privileges for newly-created tables, sequences, and functions inpublic. Projects that still rely on the legacy auto-expose behavior can temporarily setauto_expose_new_tables = trueinconfig.tomlwhile migrating, but the flag is deprecated and scheduled for removal on 2026-10-30. The durable migration path is to add explicit SQLGRANTs for theanon,authenticated, andservice_roleroles that should access each object. (#5524)
Highlights
- Function deployments now retry rate limits — Transient rate-limit responses no longer immediately fail
functions deploy; the CLI retries automatically. (#5534) - Declarative schema sync handles the platform baseline for you —
supabase db schema declarative sync --applynow provisions and records the required platform baseline automatically, so new declarative projects need less manual setup before their first apply. (#5515, #5521) - Supabase branches can be linked to Git branches at creation time — Use
supabase branches create --git-branch <branch>to associate a Supabase branch with the matching Git branch immediately. (#5250)
CLI automation
- Detected coding-agent invocations default to JSON — When the CLI detects a coding-agent environment, or when
--agent yesis passed, commands default to JSON output unless the user explicitly requested another output mode, help, or version text. Use--agent noto keep human-oriented text output. (#5532)
Database workflows
db pullskips unnecessarypg_dumpwork when the pg-delta diff engine can use the on-disk declarative catalog directly. (#5255)
Bug fixes
- Missing custom-hostname validation records and missing SSO SAML IDs no longer crash the CLI. (#5485, #5543)
- Vector storage setup now degrades cleanly: unavailable local vector storage is skipped, and remote bucket failures produce warnings instead of silent failures. (#5508, #5535)
- Channel selection from
--experimentalorSUPABASE_CHANNELis preserved when TypeScript commands delegate to the Go proxy. (#5546) - Legacy telemetry opt-out state and Go debug output parity were restored in the TypeScript shell. (#5465, #5467)
TypeScript port progress
- Now served by the TypeScript shell:
bootstrap,config push,functions delete,functions download,gen signing-key,gen types, andservices. Behavior remains aligned with the Go CLI while these commands move into the new implementation. (#5470, #5489, #5501, #5514, #5527, #5468)
Plus release workflow hardening, CI updates, generated API syncs, and dependency updates across Docker images, Go modules, and npm packages.
Full changelog: v2.105.0...v2.106.0