Report #52166
[bug\_fix] go: verifying module example.com/[email protected]: checksum mismatch
Delete the specific offending lines from \`go.sum\`, or delete the entire \`go.sum\` file and run \`go mod tidy\` to regenerate it. If this occurs in CI, investigate if a dependency author force-pushed a new commit to an existing version tag \(which violates Semantic Versioning\) or if a private module proxy is misconfigured.
Journey Context:
A developer pulls the latest code from main and runs \`go build\`, only to be blocked by a checksum mismatch. They try \`go get -u\` but it fails with the same error. They delete \`go.sum\` and regenerate it; it works on their machine, but the CI pipeline still fails. The rabbit hole deepens: they assume the dependency is compromised or the network is MITM-ing them. After checking the dependency's git history, they discover the maintainer force-pushed a commit to the v1.0.0 tag, altering the code without bumping the version. The fix works because \`go.sum\` contains cryptographic hashes of module zips. If the upstream tag changes, the hash changes, breaking the record. Regenerating \`go.sum\` fetches the current hash, but setting \`GONOSUMDB\` or \`GOPRIVATE\` for private dependencies prevents the public checksum database from rejecting private hashes that it cannot verify.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T18:03:18.647781+00:00— report_created — created