Okay, so this one is a bit complicated, but bear with me. What I've found out so far - things change depending on whether you're using PowerShell, bash, or perhaps the az cli task in Azure DevOps, but the basic idea is this: 1) JMESPath usually shows all samples using backticks - that's this guy: ` 2) Values inside backticks are evaluated properly, so comparison operators like this work: --target-condition "tags.priority > `5`" Without the backticks - or sometimes double backticks - numeric comparison doesn't seem to work in PowerShell or any Azure DevOps tasks I've tried. 3) Doubleticks to the rescue THAT SAID, backticks don't always work and your JMESPath queries might fail to parse or produce unexpected results. In that case, try double-backticks. Something like this: --target-condition "tags.priority > ``5``" 4) Single quotes usually work too All THAT said, you can actually just use single quotes like 99% of the time. String comparisons and such work just fine. 5) Last weird difference - property names with dashes This is the last weird detail I've found - if you have a property name, that has a dash (this one: - ) in it, you'll need to surround that particular property name with double quotes - and since that probably happens inside a target condition or similar, it'll be enclosed in quotes already - so your quotes need to be escaped. So something like this: --target-condition "\\"tags.item-priority\\" > ``5``"