platformchangelog.dev
43 tools
tools43j k move f filter
‹ tools salesforce-clitool

Salesforce CLI

2.154.4current · 2026-10-14

Command-line tool for Salesforce development and delivery: source tracking, scratch orgs, packaging and metadata deploys. The usual backbone of Salesforce CI/CD.

governance vendor-owned·license oss·vendor Salesforce
toolEnterprise app platformsCI/CD
release lines seen2.1542.1532.1522.1512.1502.1492.1482.147
alternatives
No alternatives recorded for Salesforce CLI yet.
other coverage
Salesforce Deployments with Octopus (Octopus Deploy Blog, 2026-10-10)
No case notes yet. Know of a public postmortem or case study? Tell us.
releases152change lines typed from the source notes
2.154.42026-10-14minor+sharesource
  • See which Apex classes in your org are invalid or have compilation warnings with the new apex get compile-status command. For example:added
1 line1 addedtyped from the source notes
2.153.52026-10-07minor+~*sharesource

Salesforce CLI 2.153.5 adds new sf apex trace commands for managing Apex debug log trace flags in an org. The release stops suggesting the SF_TEMP_SHOW_SECRETS environment variable for viewing redacted secrets and announces its removal on October 28, 2026. Commands such as org display user and org list users now point to the sf org auth show-* commands, and a Linux browser race condition in sf org login web is fixed.

platform teams Teams using SF_TEMP_SHOW_SECRETS in scripts should move to sf org auth show-* before October 28, 2026, when the workaround is removed. The new apex trace commands let pipelines manage trace flags from the CLI.

written by claude-haiku-5-5, prompt 7cbe154, checked by publish rules

  • Salesforce CLI no longer suggests the SF_TEMP_SHOW_SECRETS environment variable as a workaround for viewing redacted secrets, and now announces that this workaround will be removed on October 28, 2026. Commands such as org display user and org list users now point you to the sf org auth show-* commands instead. The SF_TEMP_SHOW_SECRETS=true workaround still works until the removal date, so...changed
  • Manage Apex debug log trace flags in your org with these new apex trace commands:added
  • Logging in with sf org login web on Linux no longer intermittently fails due to a race condition when opening the browser.fixed
3 lines1 added1 changed1 fixedtyped from the source notes
2.152.142026-09-30minorsecurity+~***!sharesource

Salesforce CLI 2.152.14 adds --debug-level and --category-level flags to the apex run command for controlling anonymous Apex debug logs, and the two flags are mutually exclusive. It removes a Hyperforce/JWT gate that blocked sf org create user on Hyperforce orgs when the Dev Hub used JWT authentication. The release also fixes sf org open exiting before the browser launched, a broken sf-trust bin path in @salesforce/plugin-trust, and adds support for the ReferralIntakeConfiguration metadata type in DX projects. A security fix bumps the npm version pinned in npm-shrinkwrap.json to pull in a patched tar.

platform teams Teams running anonymous Apex from the CLI can set debug log levels per predefined level or per category. Teams that run user creation on Hyperforce orgs with JWT Dev Hubs can now use that command, and the npm install failure from the broken bin path is resolved.

written by claude-haiku-5-5, prompt 7cbe154, checked by publish rules

  • We addressed an issue where the published npm-shrinkwrap.json pinned a version of npm that bundled a vulnerable version of tar. We bumped the pinned npm version to pull in a patched tar.security
  • We removed the Hyperforce/JWT gate that blocked sf org create user on Hyperforce orgs when the Dev Hub used JWT authentication. The underlying platform issue is now resolved, so this command works in that scenario. For example:changed
  • The apex run command has two new flags for controlling the debug log level when you execute anonymous Apex. Use --debug-level to set a predefined level (NONE, DEBUGONLY, DB, PROFILING, CALLOUT, or DETAIL), or --category-level for fine-grained, per-category control (the two flags are mutually exclusive). For example:added
  • The sf org open command no longer exits before the browser finishes launching, which caused intermittent failures, especially on Windows and in the VS Code integrated terminal.fixed
  • We fixed a broken sf-trust bin path in @salesforce/plugin-trust that pointed at an unpublished bin/dev file, which silently skipped the bin link and broke npm install. It now points at the published bin/run.js.fixed
  • Salesforce DX projects now support the ReferralIntakeConfiguration metadata type.fixed
