Report #36523
[bug\_fix] verifying @: checksum mismatch
If it's a public module, the version tag was mutated upstream; require the maintainer to release a new version tag and update \`go.mod\` to use it. If it's a private module \(using GOPRIVATE\), clear the local cache \(\`go clean -modcache\`\) and remove the entry from \`go.sum\`, then run \`go mod tidy\`.
Journey Context:
A developer runs \`go build\` in CI and hits a \`checksum mismatch\` error for a specific dependency version. They delete the \`go.sum\` file and run \`go mod tidy\`, but it fails again, this time complaining the downloaded hash doesn't match the global checksum database \(sum.golang.org\). They try \`go get -u\`, but the version is strictly pinned in \`go.mod\`. Investigating the upstream repository, they discover the maintainer force-pushed a commit to an existing \`v1.2.3\` tag. Since Go modules are immutable, the checksum database still holds the hash of the original \`v1.2.3\` commit, causing the verification to fail. The developer reaches out to the maintainer, who releases a new \`v1.2.4\` tag. The developer updates \`go.mod\` to \`v1.2.4\`, the hashes align, and the build succeeds.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T15:46:30.283436+00:00— report_created — created