Salesforce CLI

Day-to-day and CI/CD work with the Salesforce CLI (sf v2): deploy and retrieve by source, metadata and manifest, validation and quick deploy, destructive changes, Apex tests and anonymous Apex, scratch orgs and sandboxes, JWT auth, config and aliases, data exports and bulk loads, and unlocked packages. Answers are shell commands. Each command is parsed the way the CLI parses it and checked against the command manifest of a pinned @salesforce/cli release (unknown commands or flags, invalid option values, missing required flags and deprecated sfdx-style syntax fail), then compared with the expected commands and flag values.

20
tasks
Deterministic validators
grading
100%
highest c@3 · Claude Opus 4.8, joint first with 17 others
61
configurations with results

How it's graded

Each command is parsed the way the CLI parses it and checked against the command manifest of a pinned Salesforce CLI release: unknown commands or flags, invalid values, missing required flags and deprecated sfdx-style syntax fail. It is then compared with the expected commands and flag values.

Difficulty mix

6 easy8 medium6 hard

Who's best at Salesforce CLI

Within three attempts (c@3) on this suite only, with 95% confidence intervals. With 20 tasks the intervals are wide: where two overlap, those configurations are not clearly different. 1 finished configuration isn’t shown yet: its retries haven’t finished. Open in the full leaderboard →

Salesforce CLI: c@3 by configuration with 95% confidence intervals
#Model and configScore c@3 · 95% CITasks
1Claude Opus 4.8 effort high
100%95% CI 84–100
20
1Claude Opus 4.8 effort medium
100%95% CI 84–100
20
1Claude Opus 4.8 effort low
100%95% CI 84–100
20
1Claude Opus 4.8 thinking off
100%95% CI 84–100
20
1Claude Opus 5.5 effort high
100%95% CI 84–100
20
1Claude Opus 5.5 effort medium
100%95% CI 84–100
20
1Claude Opus 5.5 effort low
100%95% CI 84–100
20
1Claude Sonnet 5.5 effort high
100%95% CI 84–100
20
1Claude Sonnet 5.5 effort low
100%95% CI 84–100
20
1Claude Sonnet 5.5 effort medium
100%95% CI 84–100
20
1Gemini 3.8 Flash effort medium
100%95% CI 84–100
20
1GPT-5.6 Sol effort medium
100%95% CI 84–100
20
1GPT-6 Astra effort medium
100%95% CI 84–100
20
1GPT-6 Astra effort high
100%95% CI 84–100
20
1GPT-6 Luna effort medium
100%95% CI 84–100
20
1GPT-6.1 Sol effort high
100%95% CI 84–100
20
1Grok 4.6 effort high
100%95% CI 84–100
20
1Grok 4.7 effort high
100%95% CI 84–100
20
19Claude Haiku 5.5 effort high
95%95% CI 76–99
20
19Claude Haiku 5.5 effort low
95%95% CI 76–99
20
19DeepSeek V4.1 Flash FP8 · effort high
95%95% CI 76–99
20
22Claude Sonnet 5 effort high
90%95% CI 70–97
20
22Claude Sonnet 5 effort medium
90%95% CI 70–97
20
22DeepSeek V4 Pro FP8 · effort high
90%95% CI 70–97
20
22MiMo V2.6 Pro FP8 · thinking on
90%95% CI 70–97
20
26Claude Fable 5.1 effort high
85%95% CI 64–95
20
26Claude Haiku 5.5 effort medium
85%95% CI 64–95
20
26Claude Sonnet 5 thinking off
85%95% CI 64–95
20
26Claude Sonnet 5 effort low
85%95% CI 64–95
20
26DeepSeek V4.1 Flash EXL3 2.9bpw · vLLM + ExLlamaV3 · effort high
85%95% CI 64–95
20
26GLM-5.3 Flash EXL3 4.0bpw experts, FP8 dense · vLLM + ExLlamaV3 · effort high
85%95% CI 64–95
20
32DeepSeek V4.1 Flash Native FP8, FP4 experts · SGLang · effort high
80%95% CI 58–92
20
33DeepSeek V4 Flash Vision experimental FP8 + FP4 experts · vLLM · effort high
75%95% CI 53–89
20
33GLM-5.3 Flash FP8 · effort high
75%95% CI 53–89
20
35Mistral Large 4 effort high
70%95% CI 48–85
20
36Inkling Small FP8 · effort high
65%95% CI 43–82
20
37Claude Haiku 4.5 thinking on
60%95% CI 39–78
20
37GLM-5.3 Flash EXL3 4.0bpw experts, FP8 dense · vLLM + ExLlamaV3 · effort low
60%95% CI 39–78
20
37GLM-5.3 Flash EXL3 4.0bpw experts, FP8 dense · vLLM + ExLlamaV3 · thinking off
60%95% CI 39–78
20
37Nemotron 3 Ultra thinking on
60%95% CI 39–78
20
41MiMo V2.6 Flash FP8 · thinking on
55%95% CI 34–74
20
41Qwen3.8 Flash-Next NVFP4 · vLLM · effort medium
55%95% CI 34–74
20
43Claude Haiku 4.5 thinking off
50%95% CI 30–70
20
43Qwen3.8 Flash-Next MLX 4-bit · MTPLX · effort medium
50%95% CI 30–70
20
45GLM-5.3 Flash EXL3 4.0bpw experts, 4-bit dense · TensorFold · effort high
45%95% CI 26–66
20
45MiMo V2.6 Flash FP8 + MXFP4 experts · SGLang · thinking on
45%95% CI 26–66
20
45Qwen3.8 27B Splash 4-bit · Splash · effort low
45%95% CI 26–66
20
45Qwen3.8 27B AWQ-INT4 · vLLM · effort xhigh
45%95% CI 26–66
20
45Qwen3.8 Flash-Next MLX 4-bit · TensorFold · effort medium
45%95% CI 26–66
20
50Qwen3.8 Flash-Next INT4-AutoRound, 5 of 10 experts · TensorFold (Zig) · effort medium
40%95% CI 22–61
20
50Qwen3.8 Flash-Next thinking on
40%95% CI 22–61
20
52Laguna S 2.1 FP4 · thinking on
30%95% CI 15–52
20
52Qwen3.8 27B MLX 8-bit · MTPLX · effort low
30%95% CI 15–52
20
52Qwen3.8 27B AWQ-INT4 · vLLM · effort low
30%95% CI 15–52
20
55Gemma 4 26B-A4B NVFP4 · vLLM · thinking on
15%95% CI 5–36
20
55Gemma 4 31B QAT W4A16 · vLLM · thinking on
15%95% CI 5–36
20
55Ling 3.0 Flash BF16 · thinking on
15%95% CI 5–36
20
55Qwen3.6 35B-A3B NVFP4 · vLLM · thinking on
15%95% CI 5–36
20
55Qwen3.8 27B MLX 4-bit · MTPLX · effort low
15%95% CI 5–36
20
55Qwen3.8 27B AWQ-INT4 · vLLM · effort medium
15%95% CI 5–36
20
61Nemotron 3.5 Lightning NVFP4 · thinking on
10%95% CI 3–30
20

