Registry "manifest for ... not found" (tag does not exist) on pull in CI
The pull asked for a tag the registry has no manifest for. The repository exists and you may be authorized, but that specific tag was never pushed, was overwritten/deleted, or is misspelled. List the available tags and pull one that exists, or push the tag first.
What this error means
docker pull <registry>/<repo>:<tag> fails with "manifest for <registry>/<repo>:<tag> not found: manifest unknown" while other tags of the same repo pull fine.
Error response from daemon: manifest for registry.example.com/app:1.4.0 not found:
manifest unknown: manifest unknownCommon causes
The tag was never pushed or was removed
A downstream job pulls a tag an upstream job was supposed to push, but the push did not run or the tag was deleted.
A mistyped or wrong-environment tag
The reference has a typo, or points at a tag that only exists in another registry or environment.
How to fix it
List tags and pull an existing one
- Query the registry for available tags of the repository.
- Pull a tag that exists, or push the intended tag first.
- Order jobs so the push completes before the dependent pull.
# list tags (v2 API)
curl -s https://registry.example.com/v2/app/tags/listPin by digest to fail loudly
Reference the image by digest so a missing or retagged image is unambiguous rather than silently resolving to a different build.
docker pull registry.example.com/app@sha256:<digest>How to prevent it
- Ensure the producing job pushes the tag before consumers pull it.
- Pin digests for reproducible, fail-loud pulls.
- Validate tag strings to avoid typos in references.