Skip to content
Latchkey

act job "skipped" because a needs dependency did not run locally

act evaluates needs: and if: just like GitHub, but the local event context can differ (event name, branch, outputs). A job whose condition or dependency is not satisfied is skipped, so nothing runs.

What this error means

You expect a job to execute but act marks it skipped, often because its needs job did not run or its if: condition is false in the local context.

act
[CI/deploy] jobs to run: []
Job 'deploy' is skipped: needs 'build' did not complete / if condition is false

Common causes

The needed job was not selected

Running a single job with -j deploy does not run its needs: build, so the dependency is unmet and deploy is skipped.

An if: condition is false locally

Conditions on branch, event, or a prior job output can evaluate false when the local event context differs from GitHub.

How to fix it

Run the workflow so needs are satisfied

Run without -j (or run the upstream job too) so needs: dependencies execute first.

Terminal
act push
# runs the whole workflow so needs: build runs before deploy

Trigger the matching event

Invoke act with the event the job condition expects so if: evaluates true.

Terminal
act pull_request -j deploy

How to prevent it

  • Run the full workflow when jobs have needs: dependencies.
  • Trigger the event the if: condition targets.
  • Check the local event and branch context before expecting a job to run.

Frequently asked questions

What causes "job skipped due to needs/if"?
Running a single job with -j deploy does not run its needs: build, so the dependency is unmet and deploy is skipped.
How do I fix job skipped due to needs/if?
Run without -j (or run the upstream job too) so needs: dependencies execute first.

Related guides

References

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