Safeguard
Security Guides•

How should maintainers handle fork workflow runs awaiting approval?

A routine for maintainers: inspect the diff, look at workflow changes, approve or close, and remember pending fork runs expire after 30 days on GitHub.

Safeguard Security Team
3 min read

Open the pull request, read the Files changed tab, look closely at anything under the workflows directory, and then approve the run or leave it. GitHub states that runs waiting for approval for more than 30 days expire and are marked as failed, so a short weekly routine keeps the queue honest.

Why runs wait

For a public repository, workflow runs triggered by a contributor's pull request from a fork may need manual approval from a maintainer with write access. This applies to first time contributors by default, and you can configure approval requirements for a repository, organization or enterprise. Until approved, no job starts, so no contributor code runs on your runners.

The approval procedure from GitHub's docs

  1. Open the pull request from the Pull requests list.
  2. Click Files changed.
  3. Inspect the changes and confirm you are comfortable running your workflows on the branch.
  4. Watch for any change in the workflows directory.
  5. Click Awaiting approval, then Approve workflows to run.

That is the entire mechanism. The skill is in step three.

A five minute review

Look atRed flag
Workflow filesAny edit by an outside contributor
Package scripts such as test or install hooksNew commands that download or run something
Dependency manifests and lockfilesNew packages, unusual registries, git URLs
Build filesNetwork calls, base images changed
Size and scopeA large unrelated change in a tiny fix

If the pull request changes tests and the scripts are untouched, approving is routine. If it edits the pipeline, do not approve until the owners have read it.

A weekly queue routine

  1. Filter open pull requests with pending approvals.
  2. Sort by age. Anything near the 30 day limit gets a decision or a comment.
  3. Reply to the contributor with what you need, such as a rebase, tests or a split.
  4. Close stale ones politely rather than letting them expire into failures.
  5. Record repeated problem patterns, and add them to CONTRIBUTING.

Reduce the load

  • Write a short CONTRIBUTING section that lists the checks and how to run them locally.
  • Use labels for pull requests that need security review.
  • Auto-close pull requests with no response after a stated period, announced in advance.
  • Spread approval rights across several maintainers, not one person.

Try it yourself

Click through it at your own pace, or open it full screen.

Look at how a queue is sorted and worked by priority, the same habit that keeps an approval queue short.

Where Safeguard fits

Safeguard's dependency scanning, policies and gates help you decide on the dependency side of a contributor change. A free scan shows what it would flag.

Quick check

What happens to a run nobody approves?

After more than 30 days it expires and is marked as failed, with an annotation explaining why.

Who can approve a fork run?

A maintainer with write access to the repository.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.