Skip to content
Latchkey

CI "context deadline exceeded"

A client aborted an operation because its context deadline (timeout) passed before the work finished. In CI this is common from Go tooling, Docker, and kubectl when a remote call is slow.

What this error means

An operation fails with context deadline exceeded, often pulling an image, calling an API, or waiting on a resource. A re-run usually succeeds when the slowness was transient.

shell
Error: context deadline exceeded
failed to pull image "registry/app:latest": context deadline exceeded

Common causes

A slow remote call exceeded the deadline

A transiently slow registry, API, or network made the call run past the client timeout.

The deadline is too tight

A short configured timeout cannot cover a legitimately slow operation.

How to fix it

Retry, and raise the deadline if needed

Retry the operation and give it a longer timeout where the client allows.

shell
for i in 1 2 3; do
  kubectl --request-timeout=60s get pods && break
  sleep 5
done

Reduce the slow path

  1. Use a closer mirror/cache for pulls.
  2. Reduce concurrent calls hitting the same endpoint.
  3. Authenticate to avoid throttling-induced slowness.

How to prevent it

  • Set deadlines that cover realistic latency.
  • Retry deadline-prone operations in CI.
  • When a transient infra slowdown trips the deadline, managed runners detect the mechanical blip and automatically retry, so a one-off failure does not break the build.

Frequently asked questions

What causes "context deadline exceeded"?
A transiently slow registry, API, or network made the call run past the client timeout.
How do I fix context deadline exceeded?
Retry the operation and give it a longer timeout where the client allows.
Can Latchkey fix this automatically?
Yes. Latchkey runs your GitHub Actions on managed runners that detect this failure, apply the fix, and retry the job automatically - self-healing is on by default.

Related guides

References

Latchkey auto-heals failures like this one - detected, fixed, and retried without you. Start free → 30-day trial · No credit card