Report #9759
[bug\_fix] go: [email protected]: verifying go.sum: checksum mismatch
Do not use \`GONOSUMCHECK\` for public modules. If you own the dependency, delete the force-pushed tag and create a new version \(e.g., v1.0.1\). If you don't own it, upgrade to a newer, properly tagged version or contact the maintainer.
Journey Context:
A developer runs \`go mod tidy\` or \`go get\` and encounters a 'checksum mismatch' error referencing the Go checksum database \(sum.golang.org\). They try \`go clean -modcache\` to clear the local cache, assuming corruption, but the error persists. They investigate and discover that the upstream repository force-pushed a git tag \(e.g., changing the code at v1.0.0\). Go's module system enforces immutability: once a version is published, its cryptographic hash is recorded in the public checksum database. If the hash of the downloaded code doesn't match the database, Go assumes a supply chain attack or corruption and refuses to build. The developer cannot bypass this safely for public modules. They must either use a different, valid version of the dependency or, if they are the maintainer, release a new version tag and never force-push existing tags.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T08:55:23.042158+00:00— report_created — created