GitHub Merge Queue Pending Checks: Unblock Rollback PRs Waiting Forever (2026 Guide)

Published February 16, 2026 · 10 min read

During incidents, the worst merge queue state is not always red failures. It is often endless Pending: rollback PR approved, but required checks never start or never finish.

This guide is a practical runbook for pending-check rollback delays in GitHub merge queue. You will learn how to tell workflow wiring issues from runner saturation, and how to unblock safely without weakening branch protection.

⚙ Quick links: Merge Queue Rollback Required Checks Guide · Merge Queue Rollback Stuck Guide · Merge Queue merge_group Trigger Guide · Saturation vs Starvation Decision Guide · Checks Keep Restarting Guide · Flaky Required Checks Guide · Protected Branch Revert + Merge Queue · GitHub Revert Pull Request Guide · GitHub Revert Conflict Guide · GitHub Revert-the-Revert Guide · Git Revert Complete Guide · Git Commands Cheat Sheet

Table of contents

  1. Quick decision table
  2. Why pending checks happen in rollback queue entries
  3. 5-minute pending-state triage
  4. Queue-safe unblock workflow
  5. CLI command recipes
  6. Incident operations checklist
  7. FAQ

1. Quick decision table

Symptom Primary action Why this works
Required check stays Pending and never starts Verify workflow supports merge_group events Queue checks often run in merge-group context, not pull_request context.
Checks start very late during incident traffic Inspect runner saturation and queue backlog Capacity bottlenecks look like logic failures.
Checks restart after each queue update Rebase rollback branch to latest protected tip and requeue Fresh snapshot reduces repeated invalidation.
UI shows pending while logs are empty Audit workflow-level if: guards and path filters Job conditions may unintentionally skip merge-group runs.
Incident pressure rising Escalate via formal emergency path, avoid ad-hoc bypass Preserves controls and audit trail while keeping decision explicit.
Safe default: pending checks are diagnosable. First identify whether this is trigger wiring, policy gating, or runner capacity. Then apply the smallest corrective step.

2. Why pending checks happen in rollback queue entries

Most forever-pending rollback PRs fall into one of these buckets:

Anti-pattern: bypassing branch protection because checks are pending can hide workflow defects and create higher-risk follow-on incidents.

3. 5-minute pending-state triage

  1. Confirm rollback branch is rebased to the current protected target tip.
  2. Open required checks panel and note exact pending checks names.
  3. Inspect each workflow trigger for merge_group coverage.
  4. Check CI platform for runner queue depth and longest wait time.
  5. Verify no policy gate (labels, CODEOWNERS, env approvals) is unmet.
  6. Requeue with incident label and an explicit rollback-only scope note.

4. Queue-safe unblock workflow

Use this sequence when pending checks block rollback completion:

  1. Create a fresh rollback branch from protected tip.
  2. Apply only the necessary revert commit(s), no refactor or cleanup.
  3. Ensure required workflows include merge-group trigger support.
  4. Push rollback branch and open incident-labeled PR.
  5. Watch check start latency; if it exceeds expected SLO, inspect runner backlog.
  6. If queue resets repeatedly, re-sync branch and requeue immediately.
  7. Merge and run production verification checklist.
Latency reduction tactic: keep rollback PR tiny and isolate heavy non-rollback jobs into non-required workflows during incident windows, if your policy allows.

5. CLI command recipes

Prepare a fresh rollback branch

git fetch origin

git switch -c rollback/pending-checks origin/main
# Apply exact revert(s)

git push -u origin rollback/pending-checks

Rollback a merged PR (merge commit)

git fetch origin

git switch -c rollback/pr-incident origin/main
git log --first-parent --merges --oneline -n 30
git revert -m 1 <merge-hash>
git push -u origin rollback/pr-incident

Rollback rebase/squash range as one commit

git fetch origin

git switch -c rollback/pr-incident origin/main
git revert --no-commit OLDEST^..NEWEST
git commit -m "Rollback PR due to incident: pending checks queue delay"
git push -u origin rollback/pr-incident

Resolve conflicts and continue revert

# Resolve conflicts in files

git add .
git revert --continue
# If rollback target is wrong:
# git revert --abort

6. Incident operations checklist

  1. Assign incident owner plus CI/queue observer.
  2. Mark rollback PR with incident priority label.
  3. Publish expected check start-time SLO in incident channel.
  4. Record every queue reset and check-retry event.
  5. Escalate workflow/runner owners if pending exceeds SLO.
  6. After merge, log exact rollback hash and validation result.

After stabilization, patch workflow triggers and runner capacity so the next rollback does not hit the same pending-state bottleneck.

7. FAQ

Can checks stay pending even though workflow files look correct?

Yes. Conditional job filters, environment rules, or runner quotas can still block job start despite valid trigger declarations.

How do I differentiate check failure from check non-start?

Failure has run logs and terminal status. Non-start usually shows pending with no run log and often points to trigger or scheduling issues.

Should we disable non-critical required checks during incidents?

Only if your governance model explicitly allows temporary policy change. Otherwise keep required checks stable and focus on rollback scope minimization.

How is this different from queue-stuck rollback triage?

This guide focuses on pending-check latency/non-start. For broader queue starvation and ordering delays, see Merge Queue Rollback Stuck Guide. If checks never start because workflow events are miswired, use Merge Queue merge_group Trigger Guide.

What if required checks fail after we fix pending-state issues?

Use Merge Queue Rollback Required Checks Guide to move from pending-state triage to direct failure remediation. If failures are intermittent rather than deterministic, use Flaky Required Checks Guide.

Related Resources

Merge Queue Rollback Required Checks Guide Fix failed required checks once pending-state bottlenecks are removed. Merge Queue Rollback Stuck Guide Handle queue starvation and approval-ready rollbacks that do not land. Merge Queue merge_group Trigger Guide Fix merge_group workflow trigger gaps when rollback PR checks never start. Flaky Required Checks Guide Stabilize random required-check outcomes that slow rollback incident recovery. Protected Branch Revert + Merge Queue Complete safe rollback workflow under strict protected-branch policies. GitHub Revert Conflict Guide Resolve conflict-heavy rollback PRs safely in UI and CLI workflows. Git Commands Cheat Sheet Fast command reference for incident rollback execution.