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.
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
Use a closer mirror/cache for pulls.
Reduce concurrent calls hitting the same endpoint.
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.