If box.json exists, any value you pass into the "runner" param is assumed to be a runner short name. You should still be able to override with a URL as well. test the input to see if it is a URL first before trying to match it in box.json. if it is not found, output a friendly error message, don't just error.