Skip to content
Latchkey

GitHub Actions step killed because timeout-minutes was exceeded

A step or job ran longer than its timeout-minutes value, so the runner cancelled it. This is a configured limit, not infrastructure failure - the step either needs more time or is hanging.

What this error means

A step is cancelled mid-run with a message that the timeout was reached, even though it had not finished.

github-actions
##[error]The action 'Run integration tests' has timed out after 10 minutes.
##[error]The operation was canceled.

Common causes

Limit lower than the real runtime

timeout-minutes was set tighter than the step actually needs, so a healthy run gets cut off.

Step is hanging

A process waits on input, a network call, or a service that never responds, so it never completes within the limit.

How to fix it

Right-size the timeout or fix the hang

  1. Measure the step's normal duration and set timeout-minutes with headroom.
  2. If it hangs, add internal timeouts to the hanging command (for example a test or curl timeout).
  3. Re-run.
.github/workflows/ci.yml
- name: Integration tests
  timeout-minutes: 20
  run: npm run test:integration -- --testTimeout=60000

How to prevent it

  • Set timeout-minutes with headroom over observed runtimes.
  • Add command-level timeouts so hangs fail fast with a clear cause.

Frequently asked questions

What causes ""timeout-minutes exceeded killed step""?
timeout-minutes was set tighter than the step actually needs, so a healthy run gets cut off.
How do I fix "timeout-minutes exceeded killed step"?
Right-size the timeout or fix the hang

Related guides

References

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