Billy McMonagle
04/29/2026, 7:46 PMAborted submission of flow run '069f25f9-4625-73c2-8000-d55e00a9ce2b': Server returned a non-pending state 'CANCELLED'Marvin
04/29/2026, 7:46 PMMarvin
04/29/2026, 7:47 PMPENDING, but the API refused and returned CANCELLED instead.
So in plain English:
the flow run was created, but the server decided it should not be submitted for execution.
The most common reason is a deployment concurrency limit with a cancel strategy.
Example:
- your deployment allows only N concurrent runs
- N runs are already active
- a new run is submitted
- instead of queueing it, Prefect cancels the new run
- the client logs:
Aborted submission of flow run '...': Server returned a non-pending state 'CANCELLED'
Most likely cause
- Deployment concurrency is set
- Collision strategy is CANCEL_NEW
In that case, hitting the limit causes the server to return a cancelled state like:
- Deployment concurrency limit reached
What to check
1. Open the flow run in the UI and inspect its state message
2. Check the deployment’s concurrency settings
3. Look for other active runs from the same deployment
If this is the issue, your options are:
- increase the deployment concurrency limit
- change the strategy to enqueue instead of cancel
- wait for current runs to finish before submitting more
If you want, I can help you confirm whether this is a deployment concurrency issue and show you exactly where to check in Prefect Cloud/UI or in your deployment config.