Pulumi "Conflict: another update is in progress" (Pulumi Cloud)
On the Pulumi Cloud (managed) backend, the service itself tracks an in-progress update for the stack and returns a 409 Conflict. Another run holds it, or a crashed run left an orphaned update record.
What this error means
pulumi up against the Pulumi Cloud backend fails immediately with a [409] Conflict saying another update is in progress. Unlike the file-lock case, this is enforced server-side, so pulumi cancel must reach the service to clear it.
error: [409] Conflict: Another update is currently in progress.
To learn more about possible reasons and resolution, visit
https://www.pulumi.com/docs/troubleshooting/#conflictCommon causes
A genuinely concurrent update
Two CI runs or a CI run plus a local pulumi up hit the same Pulumi Cloud stack. The service permits only one update at a time and rejects the second with 409.
An orphaned update from a crashed run
A previous update process died (runner cancelled, network dropped) without telling the service it finished, so Pulumi Cloud still believes an update is in progress.
How to fix it
Cancel the orphaned update on the service
Once you have confirmed no real update is running, cancel so the service clears its in-progress record.
pulumi stack select myorg/proj/prod
pulumi cancel --yesPrevent overlap with single-flight CI
Gate deploys to each stack so the service never sees two updates at once.
concurrency:
group: pulumi-cloud-prod
cancel-in-progress: falseHow to prevent it
- Never run local and CI
pulumi upagainst the same stack simultaneously. - Use a per-stack concurrency group in CI.
- Set step timeouts so a stalled update is killed cleanly rather than left orphaned.