6 lines1 security1 added1 changed3 fixedtyped from the source notes
2.151.72026-09-23minor++****sharesource

Salesforce CLI 2.151.7 shows deploy notifications in both JSON and human-readable table output, and adds Refresh Token Rotation support so simultaneous commands no longer fail with a token-processing error. It also fixes plugin install, uninstall and update failures on Windows paths with spaces, false-positive diffs for Aura CSS edits, handling of AiAgentDefinitionVersion names containing #, and ENOENT errors on standalone Unix tarball installs.

platform teams Pipelines that run project deploy start now see deploy-level notifications such as ApexApiVersionRetirement in the table output, and connected apps with RTR enabled work without extra flags. Teams using AI agent metadata can deploy and retrieve versioned agent definitions without the earlier delimiter errors.

written by claude-haiku-5-5, prompt 7cbe154, checked by publish rules

  • When you run project deploy start, any notification attached to the deployment now appears in both the JSON and the human-readable table output; previously, notifications were included only in the JSON output. Notifications are informational, non-blocking, deploy-level advisories represented by the DeployNotification metadata type—for example, ApexApiVersionRetirement. There's no new flag to...added
  • Salesforce CLI now supports Refresh Token Rotation (RTR). When your connected app has RTR enabled, the CLI persists the server-rotated refresh token and handles concurrent token refreshes safely, so simultaneous commands no longer fail with "Token request is already being processed". No new flags are required; the behavior is automatic.added
  • The plugins install, plugins uninstall, and plugins update commands no longer fail on Windows with a misleading <package> does not exist in the registry error when Node.js is installed at the default path containing a space (such as C:\Program Files\nodejs\node.exe).fixed
  • The project retrieve preview command no longer reports hundreds of unrelated, false-positive metadata diffs after you edit only the CSS resource of an Aura component through the Setup UI or Developer Console. A long-lived process (such as the VS Code Salesforce Extension) holding a stale in-memory source-tracking cache could overwrite the CLI's correctly synced revision data in maxRevision.json.fixed
  • The project deploy start and project retrieve start commands now correctly handle AiAgentDefinitionVersion metadata, which uses # as a version separator in its fullName (such as MyAgent#1). Previously, the # character was incorrectly interpreted as a key delimiter, which caused deploy messages to be unmapped and retrieves to fail.fixed
  • The plugins install, plugins link, and other commands that spawn child processes no longer fail with ENOENT when Salesforce CLI was installed from a standalone tarball on Unix. The fix ensures the CLI uses the bundled Node.js binary rather than searching PATH for a system-level node.fixed
6 lines2 added4 fixedtyped from the source notes
2.150.62026-09-02minor***sharesource
  • The project retrieve start --metadata and project deploy start --metadata commands no longer crash with ENOTDIR when a non-component file (such as README.md) is in the lwc/ directory, even when the file was matched by a .forceignore rule.fixed
  • A decomposed permission set (converted using project convert source-behavior --behavior decomposePermissionSetBeta2) no longer has a child fragment incorrectly resolved as the parent component, causing a ConversionError during source-to-Metadata API conversion.fixed
  • Long-running commands, such data import tree --plan on a very large plan, no longer crash in certain situations.fixed
