The Salesforce CLI is one of the most important development tools in our ecosystem. The CLI is Salesforce Developers’ everyday companion for building, testing, deploying, and more. In addition, the CLI is fundamental to DevOps practices, such as continuous integration, where automation is key. After seven years of general availability, we’re now entering a new chapter for the Salesforce CLI.
This post is the first of a two-part blog series on
sf (v2), the new and improved Salesforce CLI. In Part 1, we’ll take a look at what’s new with the Salesforce CLI
sf (v2). Then, in the second part of the series, we’ll dive into how you can migrate from
sfdx-style commands and flags to the new
sf-style commands and flag patterns.
sf (v2) General Availability (GA)
About two years ago, the Salesforce CLI team embarked on a unification initiative with a vision to unify the various CLI experiences across the Salesforce ecosystem. We announced the next evolution of our Salesforce CLI with a new executable called
sf as a separate CLI gave us an opportunity to design, test, and launch not only a new command structure for rapid cross-cloud development, but also a more user-friendly, performant, and intuitive CLI.
Today, we’re excited to announce the General Availability (GA) of the second version (v2) of
sf. This is a major version of the
sf CLI which is smart enough to understand all your
sfdx commands, as well as the
sf commands, with much faster install and update times. The
sf (v2) CLI is everything that is
sfdx. After you install
sf (v2), you’ll have access to all the
sf commands, and you can continue to run any of them.
Embrace the future of Salesforce development
sf (v2) CLI is our path forward. It enables you to experience faster updates and installs as the install/download size has been greatly reduced.
This means that all new capabilities are going to come only via
sf (v2), and we’re going to stop publishing updates to
sfdx (except for security-related fixes). Furthermore, all new CLI plugin fixes and features will only go into
After significant UX research, we have introduced new
sf-style commands and flag patterns to provide a better user experience. However, if you are concerned about the efforts required for migrating from
sf, we have good news for you! You can still use the
sfdx commands, and the
sf CLI will still respond the same way. In addition, you will have only one set of CLI plugins instead of one for
sfdx and one for
sf (v1). (Note: If you have installed plugins, any plugins in
sf will be readily available in
sf(v2). However, any plugins in
sfdx are not automatically available in
sf(v2). Please install the ones you need using
sf plugins install).
Get started with the Salesforce CLI
To get hands-on with the
sf (v2), follow the installation instructions, which will show you how to move to
sf (v2) and how to revert back to your current CLI installation if need be.
Note on installing the Salesforce CLI
We created an alias for
sf (v2), so that you do not need to update your scripts from
sf. Since sf (v2) is going to use the alias sfdx, you’ll need to uninstall sfdx so that name is available to sf(v2)
sf (v2) CLI cannot be installed on a machine that has
sfdx installed. Per the installation instructions for
sf (v2), you must first uninstall
sfdx. If you don’t first uninstall
sfdx and instead proceed with attempting to install
sf via the npm package
@salesforce/cli, which now hosts
sf (v2), the installation will fail. Please be aware that your CI shouldn’t install
Please stay tuned for more information on moving from
sfdx-style commands to
sf-style commands in the final part of this blog series.
As you explore
sf (v2), remember to report any bugs, feature requests, or surprising behaviors via the CLI GitHub repository. We’re excited to hear from you, and as always, we thank you for your support!
- Salesforce CLI Setup Guide
- Salesforce CLI GitHub repository (for checking out the release notes, leaving feedback, and reporting issues)
About the authors
Pooja Reddivari is a Senior Manager of Product Management in the Platform Developer Tools & Experience organization at Salesforce. She is passionate about building scalable and resilient products that delight developers and customers. Pooja has worked in the enterprise, education, and fintech verticals with 12+ years of experience as an engineering and product management professional. Follow her on Twitter @poojasalesforc1 and on LinkedIn.
Philippe Ozil is a Principal Developer Advocate at Salesforce where he focuses on the Salesforce Platform. He writes technical content and speaks frequently at conferences. He is a full-stack developer and enjoys working on DevOps, robotics, and VR projects. Follow him on Twitter @PhilippeOzil or check his GitHub projects @pozil.