We don’t sell a merge queue (we build Pyor, a review surface for GitHub pull requests, and when a repo uses GitHub’s merge queue, Pyor just adds PRs to it). Search for GitHub merge queue alternatives and every comparison on page one is written by Trunk, Mergify, or Aviator, explaining why you should pick Trunk, Mergify, or Aviator. So we wrote our own, and checked every feature and price in it against the vendors’ own docs and pricing pages in October 2026.
What GitHub’s merge queue already gives you
Start here, because the native queue is free and a lot of teams shopping for alternatives haven’t hit its limits yet. Per GitHub’s merge queue docs, each queued PR is tested on a temporary branch that holds the latest target branch plus everything queued ahead of it, and only what passes gets merged. You pick the merge method, a build concurrency between 1 and 100 merge_group runs, a minimum and maximum number of PRs to merge at once with a wait time, and a status check timeout. Turning off “only merge non-failing pull requests” lets a PR that failed checks merge when the last PR in its group passed, which the docs suggest for intermittent failures. The full walkthrough is in the GitHub merge queue, explained.
The third-party queues sell into the gaps, starting with availability. The docs say merge queues are available in public repos owned by an organization, or in private repos owned by organizations on GitHub Enterprise Cloud, so a private repo on the Team plan doesn’t get one. The docs also say merge limits don’t combine merge_group builds, so every queued entry runs its own CI. There’s no priority beyond moving a PR to the top of the queue, and that causes a full rebuild of every in-progress entry. And the docs describe no way to split one branch’s queue by path or build target, which is what monorepo teams ask for.
Trunk Merge Queue
Trunk Merge Queue has the most complete flaky-test story of the group, which makes sense since Trunk also sells a flaky-test product. Its optimizations page lists predictive testing (each PR tested against main plus everything ahead of it), batching that splits a failed batch in half until it isolates the culprit, and parallel queues built from impacted targets, which Bazel and Nx can compute for you and anything else can post through the API. For flakes it has optimistic merging (a passing PR later in the queue validates the ones ahead of it), pending failure depth (a failed entry waits for the runs behind it before it’s ejected), and quarantine through Trunk’s Flaky Tests product. Priority merging lets a hotfix go first, and direct merge skips retesting a PR that’s already up to date when the queue is empty. Trunk says it works with any CI that reports status checks to GitHub.
On Trunk’s pricing page, the merge queue is in every plan: Free covers up to five committers, Team adds unlimited committers and is billed per committer, and Enterprise is custom. The Team price is built by a calculator on the page (it itemizes $10 a committer for unlimited committers and $8 for extra test spans), so we couldn’t pin down a single merge-queue-only number. Check it against your committer count.
Mergify vs GitHub merge queue
Mergify is the one with the most knobs. It runs queue CI on draft PRs, with parallel checks (speculative runs, up to 128 per its docs), and batches that, on failure, split into at least two parts and keep splitting until a single PR fails on its own and gets removed. Priorities are set by label or rule. For monorepos, scopes come from file globs in the config, or are pushed from your build tool, with guides for Nx, Bazel, Pants, and Turborepo. Two-step CI runs light checks on the PR and the heavy suite only in the queue, which is a real saving if your full suite is expensive. It also has pause, scheduled freezes, stacked PRs, and flaky-test quarantine through its Test Engine product.
Mergify’s pricing is free for open source and for private teams of up to five users, then $21 per seat a month on Max ($18 billed yearly) for up to 100 users, with Enterprise custom and an on-prem option. Open source projects should read the plan table closely: the Free plan for small private teams includes batching, scopes, priorities, and two-step CI, and the Open Source plan doesn’t. It gets parallel checks, stacked PRs, and scheduled merges.
Aviator MergeQueue
Aviator MergeQueue is part of a larger suite (review routing, releases, a stacked PRs CLI). It has three queue modes: sequential by default (its docs point out that a 30-minute suite caps you at about 48 merges a day), parallel mode, where each PR gets a bot PR holding everything ahead of it, and a no-queue mode that keeps the merge rules without the guarantee. Batching requeues a failed batch as smaller bisected batches. For flakes there’s optimistic validation, which waits on up to three entries before ejecting a failure, plus a flaky test management feature in beta that reruns tests that pass on retry. A skip_line label moves a PR to the front, and a non-destructive setting lets running builds finish instead of resetting the queue. Affected targets split a monorepo into independent queues, but you compute the targets yourself (bazel-diff, Nx, or top-level folders) and post them to Aviator’s API.
On Aviator’s pricing page, the free tier doesn’t include MergeQueue. Team is $20 per developer a month with a 14-day trial and includes parallel queues, batching, and flaky test handling for up to 10 repos. Affected targets need Scale at $50 per developer a month. Enterprise is custom and can be self-hosted.
Graphite merge queue
The Graphite merge queue is built around stacks. Stacked PRs added together are validated in parallel, and with fast-forward merge on, the queue lands them without rerunning CI. Its optimizations add parallel CI across stacks and batching, which is in private beta behind a support request, with bisection or full parallel isolation on failure. A fast-track option jumps a single PR to the front, though it still rebases and reruns CI. The docs list no dedicated flaky-test handling (they warn that flaky tests cause evictions) and no monorepo scoping. You also have to disable GitHub’s merge queue to use it, though Graphite can instead feed PRs into GitHub’s queue through its external merge queue integration, without the stack-aware optimizations.
On Graphite’s pricing page, the merge queue is in the Team plan at $40 per user a month billed annually; the $20 Starter and free Hobby plans don’t list it. That’s a lot to pay for a queue if your team doesn’t stack PRs, but if it does, Graphite’s is the only queue here designed around stacks from the start. The rest of what Graphite bundles is in Graphite alternatives, and the stacking side, including GitHub’s own preview, is in GitHub stacked pull requests.
GitHub merge queue alternatives at a glance
| Queue | Batching | Flaky tests | Monorepo | Price |
|---|---|---|---|---|
| GitHub native | Group sizes, but one CI run per entry | Optional: let a failed PR ride a passing group | One queue per branch | Free; private repos need Enterprise Cloud |
| Trunk | Yes, bisects in halves | Optimistic merging, pending failure depth, quarantine | Parallel queues from impacted targets | Free up to 5 committers; Team per committer |
| Mergify | Yes, splits until the culprit is alone | Quarantine and auto-retry | Scopes from globs or build tools | Free up to 5 users; $21/seat/mo |
| Aviator | Yes, bisected batches | Optimistic validation, flaky test management (beta) | Affected targets (Scale plan) | From $20/dev/mo; $50 with affected targets |
| Graphite | Private beta | None documented | None documented | Team plan, $40/user/mo annual |
When GitHub’s native queue is enough
If your repos are public under an org or you already pay for Enterprise Cloud, CI is fast enough that one run per queued PR doesn’t hurt, your tests rarely flake, and you jump the queue a couple of times a month at most, stay native. You skip installing another GitHub App with write access, and you don’t take on another dashboard or bill. If you’re not sure you need a queue at all, read what is a merge queue, and if you only need PRs to land themselves once they’re green, auto-merge may be the whole answer.
Switch when one of these is a weekly cost: the queue isn’t available on your private repo, CI minutes for the queue are a real line item (batching), a flaky test ejects good PRs and restarts everything behind them (Trunk, Mergify, Aviator), unrelated teams in a monorepo wait on each other (Trunk, Mergify, or Aviator’s Scale plan), or your team stacks PRs and wants them landed as a unit (Graphite, or the stack support in Mergify and Aviator).
What we left out
Vendor comparison pages make claims about each other that we couldn’t check. Mergify’s and Trunk’s pages both say GitHub’s queue builds its own merge commit, so the SHA that was tested can differ from the SHA that lands, and Trunk links that to an April 2026 incident. GitHub’s docs don’t address it, so we’re reporting it as their claim. The same goes for third-party listings that quote a Trunk free tier limit of 100 merged PRs a month: that limit isn’t on Trunk’s own pricing page.
A queue keeps main green. It can’t tell you whether anyone read the diff, and that part is still on the reviewer, which is the layer we work on. Pyor (free for individuals, $7.99 per seat a month for orgs) has no queue of its own. When a repo uses GitHub’s merge queue, Pyor adds the PR to it.
Frequently asked questions
What is a good alternative to the GitHub merge queue?
Mergify or Trunk Merge Queue for most teams: both have a free tier for up to five people and add batching with failure bisection, flaky-test tolerance, priority rules, and monorepo lanes. Aviator MergeQueue fits teams that also want its review and release tools, from $20 per developer a month. Graphite’s queue makes sense if your team already stacks pull requests in Graphite.
Is the GitHub merge queue available on private repositories?
Only for organizations on GitHub Enterprise Cloud. GitHub’s docs say merge queues are available in any public repository owned by an organization, or in private repositories owned by organizations using GitHub Enterprise Cloud. A private repo on the Team plan, or any repo owned by a personal account, needs a third-party queue instead.
Mergify vs GitHub merge queue: what is the difference?
GitHub’s queue is free and built in, with one queue per branch, group sizes, build concurrency up to 100, and a jump-to-top that rebuilds everything behind it. Mergify adds batched CI runs that split on failure to find the culprit, label-based priorities, path or build-system scopes for monorepos, two-step CI, scheduled freezes, and flaky-test quarantine. It is free for up to five users, then $21 per seat a month.
Is Trunk Merge Queue free?
Yes for small teams. Trunk’s free plan covers up to five committers and includes the merge queue. Larger teams move to the Team plan, which is priced per committer, and Enterprise is custom. Every plan includes the same merge queue features, including batching, parallel queues, and anti-flake protection.