3 lines3 fixedtyped from the source notes
2.149.92026-08-26minor++***sharesource
  • Use the new --root-type-with-dependencies flag of the project retrieve start command to specify the metadata type for which you also want to retrieve all dependent components. Currently the flag accepts only Bot and AiAgentDefinitionVersion as valid values. In this example, the command retrieves the metadata source files in the force-app directory; if any of the retrieved metadata is of type...added
  • Skip the local filesystem scan when you synchronize (deploy or retrieve) your DX project with a source-tracking-enabled org by setting the new SF_SOURCE_TRACKING_ASSUME_SYNCED environment variable to true. This variable is useful when you know that your org is fully synchronized with your DX project, such as when you're using an org that's been pre-seeded with your project's metadata. Skipping...added
  • Salesforce CLI no longer incorrectly reports a scratch org definition validation warning (features.N: Invalid input) for the ServiceCloudVoicePartnerTelephony feature. This feature is now correctly categorized as a pattern feature, such as ServiceCloudVoicePartnerTelephony:3, rather than a simple feature.fixed
  • The data bulk export command now works correctly in a CI/CD environment when running behind a company firewall or web proxy.fixed
  • Salesforce DX projects now support these metadata types:fixed
5 lines2 added3 fixedtyped from the source notes
2.148.32026-08-19minor++~~*sharesource
  • The org generate password command now enforces minimum values for password length and complexity. Commands that specify --length below 20 or --complexity below 3 now fail with a validation error instead of being silently corrected. This completes the deprecation cycle we announced in April 1, 2026. For example:changed
  • The api request rest and api request graphql commands are now generally available (GA) and no longer beta.changed
  • Use natural language prompts to quickly build Salesforce apps and agents with the new Salesforce Development plugin for Claude Code. The plugin detects your DX project environment and provides Salesforce-specific skills and org context through hosted MCP servers. You get AI-powered assistance to build, update, and maintain apps efficiently and quickly.added
  • Add a --skip-assignment-rules flag to the data create record and data update record commands to prevent Account, Case, or Lead assignment rules from running when you create or update records. This is useful when you want to preserve record ownership without triggering active assignment rules. For example:added
  • The @salesforce/core package type declarations no longer cause TypeScript compilation errors (TS2694: Namespace 'pino.pino' has no exported member 'TransportSingleOptions') when building projects with skipLibCheck: false. The emitted .d.ts file now correctly imports TransportSingleOptions directly from the pino module instead of referencing it through the problematic nested namespace.fixed
5 lines2 added2 changed1 fixedtyped from the source notes
2.147.72026-08-12minor+~sharesource
  • Salesforce CLI now requires Node.js version 22 or later. We've dropped support for Node.js 18 and 20, which reached end-of-life. The bundled Node.js runtime in the Salesforce CLI installers is now version 24. For example:changed
  • We added two environment variables to fix an issue where org create scratch fails when you authenticate the associated Dev Hub with an external client app via JWT (org login jwt). Because external client apps can't be replicated during the signup process, set these environment variables before running org create scratch:added
2 lines1 added1 changedtyped from the source notes
2.146.32026-08-05minor**sharesource
  • Source tracking now updates correctly after deploying platform events, big objects, external objects, or custom metadata types. Previously, the CLI would hang and eventually time out with the warning "Polling for N SourceMembers timed out" because the SourceMember table sometimes stores child members without the entity suffix (e.g., MyEvent.Fieldc instead of MyEvente.Fieldc).fixed
  • The sf package version create --branch <branch> command no longer fails with NoReleaseVersionFoundForBranchError when using LATEST in dependency version numbers. Dependencies without versions on the specified branch now gracefully fall back to the latest released version instead of causing the command to fail.fixed
2 lines2 fixedtyped from the source notes
2.145.62026-07-29minor+**sharesource
  • Scaffold asynchronous Apex classes with built-in best practices with these new values of the --template flag of the template generate apex class CLI command: Batchable and Queueable.added
  • The auth accesstoken store command no longer crashes with Error (13): User force closed the prompt with 13 null when an access token is piped via stdin and an auth file already exists. The command now reads piped tokens directly from stdin instead of using an interactive prompt.fixed
  • Setting SF_LOG_ROTATION_PERIOD to a value greater than 1d (such as 2d or 7d) no longer causes Salesforce CLI to crash with an UnexpectedValueTypeError. The CLI now falls back to 1d rotation for unrecognized values and emits a warning.fixed
