Git LFS "Error downloading object ... (missing)" in CI
By Kaveh Alemi·Latchkey
The commit contains a valid LFS pointer, but the object it references was never uploaded to the server, so the download returns "missing". The pointer and the stored object are out of sync.
What this error means
git lfs pull or checkout prints "Error downloading object: path (oid): Object does not exist on the server" or "(missing)" and fails to fetch that object.
git-lfs
Error downloading object: data/weights.bin (9f8e7d6):
[9f8e7d6] Object does not exist on the server or you don't have permissions to access it.
error: failed to fetch some objects
Common causes
The object was never pushed to the remote
A commit landed with the pointer but git lfs push never uploaded the content, for example when a push used --no-verify or LFS was misconfigured at commit time.
The object was pruned or lives in a different remote
A migrated or pruned object, or one stored on a fork, is not present on the remote CI clones from.
How to fix it
Push the missing objects from a machine that has them
On a clone that still holds the content, run git lfs push --all origin.
Confirm the object now resolves with git lfs fsck.
Re-run the CI job so the fetch finds the object.
Terminal
git lfs push --all origin
git lfs fsck
Restore or re-migrate the source content
If no clone has the bytes, the object is lost; recreate the artifact and re-add it via LFS, or restore it from a backup remote.
Using this in CI
CI checkouts are shallow and detached by default, which changes the answer this command gives you. Commands that read history, branch names, or tags need the checkout configured for it.
.github/workflows/ci.yml
- uses:actions/checkout@v4with:fetch-depth:0 # history, tags, and git describe all need this- run:|git rev-parse --is-shallow-repository # expect falsegit rev-parse --abbrev-ref HEAD # prints HEAD when detached
How to prevent it
Never push with --no-verify, which can skip the LFS upload.
Run git lfs fsck before relying on a remote in CI.
Keep a backup remote for critical large artifacts.
Frequently asked questions
What causes Git LFS "Error downloading object ... (missing)" in CI?
There are 2 common causes: the object was never pushed to the remote and the object was pruned or lives in a different remote. A commit landed with the pointer but git lfs push never uploaded the content, for example when a push used --no-verify or LFS was misconfigured at commit time.
How do I fix Git LFS "Error downloading object ... (missing)" in CI?
There are 2 fixes depending on which cause you have: push the missing objects from a machine that has them and restore or re-migrate the source content. Work through them in order, since the first is the most common.
What does Git LFS "Error downloading object ... (missing)" in CI actually mean?
git lfs pull or checkout prints "Error downloading object: path (oid): Object does not exist on the server" or "(missing)" and fails to fetch that object.
How do I stop Git LFS "Error downloading object ... (missing)" in CI happening again?
Never push with --no-verify, which can skip the LFS upload. The prevention section lists 3 changes that keep it from recurring.