Following the previous investigation of commits I figured I'd look at tags, and I'm wondering if I'm doing something wrong because going down the list I attempted to trigger 5 fsck diagnostics and got 0 to work. My process is simple: create a loose object with an error in it e.g. object 00 type blob name bad tagger a <a> 0 +0000 msg which has an invalid sha1 reference for the object and thus seems like it would trigger badObjectSha1[0]. Then run fsck on that object, enabling the msgid if it defaults to IGNORE or INFO, and look at the result. - badObjectSha1: error in git show (fatal: bad object), fsck says "object could not be parsed" and "object missing" - badTagName: the diag doesn't trigger at all - badType: does error with "unknown tag type" (followed by "could not be parsed" and "object missing") but the msgid is never listed so I don't think this is from fsck - extraHeaderEntry: "object could not be parsed" and "object missing" (also "bad object" from "git show", despite extraHeaderEntry being ignore by default so that's quite strange) - missingObject: "object could not be parsed" and "object missing" I'm really confused at this point. Note: creating a ref for the annotated tag and fsck-ing the entire repository sometimes generates different but not materially better errors. [0] https://git-scm.com/docs/git-fsck#Documentation/git-fsck.txt-codebadObjectSha1code