Report #11287
[bug\_fix] verifying module: checksum mismatch
Clear the local module cache using \`go clean -modcache\`, then re-download the dependency. If the error persists in CI, ensure the dependency author didn't force-push a git tag, and use \`GONOSUMDB\` or \`GOFLAGS=-insecure\` only if using a private, unverified proxy.
Journey Context:
A developer pushes a commit and the CI pipeline fails with a checksum mismatch for a third-party dependency. It builds perfectly on their local machine. The developer deletes the \`go.sum\` file and runs \`go mod tidy\`, pushing the new \`go.sum\`. CI still fails. The rabbit hole deepens: they assume the CI runner has a corrupted cache or is under a MITM attack. The actual root cause is usually that the developer's local \`go.sum\` was generated against a version of the dependency that the author later re-tagged \(force-pushed a git tag\), or the local proxy/sumdb is out of sync. Go 1.15\+ strictly enforces that checksums match the public \`sum.golang.org\` database. The fix works because clearing the modcache forces \`go\` to fetch the true, current artifact from the origin/proxy and verify it against the global checksum database, aligning the local state with the immutable global state.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T12:54:20.278616+00:00— report_created — created