Salesforce Dictionary - Free Salesforce GlossarySalesforce Dictionary
All errors
Deployment

ALREADY_IN_PROCESS: another deployment is in progress

An org can run only one deployment at a time. Your deploy is queued behind a deployment someone (or some automation) already started. Wait for it to finish, or — if it's stuck — cancel it via the Deployment Status page.

Also seen asALREADY_IN_PROCESS·another deployment is in progress·deployment in progress·ALREADY_IN_PROCESS another

Short answer: you can't run two deploys against the same org simultaneously. The platform serialises them.

Why this fires

Three common causes:

  1. A teammate kicked off a deploy from VS Code or a CI pipeline at the same time you did.
  2. A previous deploy of yours hung — it claims to be running but the process holding it died. The lock didn't release.
  3. A scheduled change-set deploy or quick-deploy validation is currently in flight; your CLI deploy is queued behind it.

How to see who's holding the lock

  • Setup → Deploy → Deployment Status lists all in-flight and queued deploys, with the user who initiated each. The status column tells you In Progress, Pending, Canceling, or Failed.
  • The CLI: sf project deploy report (or legacy sfdx force:source:deploy:report) returns the live status of your own job and any conflicts.

Cancel a stuck deploy

From the Deployment Status page, click the deploy and choose Cancel. From the CLI:

sf project deploy cancel --job-id 0Af...

If the deploy is stuck in Canceling, you may need to wait — the platform finishes the in-flight component and then releases. If it stays stuck more than 10 minutes, log a Salesforce support case; only Salesforce can force-release a wedged deployment lock.

Avoid this in CI

Two patterns work:

  1. Serialise your CI jobs so only one can deploy to the same target at a time. Most CI tools have concurrency keys; key on the org's MyDomain or the integration user.
  2. Pre-flight check. Before deploying, run sf project deploy report --target-org X and bail out if anything is in progress. Adds a few seconds; saves a frustrating queue.

When you actually need to interrupt

Two deploys to the same org can coexist if they target different namespaces (e.g., main org + a managed-package developer org tied to the same alias). But that's an unusual setup; in 99% of cases this error means: wait or cancel.

Related dictionary terms