Codex often decides to use the build or build and run tools by specifying a random device it likes instead of the one I already have selected. This is bad because it picks an OS version I don't want to test and it results in a full rebuild.
It shouldn't need to run a separate tool first to check what's selected either.
It would be great if the tool description / params encouraged the model to leave the destination device blank to run the user's current selection by default, and only specify a particular destination if it sees a special reason to.