I'm not sure if this is really a bug or just nextclade not behaving as I would expect from the documentation.
@chaoran-chen created gene maps for the H5N1 segment M as follows:
. . CDS 26 784 . + . gene="M1"
. . gene 26 1007 . + . gene=M2;ID=gene-M2
. . CDS 26 51 . + . gene=M2;ID=cds-M2;Parent=gene-M2
. . CDS 740 1007 . + . gene=M2;ID=cds-M2;Parent=gene-M2
From the documentation this looked accurate to me. However, I now realized that this leads nextclade to ignore the M1 gene:

Removing the second line (with gene) resolved the issue:
. . CDS 26 784 . + . gene="M1"
. . CDS 26 51 . + . gene=M2;ID=cds-M2
. . CDS 740 1007 . + . gene=M2;ID=cds-M2

My naive assumption is that nextclade ignores the CDS that is not linked to a gene if a gene is present - however I would not expect this behavior from the docs.
This can be tested with examples here: nextstrain/nextclade_data#217
I'm not sure if this is really a bug or just nextclade not behaving as I would expect from the documentation.
@chaoran-chen created gene maps for the H5N1 segment M as follows:
From the documentation this looked accurate to me. However, I now realized that this leads nextclade to ignore the M1 gene:
Removing the second line (with gene) resolved the issue:
My naive assumption is that nextclade ignores the CDS that is not linked to a gene if a gene is present - however I would not expect this behavior from the docs.
This can be tested with examples here: nextstrain/nextclade_data#217