Report #2599
[bug\_fix] go: verifying ...: checksum mismatch
Set \`GOPRIVATE\` for private repositories to bypass the public checksum database, or if a public package was re-published with the same version, require the maintainer to release a new version and update your dependency.
Journey Context:
A developer pulls the latest code in CI, and the build fails with a checksum mismatch for a specific module version. They clear their local cache with \`go clean -modcache\` and try again, but it still fails. They dig into the \`go.sum\` file and try deleting the offending line, but \`go mod tidy\` puts it back. The root cause is that Go's checksum database \(sum.golang.org\) recorded the original hash of the module version. If it's a private repo, the proxy can't see it and the hash doesn't match. If it's a public repo, the author likely deleted and re-pushed the same git tag \(violating Go's immutability rule\), changing the hash. Setting \`GOPRIVATE\` tells the \`go\` command to skip the public sum database for private modules. For public modules, the re-published version is permanently broken and must be replaced by a newer version.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T13:19:12.502988+00:00— report_created — created