sincecutoff.com
← all changes

Supabase CLI hosted mutation consent and target reporting

Introduced 2026-11-02 · score 0.97

HOW TO USE IT

When a Supabase CLI command mutates a hosted project in an unattended run, pass `--yes`. Use the target report on stderr and the JSON `target` field to identify the resolved target.

supabase db push --remote --yes
supabase functions deploy <function-name> --prune --yes

WHY THIS HELPS

Run Supabase CLI commands in CI or other unattended workflows that mutate hosted projects.

BEFORE THIS CHANGE

Use the per-command cancelled error codes when consent is declined; declining `db pull` or `pull` could write files.

REQUIREMENTS AND LIMITATIONS

  • Version: v3.0.0
  • Non-interactive: Without `--yes`, unattended hosted mutations fail with `HostedMutationConsentRequiredError`; a declined mutation fails with `HostedMutationDeclinedError`. A piped `y` or `SUPABASE_YES` from a working-directory env file does not confirm. Target-resolving commands print `Target: …` on stderr; JSON object results and error envelopes include a `target` object.
  • --yes: Answer yes to all prompts; needed for unattended hosted mutations.
  • --remote: Select the linked hosted project as the target.
  • --prune: Delete deployed functions absent locally; runs even if all functions are up to date.
  • Commands changing hosted projects ask for confirmation and fail unattended unless `--yes` is passed.
  • Only `projects`, `branches`, `orgs` and `domains create`, and `bootstrap`, default to Yes.
  • A `y` piped on stdin no longer confirms; `SUPABASE_YES` in a `.env` file no longer counts. If an env file in the working directory defines `SUPABASE_YES`, a shell-exported value does not count either.
  • Declining `db pull` or `pull` writes no files.
  • `db reset` changes its JSON `target` from a string to an object; `config push` JSON drops `declined_addons` and its skipped status.

FIRST-PARTY EVIDENCE

Check the installed version and the source before using it. Entry JSON

Report a problem with this card