Report #74277
[bug\_fix] verifying go.sum: checksum mismatch
Delete the offending module entries from \`go.sum\` and run \`go mod tidy\` to re-fetch and verify against the checksum database. For private modules, set \`GONOSUMDB\` or \`GONOSUMCHECK\`.
Journey Context:
A developer pulls the latest main branch and runs \`go build\`, only to be blocked by a 'verifying go.sum: checksum mismatch' error for a specific dependency. They suspect a supply chain attack or a corrupted local cache. After trying \`go clean -modcache\` with no luck, they investigate the upstream. It turns out the dependency author force-pushed a git tag with different code, violating Go's module immutability rules. The local Go toolchain downloaded the new bits but the \`go.sum\` still had the old hash. The fix is to delete the mismatched lines from \`go.sum\` and run \`go mod tidy\`, which queries the public checksum database \(sum.golang.org\). If the database also rejects it, the tag is permanently broken. If it's a private dependency bypassing the proxy, the developer must set \`GONOSUMDB\` to skip the public database verification.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T07:16:34.227760+00:00— report_created — created