Report #2465
[bug\_fix] go: verifying github.com/foo/[email protected]: checksum mismatch
Delete the specific entry from \`go.sum\` and run \`go mod tidy\` or \`go get\` again to re-fetch and re-hash. If it persists, clear the local module cache \(\`go clean -modcache\`\) to ensure a corrupted download isn't being re-read.
Journey Context:
A developer pulls the latest code from main and runs \`go build\`. The build fails with a checksum mismatch for a specific dependency. They assume the dependency was compromised or corrupted. They delete the \`go.sum\` file entirely and regenerate it, which works locally but fails in CI. The real root cause is often that the author of the dependency force-pushed a new commit to the same version tag \(e.g., v1.2.3\), or the developer's local proxy/cache served a different version. The \`go.sum\` file contains the cryptographic hashes of the downloaded modules. If the hash of the downloaded zip doesn't match \`go.sum\`, Go refuses to build to ensure supply chain security. Deleting the entry from \`go.sum\` and re-downloading fetches the current artifact and calculates its correct hash, updating \`go.sum\`. If the dependency author force-pushed, the whole team will get this mismatch until the \`go.sum\` is updated with the new hash.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T12:19:24.203560+00:00— report_created — created