Skip to content
Latchkey

GitHub Actions "Failed to download action" (rate limited)

Before a step runs, the runner downloads the action archive. Under heavy concurrency or anonymous fetches, the download can be throttled (429), failing the job before any step executes.

What this error means

A job fails early with Failed to download action and a rate-limit or 429 indication.

github-actions
##[error]Failed to download action 'https://api.github.com/repos/owner/action/tarball/v1'.
Error: response status code does not indicate success: 429 (Too Many Requests).

Common causes

API rate limiting on action fetch

Many concurrent jobs pulling actions, or unauthenticated fetches, exceed the rate limit.

Transient registry hiccup

A temporary download failure unrelated to your config.

How to fix it

Retry and reduce fetch pressure

  1. Re-run the job; the throttle window is short.
  2. Pin actions to SHAs and consider vendoring critical actions to reduce repeated fetches.
  3. Reduce extreme matrix fan-out that hammers action downloads simultaneously.

Let managed runners absorb the throttle

  1. Latchkey auto-retries transient action-download failures and serves from warm pools, so a brief 429 does not fail the pipeline.

How to prevent it

  • Stagger or cap matrix concurrency for action-heavy workflows.
  • Pin and, where appropriate, vendor frequently used actions.

Frequently asked questions

What causes ""Failed to download action""?
Many concurrent jobs pulling actions, or unauthenticated fetches, exceed the rate limit.
How do I fix "Failed to download action"?
Retry and reduce fetch pressure

Related guides

References

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