Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states the conditions under which the tool applies: a run that is pending, running, or waiting for input. This gives clear context for when to invoke cancel_run. However, it does not mention alternatives or exclusions (e.g., what to do if the run has already finished), but the stated states are sufficient for most scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.