3 lines1 added2 fixedtyped from the source notes
2.144.62026-07-22minor*sharesource
  • When deploying a UIBundle in your Salesforce DX project with project deploy start using either --source-dir <path-to-bundle> or --metadata UIBundle:<name>, and your DX project contains an unrelated sibling UIBundle that hasn't yet been built (doesn't contain the dist directory), the deploy no longer fails with the ExpectedSourceFilesError error.fixed
1 line1 fixedtyped from the source notes
2.143.62026-07-15minor*sharesource
  • Salesforce DX projects now support the UiWidgetBundle metadata type.fixed
1 line1 fixedtyped from the source notes
140 older releases
2.142.72026-07-08minor +++++***** 10 lines
2.141.62026-07-01minor * 1 lines
2.140.62026-06-24minor * 1 lines
2.139.62026-06-17minor * 1 lines
2.138.62026-06-10minor +* 2 lines
2.137.62026-06-03minor * 1 lines
2.136.82026-05-27minor ++ 2 lines
2.135.72026-05-20minor ++++** 6 lines
2.134.62026-05-13minor + 1 lines
2.133.42026-05-06minor +++~~**** 9 lines
2.132.142026-04-29minor * 1 lines
2.131.72026-04-22minor ~~ 2 lines
2.130.92026-04-08minor +~** 4 lines
2.129.82026-04-01minorsecurity +++++++**! 10 lines
2.128.52026-03-25minorsecurity ++**! 5 lines
2.127.22026-03-18minor ***** 5 lines
2.126.42026-03-11minor +~* 3 lines
2.125.12026-03-04minor + 1 lines
2.124.72026-02-25minor ++~* 4 lines
2.123.12026-02-18minor ++** 4 lines
2.122.62026-02-11minor +** 3 lines
2.121.72026-02-04minorsecurity +~*! 4 lines
2.120.32026-01-27minor +**** 5 lines
2.119.82026-01-20minor ~***** 6 lines
2.118.202026-01-14minor * 1 lines
2.117.72026-01-07minor +* 3 lines
2.116.62025-12-17minor +** 3 lines
2.115.152025-12-10minor +** 3 lines
2.114.52025-12-03minor +** 3 lines
2.113.62025-11-19minor * 1 lines
2.112.62025-11-12minor no itemized notes
2.111.72025-11-05minor +* 2 lines
2.110.222025-10-29minor *** 3 lines
2.109.72025-10-22minor + 1 lines
2.108.62025-10-01minor * 1 lines
2.107.62025-09-24minor +~**** 6 lines
2.106.62025-09-17minorsecurity ! 1 lines
2.105.62025-09-10minor * 1 lines
2.104.62025-09-03minor * 1 lines
2.103.72025-08-27minor +~~* 4 lines
2.102.62025-08-20minor ++~* 4 lines
2.101.52025-08-13minor +++~ 4 lines
2.100.42025-08-06minor +**** 5 lines
2.99.62025-07-30minor + 1 lines
2.98.62025-07-23minor +** 3 lines
2.97.62025-07-16minor * 1 lines
2.96.42025-07-09minor * 1 lines
2.95.62025-07-03minor **** 4 lines
2.94.62025-06-25minor +* 2 lines
2.93.72025-06-18minor +++* 4 lines
2.91.62025-06-04minor ** 2 lines
2.90.42025-05-28minor +** 3 lines
2.89.82025-05-21minor ~~* 3 lines
2.88.62025-05-14minor ~* 2 lines
2.87.72025-05-07minor ~* 2 lines
2.86.92025-04-30minor +++*** 6 lines
2.85.72025-04-23minor ~~ 2 lines
2.84.62025-04-16minor +*** 4 lines
2.83.72025-04-09minor * 1 lines
2.82.62025-04-02minor ** 2 lines
2.81.92025-03-26minor ~~~** 5 lines
2.80.122025-03-19minor +*** 4 lines
2.79.42025-03-12minor + 1 lines
2.78.32025-02-26minor +** 3 lines
2.77.62025-02-19minor +**** 5 lines
2.76.72025-02-12minor * 1 lines
2.75.52025-02-05minor +~** 4 lines
2.74.62025-01-29minor *** 3 lines
2.73.92025-01-22minor +****** 7 lines
2.72.212025-01-15minor +~** 4 lines
2.71.62025-01-08minor ~*** 4 lines
2.70.72024-12-18minor +** 3 lines
2.69.142024-12-11minor +* 2 lines
2.68.62024-12-04minor +** 3 lines
2.67.72024-11-20minor * 1 lines
2.66.72024-11-13minor +++++~** 8 lines
2.65.82024-11-06minor +~* 3 lines
2.64.62024-10-30minor ++~ 3 lines
2.63.92024-10-23minor +++* 4 lines
2.62.62024-10-16minor ++++**** 8 lines
2.61.82024-10-09minor +++** 5 lines
2.60.132024-10-02minor ~** 3 lines
2.59.62024-09-25minor * 1 lines
2.58.72024-09-11minor * 1 lines
2.57.72024-09-04minor +++* 4 lines
2.56.72024-08-28minor +++~~** 7 lines
2.55.62024-08-21minor +**** 5 lines
2.54.62024-08-14minor +*** 4 lines
2.53.62024-08-07minor ++~** 5 lines
2.52.62024-07-31minor +~~**** 7 lines
2.51.62024-07-24minor ~** 3 lines
2.50.62024-07-17minorsecurity ***! 4 lines
2.49.72024-07-10minor ~~***** 7 lines
2.48.62024-07-03minor +~~~*** 7 lines
2.47.62024-06-26minor +**** 5 lines
2.46.62024-06-19minor ++~*** 6 lines
2.45.62024-06-12minor +**** 5 lines
2.44.82024-06-05minor ++++~*** 8 lines
2.42.62024-05-22minor +~** 4 lines
2.41.82024-05-15minor +~*** 5 lines
2.40.72024-05-08minor +**** 5 lines
2.39.62024-05-01minor **** 4 lines
2.38.72024-04-24minorsecurity ++***! 6 lines
2.37.42024-04-17minor +~** 4 lines
2.36.82024-04-10minor ++* 3 lines
2.35.62024-04-03minor +~***** 7 lines
2.34.72024-03-27minor ~****** 7 lines
2.33.32024-03-20minor *** 3 lines
2.32.82024-03-13minor * 1 lines
2.31.82024-03-08minor +*** 4 lines
2.30.82024-02-28minor ~** 3 lines
2.29.52024-02-21minor ~** 3 lines
2.28.62024-02-14minor ++~~*** 7 lines
2.27.62024-02-07minor **** 4 lines
2.26.102024-01-31minor +*** 4 lines
2.25.72024-01-24minorsecurity +++**! 6 lines
2.24.42024-01-17minor +** 3 lines
2.23.202024-01-10minor ~* 2 lines
2.21.72023-12-13minor +**** 5 lines
2.20.72023-12-06minor +~** 4 lines
2.19.72023-11-29minor +++~~~~********** 17 lines
2.17.142023-11-15minor +~**** 6 lines
2.16.72023-11-08minor +~**** 6 lines
2.15.92023-11-01minor +** 3 lines
2.14.62023-10-25minor ++** 4 lines
2.13.92023-10-18minor *** 3 lines
2.12.92023-10-11minor ~******* 8 lines
2.11.82023-10-04minor ++~** 5 lines
2.10.22023-09-27minor ++*** 5 lines
2.9.82023-09-20minor ++** 4 lines
2.8.112023-09-15minor ++** 4 lines
2.7.112023-09-06minor ++ 2 lines
2.6.92023-08-30minor ** 2 lines
2.5.72023-08-23minor +~* 3 lines
2.4.82023-08-16minor +++~~~******* 13 lines
2.3.82023-08-09minor +* 2 lines
2.2.72023-08-02minor ****** 6 lines
2.1.72023-07-26minor ++++~********* 14 lines
2.0.22023-07-19patch ** 2 lines
2.22.72023-01-03minor ++** 4 lines