Mergepatrol

Mergepatrol vs GitHub's merge queue

GitHub’s built-in merge queue and Mergepatrol do the same core job: test each pull request against the code it will land on, then merge it. They differ in who can use them, what your CI has to change, and what happens when a pull request does not go through cleanly. Checked against GitHub’s docs on 31 October 2026.

At a glance

GitHub merge queueMergepatrol
Private repositoriesOnly for organizations on GitHub Enterprise CloudAny GitHub plan, $15 per seat a month after a 14-day trial
Public repositoriesOrganization-owned repositoriesAny public repository, free within a fair-use limit
CI changesGitHub Actions workflows must run on merge_group; other CI on pushes to gh-readonly-queue/* branchesNone: batches run your existing pull_request workflows on a draft PR
How to queue“Merge when ready”, gh pr merge, or the GraphQL enqueuePullRequest mutationA label, the dashboard, or the MCP tool queue_pull, so people and coding agents queue the same way
A PR that conflicts with its baseRemoved from the queueAn agent resolves the conflict, your verify commands run, and the PR keeps its place
A required check that failsThe PR is removedAn agent commits a fix on the PR, up to fix_ci.attempts times, before ejecting it
A failed group of PRsThe failing PR is removed and the group is rebuilt without itThe batch is split in half repeatedly down to the PR that broke it; the rest merge
Stacked PRsNot described in the merge queue docsA gh stack stack queues and merges as one item, all or nothing
Agent code reviewNoOptional: an agent reviews each queued PR and asks code owners about what it is unsure of
Self-hostingGitHub Enterprise ServerApache-2.0, docker compose up

Where GitHub’s merge queue is the better fit

Where Mergepatrol is the better fit

Switching

Mergepatrol and GitHub’s queue should not both run on one branch: they would race for merges.

  1. Install Mergepatrol and merge the setup PR that adds .mergepatrol/mergepatrol.yml.
  2. Turn off “Require merge queue” on the branch’s ruleset or branch protection.
  3. Keep your required checks. Mergepatrol waits for the same ones.
  4. Label pull requests mergepatrol instead of pressing “Merge when ready”.

You can leave the merge_group trigger in your workflows; nothing calls it.

FAQ

Is GitHub’s merge queue available on GitHub Team? GitHub’s documentation lists public repositories owned by an organization, and private repositories owned by organizations on GitHub Enterprise Cloud. Team is not on that list.

Does GitHub’s merge queue bisect a failed group? Its documentation describes removing the failing pull request and rebuilding the group for the rest. Mergepatrol splits a failed batch in half until it finds the one that broke it: see How a merge queue batches pull requests.

Does Mergepatrol need a model key? Only for the agent features. Without one, a conflict or a failed check ejects the PR, as GitHub’s queue does.