Considerations for Salesforce DX (Beta)

Here are some known issues you might run into while using Salesforce DX.


This release contains a beta version of Salesforce DX, which means it’s a high-quality feature with known limitations. Salesforce DX isn’t generally available unless or until Salesforce announces its general availability in documentation or in press releases or public statements. We can’t guarantee general availability within any particular time frame or at all. Make your purchase decisions only on the basis of generally available products and features. You can provide feedback and suggestions for Salesforce DX in the Salesforce DX Beta group in the Success Community.

Salesforce DX CLI

Limited Support for Shell Environments on Windows
Description: Salesforce CLI is tested on the Command Prompt (cmd.exe), Powershell, and Windows Subsystem for Linux (WSL) for Ubuntu. There are known issues in the cygwin and Min-GW environments. These environments might be tested and supported in a future release. For now, use a supported shell instead.

Workaround: None.

The force:apex:test:run Command Doesn’t Finish Executing
Description: In certain situations, the force:apex:test:run command doesn’t finish executing. Examples of these situations include a compile error in the Apex test or an Apex test triggering a pre-compile when another is in progress.

Workaround: Stop the command execution by typing control-C. If the command is part of a continuous integration (CI) job, try setting the environment variable SFDX_PRECOMPILE_DISABLE=true.

Dev Hub and Scratch Orgs

Default Views of ScratchOrgInfo, ActiveScratchOrg, and NamespaceRegistry are "Recently Viewed" Instead of "All"
Description: When you click the tabs, you see only items that you recently viewed which gives the impression that data is missing when it's not. This issue applies only to Lightning Experience. It does not affect the CLI.

Workaround: Create a view that lists all the items.

Person Accounts Don’t Work in Developer Edition Scratch Orgs
Description: Person accounts work only in Enterprise Edition and Professional Edition scratch orgs.

Workaround: When working with person accounts, don’t use a DE scratch org.

Source Management

force:mdapi:convert Ignores the -d Parameter
Description: If you run force:mdapi:convert with the -d parameter, the command correctly creates the specified directory if it doesn’t exist. But the command then incorrectly outputs the converted source into the default directory, as defined by the project-workspace.json file.

Workaround: None.

force:source:status and force:source:pull Do Not Work Correctly After Deactivating a Flow
Description: Let's say you deactivate a Flow version by changing its state using the scratch org's Setup. The next time you run force:source:status or force:source:pull, the commands correctly recognize that the Flow version has changed. But the commands do not recognize that the FlowDefinition has changed, even though it has. As a result, the source status output or pulled source is incorrect.

Workaround: In Setup, edit the Flow's description and rerun the force:source:status or force:source:pull command.

Changes to Standard Fields on Standard Objects Not Being Pulled
Description: If you change a standard field of a standard object in the scratch org, then run force:source:pull, the field changes are not pulled to your project.

Workaround: None.

Pushing After Removing a Permission Set Locally Causes “Unknown” Error
Description: If you remove a permission set from your local project, then run the force:source:push command, you see the error message: Unknown.

Workaround: None.

force:source:pull Shows New Transformed Objects As Changed Instead of Added
Description: The CLI output for force:source:pull displays the state of transformed objects as Changed instead of Added.

Workaround: None.

Modified Search Layouts and Compact Layout Assignments on Standard Objects Are Not Tracked
Description:Let’s say you modify a search layout or compact layout assignment on a standard object in your scratch org. When you next run the force:source:pull command, Salesforce DX does not track the search layout or compact layout assignment. As a result, you don’t see the change in the output of the force:source:pull command or in your local project.

Workaround: If you make some other change to the standard object, the search layouts and compact layout assignments are tracked and pulled to the Salesforce DX project.

Unchanged Standard and Custom Fields Are Pulled to the Project
Description: The force:source:pull command is including unchanged standard and custom fields.

Workaround: None.

Lightning Components Not Pulled to Correct Directory
Description: Lightning components are not being pulled to the correct directory if they are pushed from a directory other than main/default/aura/ComponentDir.

Workaround: Place Lightning components in a folder under main/default/aura/.

QuickAction CustomObjectTranslations are not pulled if the original quickAction is not included in the package.xml
Description: The custom object translation that was pulled should include the new translation for the quick action.

Workaround: Wait until you have finished creating the quickAction and its customObjectTranslation before doing a force:source:pull.

Unable to Push Lookup Filters to a Scratch Org
Description: When you execute the force:source:push command to push the source of a relationship field that has a lookup filter, you sometimes get the following error:

duplicate value found: <unknown> duplicates value on record with id: <unknown> at line num, col num.

Workaround: None.

Package Development

New Terminology in CLI for Managed Package Password
Description: When you use the CLI to add an installation key to a package version or to install a key-protected package version, the parameter name of the key is --installationkey. When you view a managed package version in the Salesforce user interface, the same package attribute is called “Password”.

Workaround: None. The Password field name in the user interface will be changed in a future release.