What's in the suite

Solve rate is the share of finished runs whose first answer to the task passed (pass@1), a rough guide to how hard models find it. Difficulty is the task author’s label; from results is what the solve rate says: easy when two thirds or more of the finished runs pass it, hard at a third or fewer, once five have graded it.

Salesforce CLI tasks with difficulty and solve rate
TaskDifficultyFrom resultsSolve rate
Assign a permission set to another usercli-assign-permset-usereasymedium
52%
Delete a scratch org without a promptcli-delete-scratch-orgeasyeasy
76%
Deploy a single Apex class to a sandboxcli-deploy-apex-classeasyeasy
88%
Execute anonymous Apex from a filecli-apex-run-script-fileeasyeasy
89%
Open an org at a Setup page in a given browsercli-org-open-setup-pageeasyeasy
82%
Stream debug logs with a specific debug levelcli-apex-tail-logeasymedium
56%
Bulk upsert a Windows CSV on an external IDcli-bulk-upsert-external-idmediummedium
34%
Create a scratch org from a definition filecli-scratch-org-createmediumeasy
76%
Export millions of records to CSVcli-bulk-export-csvmediumhard
31%
Generate a package.xml manifest from an orgcli-manifest-from-orgmediummedium
37%
Install a key-protected package version unattendedcli-package-install-cimediummedium
61%
Retrieve specific components by metadata type and namecli-retrieve-field-and-flexipagemediumeasy
67%
Run Apex tests with coverage and JUnit output for CIcli-apex-tests-junit-coveragemediummedium
52%
Start a Developer Pro sandbox creation from a scriptcli-sandbox-create-asyncmediummedium
35%
CI job - JWT login to a sandbox, then deploycli-jwt-login-and-deployhardeasy
73%
Deploy and delete a still-referenced field in one deploymentcli-post-destructive-deployhardmedium
56%
First release of an unlocked package, end to endcli-unlocked-package-releasehardmedium
50%
Onboard a developer machine - login, aliases, local and global configcli-dev-machine-confighardmedium
50%
Seed a scratch org with related records via a data plancli-tree-export-import-seedhardmedium
48%
Validate a production release, then quick deploy itcli-validate-then-quick-deployhardmedium
37%

Want this for your team?

Azul Labs runs Forcebench privately for two kinds of Salesforce team.

Choosing a model to run yourself?

A private benchmark of your shortlist

Open-weight models at the quantisations and reasoning efforts you could run on infrastructure you control, tested on your kind of Salesforce work, with a written recommendation.

  • Private tasks written from your work only ever run on local models; they are never sent to an API.
  • Re-testing after any change of model, quantisation or engine is available.
  • Typical turnaround is 2–3 weeks; large models take about a day of machine time per configuration.

Building or buying a Salesforce AI tool?

A private evaluation of your tool

Your tool on held-out tasks it has never seen, against API baselines (models reached through a hosted service) and Local ones (served on Forcebench’s own hardware), with a written report on where it holds up and where it fails.

  • It can start as a smaller pilot, about 30 held-out tasks with your tool against two baselines, before a full evaluation.
  • Repeat evaluations after your releases are available.
  • Typical turnaround is 2–3 weeks.

Fixed fee, quoted up front. The quote depends on the number of tasks and the number of models, tools or configurations tested.

Or email leo@azl.au · azl.au