Skip to content
Latchkey

Dagger engine image pull failed in CI

On first run, the Dagger CLI pulls the engine image that matches its version. If the registry is rate-limited, unreachable, or the tag is unavailable, the pull fails and the engine cannot be provisioned.

What this error means

dagger fails while starting the engine with "failed to pull image" or "toomanyrequests: You have reached your pull rate limit" for the engine image.

dagger
Error: failed to start engine: failed to pull engine image registry.dagger.io/engine:v0.11.0: toomanyrequests: You have reached your pull rate limit.

Common causes

Registry rate limiting on the engine image

An anonymous pull of the engine image can hit the registry rate limit on shared CI IPs.

A blocked or offline registry

A restricted network or a wrong engine tag makes the image unreachable, so the pull fails.

How to fix it

Authenticate or mirror the pull

  1. Authenticate to the registry to raise the pull limit.
  2. Or mirror the engine image into an internal registry.
  3. Point the CLI at the mirrored image if you use one.
Terminal
echo "$REGISTRY_TOKEN" | docker login registry.dagger.io -u ci --password-stdin
dagger call build

Prepull the engine image

Pull the engine image in a setup step so a transient registry error does not fail the build.

Terminal
docker pull registry.dagger.io/engine:v0.11.0

How to prevent it

  • Authenticate to the registry to avoid anonymous rate limits.
  • Mirror the engine image for restricted networks.
  • Pin and prepull the engine image tag.

Related guides

Tired of flaky CI? Latchkey auto-heals failed jobs and retries them for you. Start free →