I'm trying to create a scratch org with the following definition so that Person Accounts:

    "orgName": "Company",
    "edition": "Developer",
    "orgPreferences" : {
        "enabled": ["PersonAccounts"]

According to the documentation: https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_scratch_orgs_def_file_config_values.htm this is a supported feature.

However, when I try running:

sfdx force:org:create -f config/project-scratch-def.json

I get:

ERROR:  Unsupported org preference: PersonAccounts.

Anyone know how to get this working?

2 Answers 2


Ended up realizing orgPreferences are different than features. So the definition ended up looking like this:

    "orgName": "Company",
    "edition": "Enterprise",
    "features": ["PersonAccounts"]

Be warned, however, that packaging and source:push/pull do not work for any org if the source contains customizations specific to Person Accounts.

I guess you have to deploy the source with meta-data API, but as far as I know you can not use the SFDX to package:version & install anything that contains Person Accounts - Related source (i.e. RecordTypes in a PersonAccount - Folder or Source that references __pc fields).

  • J. Lietzau, Do you encounter this issue even if you specify this scratch org definition file in the --definitionfile argument of package:version:create? Dileep
    – Dileep
    Commented Dec 2, 2018 at 1:21

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .