Skip to content

flutterflow ai branch create silently creates an empty project instead of refusing when branching is not in the plan #7410

Description

@Altranovo

Can we access your project?

  • I give permission for members of the FlutterFlow team to access and test my project for the sole purpose of investigating this issue.

Current Behavior

flutterflow ai branch create exits 0 and reports success on an account whose plan does not include branching. The project it creates is empty and is not a branch of the source project.

$ flutterflow ai branch create dsl-i18n-test
Created branch "dsl-i18n-test" (project_id=ozbLZ1VnKPu4RwUt6l4s).
Checked out "dsl-i18n-test".

Inspecting the new project:

Project: blank (ozbLZ1VnKPu4RwUt6l4s)
Pages (1):
HomePage
Components (0):
Collections (0):
Enums (0):
Data Structs (0):
App State (0):

The source project has 25 pages, 8 components, 1 data struct and 34 app state variables. The new project is a fresh blank project — it is not even named after the source; it is called "blank".

The part that makes this dangerous is the metadata. The branch reports itself as being at main's exact head commit, and clean:

$ flutterflow ai branch list
[main] (MEEF4lwiwvLj1p7UptX0)

  • dsl-i18n-test (MEEF4lwiwvLj1p7UptX0)

$ flutterflow ai branch status
Active branch: dsl-i18n-test
Project ID: ozbLZ1VnKPu4RwUt6l4s
Local head: MEEF4lwiwvLj1p7UptX0
Server head: MEEF4lwiwvLj1p7UptX0
Dirty: no

Same commit id as main, and Dirty: no. Any client or human trusting this metadata concludes the branch is a faithful copy of a 25-page project. It contains one empty page.

The client side appears correct: the SDK sends sdkCreateBranch with source_project_id (flutterflow_ai_client.dart:370). The defect looks server-side.

Confirmation that branching is not in this plan: in the builder, Version Control → Branching Options contains only "Create Commit" — there is no "Create Branch" entry. The Snapshots tab states "In your current plan, you can only view 1 day of snapshots. Upgrade your plan to view more."

Expected Behavior

The endpoint should reject the request — HTTP 403 or 402 with a plan-upgrade message — and the CLI should exit non-zero and create nothing.

Returning an empty project carrying the source project's commit id is worse than any error message, because it defeats every check a careful user would make. A user who believes they have an isolated branch will do real work in the empty project and lose it, or will assume main has been safely copied and act destructively on main. It also silently consumes project slots.

Steps to Reproduce

  1. Use an account on a plan that does not include branching (verify: in the builder, Version Control → Branching Options shows only "Create Commit", with no "Create Branch" entry).
  2. Have a non-trivial project. Ours is blank-phighh ("Altranovo"): 25 pages, 8 components, 1 data struct, 34 app state variables.
  3. In a workspace created with flutterflow ai init against that project, run:
    flutterflow ai branch create dsl-i18n-test
  4. Observe that the command exits 0 and prints "Created branch ... Checked out ...".
  5. Inspect the new project — it has 1 page (HomePage), 0 components, 0 collections, 0 enums, 0 data structs, 0 app state variables, and is named "blank".
  6. Run flutterflow ai branch list and flutterflow ai branch status. Observe that the new branch reports the SAME head commit id as main and Dirty: no.

Reproduced twice, including with an explicit source commit:

Command Resulting project_id Contents
flutterflow ai branch create dsl-i18n-test ozbLZ1VnKPu4RwUt6l4s 1 page, 0 of everything else
flutterflow ai branch create dsl-i18n-test2 --from MEEF4lwiwvLj1p7UptX0 I3ZkpbHS9ViypRmzK6dX 1 page, 0 of everything else

This is not a propagation race. Both projects were re-inspected several minutes later and were still empty.

Reproducible from Blank

  • The steps to reproduce above start from a blank project.

Bug Report Code (Required)

ITEelsn1z4pNj7xH1brUd8JFqwMwGkQ5a7sviu5+FBQaI+PvE+wxPuOlXFdvWOqHSlZ5fFGYp3Id/vz5vtrLU/JcFEiBbJQ++btTUxDjUk66aJSWDpewQmpAM8FRFX6+37ukkCN4XcZsdFpg3UOIHPOQa3qCf9qOYwx5e6fDbOY=

Visual documentation

Image

Environment

- FlutterFlow v7.0.72 (released August 19, 2026), Flutter 3.38.6
- FlutterFlow AI CLI (`flutterflow`), run from Terminal.app on macOS
- Project: blank-phighh ("Altranovo") — 25 pages, 8 components, Supabase backend
- Account plan does not include branching, snapshots beyond 1 day, or Pinned FlutterFlow Version
- Builder used in Chrome

Additional Information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    status: needs triageA potential issue that has not been confirmed as a bug.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions