If you’re using the Frappe Framework and creating custom workspaces, this is something to know.

During bench migrate, Frappe can delete your workspaces automatically.

When it happens

A workspace will be removed if all of this is true:

  • public = 1
  • module is set
  • app is set
  • no matching JSON file exists in any installed app

Frappe scans app folders for workspace files. If it doesn’t find one, it treats the workspace as orphaned and deletes it.

Typical scenario

You create a workspace from the UI, it works fine.

Later you run:

bench migrate

After that, the workspace is gone.