Report #65938
[bug\_fix] go: verifying ...: checksum mismatch
Run \`go clean -modcache\` to clear the local cache, then \`go mod tidy\` to re-fetch. If the error persists, the upstream tag was likely force-pushed; the tag must be deleted and recreated, or the dependency version bumped.
Journey Context:
A CI pipeline suddenly breaks with a checksum mismatch for a dependency that hasn't changed. The developer runs the build locally and it works. They dig into \`go.sum\`, delete the specific hash lines, and try again, but \`go mod tidy\` puts them back. The rabbit hole involves suspecting network proxies, corporate firewalls, or a Go toolchain bug. The root cause is that someone force-pushed a new commit to an existing git tag \(e.g., v1.2.3\) in the upstream repository, or a corporate proxy served a cached but slightly modified zip. The local machine has the old cached zip matching the old hash, while the checksum database \(sum.golang.org\) or CI has the new hash. The fix is to clear the local cache so the new hash is fetched, but the real solution is to avoid force-pushing tags. If it's a proxy issue, the proxy cache must be invalidated.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T17:09:24.786729+00:00— report_created — created