HaplotypeCaller creates an empty VCF file and exits during cmdline args parsing
it is a bit annoying tha HaplotypeCaller at least exits because of say unsupported combination of commandline switches but provided it has already created a new VCF file for its output, the empty file is left on the disk. IMHO it would be more common to first parse commandline arguments and only if they are parsed OK then it should try to create new files. In this way, user would not have to cleanup zero-sized files on a cluster.
My 2c. Used 3.6-0-g89b7209 version in "-T HaplotypeCaller --num_cpu_threads_per_data_thread 16 ... -bamout" mode, which is not allowed yet.