Azure Pipelines "No agent found in pool ... satisfies demands"
Your job declared a demand (a required capability) that no agent in the target pool advertises. The scheduler cannot match the job to any agent, so it never runs.
What this error means
The job sits unassigned, then fails with No agent found in pool <name> which satisfies the specified demands, listing the demand it could not meet (e.g. a tool name or a custom capability).
##[error]No agent found in pool 'Default' which satisfies the specified
demands: docker, Agent.Version -gtVersion 2.200.0Common causes
A demanded capability no agent has
A demands: entry (e.g. a tool, or Agent.Version) does not match any agent’s advertised capabilities. Self-hosted agents only have the capabilities of the software installed on them.
Targeting the wrong pool
The pool you named has no agents with the needed capability - the right agents live in a different pool, or the pool is empty.
How to fix it
Match demands to real agent capabilities
List only demands the pool’s agents actually advertise, or install the missing capability on the agent.
pool:
name: Default
demands:
- docker # only demand what an agent in this pool hasInspect and fix agent capabilities
- In Project Settings → Agent pools, open an agent and review its Capabilities tab.
- Install the missing tool on the agent (capabilities auto-detect on restart), or add a user capability.
- Confirm the job targets the pool that actually contains those agents.
How to prevent it
- Keep demands minimal - only what the job truly needs.
- Standardize agent images so capabilities are consistent across a pool.
- Document each pool’s installed tooling so jobs target the right one.