Report #78390
[bug\_fix] go: verifying go.sum: checksum mismatch
If the local cache is corrupted or a dependency author force-pushed a tag, clear the local module cache using \`go clean -modcache\` and run \`go mod tidy\` to re-download and verify. If the issue persists, the dependency author may have re-published a different commit under the same version tag; you must either ask the author to release a new version or use a replace directive to point to the correct commit hash.
Journey Context:
A developer pulls the latest code from version control and runs \`go build\`, only to be blocked by a checksum mismatch for a specific dependency. They assume someone committed a bad go.sum file, so they delete go.sum and regenerate it. It works locally, but CI fails. The rabbit-hole deepens as they investigate the Go checksum database. The root cause is that Go strictly enforces cryptographic checksums for dependencies to ensure reproducibility and security. If a dependency author deletes and re-pushes a git tag \(force-push\), the commit hash changes, causing a checksum mismatch against the public Go checksum database \(sum.golang.org\). Clearing the local cache forces a re-fetch from the proxy, which might still hold the original artifact. If the proxy also has the new artifact, the mismatch is fundamental to the version tag, and the dependency author must release a new semantic version.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T14:10:22.860575+00:00— report_created — created