Report #59359
[bug\_fix] go: verifying github.com/example/[email protected]/go.mod: checksum mismatch
If the dependency author force-pushed a new commit to the same tag, they must release a new version tag. If the local go.sum is stale or corrupted, delete go.sum and run 'go mod tidy' to regenerate it.
Journey Context:
A CI pipeline suddenly breaks with a checksum mismatch error for a dependency that hasn't been updated. The developer assumes the CI cache is corrupted and clears it, but the build still fails. They check the go.sum file and see the hash doesn't match what the Go proxy is returning. Digging deeper, they realize the upstream maintainer force-pushed a commit to the v1.2.3 tag, changing the module's content. The Go checksum database \(sum.golang.org\) recorded the original hash, and the new hash is rejected as a security measure. The developer reaches out to the maintainer, who realizes their mistake and releases a new patch tag \(v1.2.4\). The fix works because the checksum database is append-only and immutable; the only way to distribute new code is through a new, unrecorded version tag.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T06:07:30.051987+00:00— report_created — created