Configure agent demands
Azure Pipelines agents have different configurations and capabilities. Each agent runs on various operating systems and can have different software dependencies installed. Understanding how to configure agent demands ensures your pipeline jobs run on agents with the right capabilities.
Every agent has capabilities configured as name-value pairs that describe what the agent can do:
- System capabilities: Automatically discovered capabilities such as machine name, operating system type, and installed software
- User-defined capabilities: Custom capabilities you define to describe specific tools, applications, or configurations on the agent
Viewing agent capabilities
You can view and manage agent capabilities in the Azure DevOps portal:
- Navigate to Organization Settings > Agent pools
- Select the agent pool, then choose a specific agent
- Select the Capabilities tab to see available capabilities
The Capabilities tab shows both system and user-defined capabilities:
Configuring agent demands
When you configure a build pipeline, you can specify demands that agents must meet to run your job. This ensures your pipeline runs on agents with the required capabilities:
Types of demand conditions
You can configure two types of demand conditions:
- Exists: Requires that the agent has a specific capability (for example,
HasPaymentServicemust exist) - Equals: Requires that a capability matches a specific value (for example,
Agent.OSequalsWindows_NT)
These demands help ensure your pipeline jobs run on agents that meet your specific requirements, improving reliability and reducing build failures due to missing dependencies.
For more information, see Capabilities.