Go module proxy "410 Gone" / "missing go.sum entry" in CI
Go modules are published by pushing a version tag, but consumers fail until go.sum is updated and the proxy has cached the new version. "missing go.sum entry" means go.sum is stale; a 410 Gone from proxy.golang.org means the proxy does not yet have (or cannot fetch) that version.
What this error means
A build fails with "missing go.sum entry for module providing package ...; to add it: go mod download" or "reading https://proxy.golang.org/.../@v/v1.2.0.info: 410 Gone" right after tagging a release.
go: github.com/me/mod@v1.2.0: reading https://proxy.golang.org/github.com/me/mod/@v/v1.2.0.info: 410 Gone
missing go.sum entry for module providing package github.com/me/mod; to add it:
go mod download github.com/me/modCommon causes
go.sum was not updated for the new version
After bumping a dependency or your own module version, go.mod and go.sum were not refreshed, so the required checksum entry is missing.
The proxy has not cached the freshly pushed tag
proxy.golang.org returns 410 Gone until it fetches the new tag from the origin. A private or unreachable repo can also yield a persistent 410.
How to fix it
Refresh go.mod and go.sum
Run go mod tidy (or go mod download) so the missing checksum entries are added, then commit go.sum.
go mod tidy
git add go.mod go.sumBypass the proxy for private or just-pushed modules
Set GOPRIVATE (or GONOSUMDB/GOFLAGS) so go fetches directly from the source instead of waiting on the public proxy.
export GOPRIVATE=github.com/me/*
export GOPROXY=direct
go mod downloadHow to prevent it
- Run
go mod tidyand commit go.sum with every dependency or version change. - Set GOPRIVATE for private modules so the public proxy is not consulted.
- Allow a brief delay or use GOPROXY=direct right after pushing a new tag.