Cloning projects

Duplicate a project into a fresh copy — new name, visibility, and how Supabase reuse works.

Cloning makes a new project that starts from the current state of an existing one — its own history, chat, and published URL. This guide walks through the clone dialog and the decisions it asks you to make.

When to clone

  • You want to try a risky change without losing the current project
  • You want to branch the app in two directions
  • You want to keep the current version around as a reference while you experiment

Open the clone dialog

From the Projects list, open the menu on a project card and pick Clone. Inside the workspace, open the project-name dropdown in the top-left and pick Clone.

The clone dialog has three controls.

Pick a name

The Name field is optional. Leave it blank and the clone is named <original name> Clone. Set your own name to override.

Pick visibility

Toggle between Public (anyone with the link can view) and Private (only you can view).

Private requires an active subscription. On the free plan the toggle appears, but switching to private will not stick.

Handle Supabase (if the source uses it)

If the source project has a connected Supabase project, the dialog asks you to pick a Supabase project for the clone to use. Layout reapplies the source's migrations against the project you select.

Pick a blank Supabase project to avoid migration conflicts. Applying the source's migrations on top of an existing schema can fail or corrupt data.

If the source has migrations but no live Supabase connection, the dialog also shows the Supabase step so the clone's database matches.

Click Clone Project. Layout creates the copy and opens it in the workspace. The original is untouched.

What "blank project" means

A blank Supabase project is one with no tables, no data, and no prior migrations. Either:

  • Create a new Supabase project from the picker in the dialog, or
  • Pick an existing Supabase project you know is empty

If you pick a project that already has tables, Layout's migrations run on top of them, and the AI's schema assumptions may collide with what is already there.

What gets cloned

  • All source files and the project structure
  • The prompt and chat history at the point of clone
  • Version history up to the current version
  • The project category and metadata

What does not get cloned

  • The published subdomain. The clone is unpublished. You pick a new subdomain when you publish the clone.
  • Rows in the original Supabase database. Cloning reapplies the schema; it does not copy data.
  • External state. Anything you wired up outside Layout — DNS, third-party accounts, webhooks — stays pointed at the original.

After cloning

The clone is a fresh project. Rolling back in the clone does not affect the original. Publishing the clone gives it its own URL. Delete it later with no impact on the source.

On this page