git LFS "smudge filter lfs required": the clone that never installed the filter
Problem
A fresh clone of a repo with media assets:
Filtering content: 100% (12/12), failed.
warning: Clone succeeded, but checkout failed
error: external filter 'git-lfs filter-process' required
fatal: the remote end hung up unexpectedlyThe clone "succeeded" and the working tree has 130-byte pointer files where the PSDs should be. Anyone without git-lfs installed hits this identically, and CI hits it with extra flavors.
Root cause
.gitattributes marks paths with filter=lfs, and git delegates checkout ("smudge") to the git-lfs binary. If the binary is absent — or present but not registered (git lfs install writes the filter into git config) — checkout cannot produce real content. A second flavor: LFS installed but authentication to the LFS endpoint fails (private repos need the same credentials as the main remote, and CI tokens often have LFS scope missing), which surfaces as the "remote end hung up" line.
git lfs install # registers the filter for this user
git lfs pull # replaces pointer files with real content
# or, to redo a broken checkout in place:
… 1 more line in the fix🔒 the fix — including 4 code blocks — is members-only. $1/mo unlocks everything.