I called somatic SNVs with MuTect and somatic INDELs with MuTect2, and then attempted to use CatVariants to combine them into one file for downstream processing. However CatVariants will always break at the first variant at the second -V claiming the key isn't defined in the VCF Header. The following trace were produced by reversing the order of the two -V's:
java -cp ./gatk-3.7-0/GenomeAnalysisTK.jar org.broadinstitute.gatk.tools.CatVariants -V "MuTect1.vcf" -V "MuTect2.vcf" -R ./mm9/mm9_UCSC/mm9_UCSC.fa --assumeSorted -out test2.vcf
INFO 10:35:33,049 HelpFormatter - -------------------------------------------------------
INFO 10:35:33,052 HelpFormatter - Program Name: org.broadinstitute.gatk.tools.CatVariants
INFO 10:35:33,057 HelpFormatter - Program Args: -V MuTect1.vcf -V MuTect2.vcf -R ./mm9/mm9_UCSC/mm9_UCSC.fa --assumeSorted -out test2.vcf
INFO 10:35:33,073 HelpFormatter - Executing as mma@cnode007 on Linux 2.6.32-431.23.3.el6.x86_64 amd64; Java HotSpot(TM) 64-Bit Server VM 1.8.0_45-b14.
INFO 10:35:33,073 HelpFormatter - Date/Time: 2017/03/09 10:35:33
INFO 10:35:33,073 HelpFormatter - -------------------------------------------------------
INFO 10:35:33,074 HelpFormatter - -------------------------------------------------------
..##### ERROR --
##### ERROR stack trace
java.lang.IllegalStateException: Key HCNT found in VariantContext field INFO at chr1:74440000 but this key isn't defined in the VCFHeader. We require all VCFs to have complete VCF headers by default.
at htsjdk.variant.vcf.VCFEncoder.fieldIsMissingFromHeaderError(VCFEncoder.java:173)
at htsjdk.variant.vcf.VCFEncoder.encode(VCFEncoder.java:111)
at htsjdk.variant.variantcontext.writer.VCFWriter.add(VCFWriter.java:222)
at org.broadinstitute.gatk.tools.CatVariants.execute(CatVariants.java:302)
at org.broadinstitute.gatk.utils.commandline.CommandLineProgram.start(CommandLineProgram.java:256)
at org.broadinstitute.gatk.utils.commandline.CommandLineProgram.start(CommandLineProgram.java:158)
at org.broadinstitute.gatk.tools.CatVariants.main(CatVariants.java:318)
##### ERROR ------------------------------------------------------------------------------------------
##### ERROR A GATK RUNTIME ERROR has occurred (version 3.7-0-gcfedb67):
##### ERROR
##### ERROR This might be a bug. Please check the documentation guide to see if this is a known problem.
##### ERROR If not, please post the error message, with stack trace, to the GATK forum.
##### ERROR Visit our website and forum for extensive documentation and answers to
##### ERROR commonly asked questions https://software.broadinstitute.org/gatk
##### ERROR
##### ERROR MESSAGE: Key HCNT found in VariantContext field INFO at chr1:74440000 but this key isn't defined in the VCFHeader. We require all VCFs to have complete VCF headers by default.
##### ERROR ------------------------------------------------------------------------------------------
java -cp ./gatk-3.7-0/GenomeAnalysisTK.jar org.broadinstitute.gatk.tools.CatVariants -V "MuTect2.vcf" -V "MuTect1.vcf" -R ./mm9/mm9_UCSC/mm9_UCSC.fa --assumeSorted -out test2.vcf
INFO 10:28:31,220 HelpFormatter - -------------------------------------------------------
INFO 10:28:31,224 HelpFormatter - Program Name: org.broadinstitute.gatk.tools.CatVariants
INFO 10:28:31,229 HelpFormatter - Program Args: -V MuTect2.vcf -V MuTect1.vcf -R ./mm9/mm9_UCSC/mm9_UCSC.fa --assumeSorted -out test2.vcf
INFO 10:28:31,244 HelpFormatter - Executing as mma@cnode007 on Linux 2.6.32-431.23.3.el6.x86_64 amd64; Java HotSpot(TM) 64-Bit Server VM 1.8.0_45-b14.
INFO 10:28:31,245 HelpFormatter - Date/Time: 2017/03/09 10:28:31
INFO 10:28:31,245 HelpFormatter - -------------------------------------------------------
INFO 10:28:31,245 HelpFormatter - -------------------------------------------------------
..##### ERROR --
##### ERROR stack trace
java.lang.IllegalStateException: Key SOMATIC found in VariantContext field INFO at chr1:6260686 but this key isn't defined in the VCFHeader. We require all VCFs to have complete VCF headers by default.
at htsjdk.variant.vcf.VCFEncoder.fieldIsMissingFromHeaderError(VCFEncoder.java:173)
at htsjdk.variant.vcf.VCFEncoder.encode(VCFEncoder.java:111)
at htsjdk.variant.variantcontext.writer.VCFWriter.add(VCFWriter.java:222)
at org.broadinstitute.gatk.tools.CatVariants.execute(CatVariants.java:302)
at org.broadinstitute.gatk.utils.commandline.CommandLineProgram.start(CommandLineProgram.java:256)
at org.broadinstitute.gatk.utils.commandline.CommandLineProgram.start(CommandLineProgram.java:158)
at org.broadinstitute.gatk.tools.CatVariants.main(CatVariants.java:318)
##### ERROR ------------------------------------------------------------------------------------------
##### ERROR A GATK RUNTIME ERROR has occurred (version 3.7-0-gcfedb67):
##### ERROR
##### ERROR This might be a bug. Please check the documentation guide to see if this is a known problem.
##### ERROR If not, please post the error message, with stack trace, to the GATK forum.
##### ERROR Visit our website and forum for extensive documentation and answers to
##### ERROR commonly asked questions https://software.broadinstitute.org/gatk
##### ERROR
##### ERROR MESSAGE: Key SOMATIC found in VariantContext field INFO at chr1:6260686 but this key isn't defined in the VCFHeader. We require all VCFs to have complete VCF headers by default.
##### ERROR ------------------------------------------------------------------------------------------
So, does CatVariants requires the input callsets to have identical INFO fields? Both input files unconditionally passes ValidateVariants, if you ask.