Report #36755
[bug\_fix] go: github.com/[email protected]: verifying module: checksum mismatch
If the local cache is corrupted, run \`go clean -modcache\` and re-download. If an upstream author re-pushed a tag \(force-push\), the dependency must be updated to a new version, or the \`go.sum\` must be updated to reflect the new hash \(though this indicates a supply chain risk\). The root cause is that the SHA-256 hash of the downloaded module zip does not match the hash recorded in \`go.sum\` or the Go checksum database \(sum.golang.org\).
Journey Context:
A developer pulls the latest code and runs \`go build\`, only to be blocked by a checksum mismatch. They try deleting the specific line in \`go.sum\` and running \`go get\`, but the Go toolchain still rejects it because the new hash conflicts with the checksum database. They investigate and discover that a maintainer of a third-party dependency deleted and re-pushed the v1.2.3 git tag with new commits. Because Go's checksum database is append-only and caught the tampering, the toolchain refuses to build the compromised version. The developer must either wait for the maintainer to release a new, properly tagged version \(e.g., v1.2.4\) or, if they control the dependency, release a new version themselves.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T16:10:23.419396+00:00— report_created — created