A GitHub app for pull-request dependencies

Block 'til you're ready.

MergeDeps stops a pull request from merging until the PRs it depends on are merged. Declare dependencies in the description, get a required check, ship in the right order.

No code access required. Free for teams up to 5.

How it works

Three steps. One required check.

MergeDeps lives entirely in your pull request descriptions. No new UI to learn. No source code access.

  1. Step 1

    Declare dependencies

    In your pull request description, list the PRs you're waiting on. Same repo, sibling repo, or another organization — all supported.

    Depends on #85, rails/rails#40000
  2. Step 2

    A required check appears

    MergeDeps creates a check that fails until every listed dependency is merged. Wire it into your branch protection rules and it becomes a hard gate.

    mergedeps / dependencies — pending
  3. Step 3

    Merge in the right order

    When the dependencies land, the check turns green and your PR becomes mergeable. Edit the PR description any time to add, remove, or strike out a dependency.

    All dependencies merged — ready to merge

Features

Everything you need to merge in order.

A small surface, deliberately. MergeDeps does one thing — block until you're ready — and gets out of the way.

Multi-repository support

Block on PRs in the same repo, a sibling repo in your org, or a PR in any other public repo. Reference them with the familiar #id, project#id, or org/project#id syntax.

No code access

MergeDeps reads pull request descriptions. It never asks for, and never receives, access to your source code.

Quick setup

Install the GitHub app, enable the check on a protected branch, and you're done. No webhooks to host, no servers to run.

Open-source dependencies

Block on a fix in upstream rails/rails, an in-progress kubernetes/kubernetes patch, or anything else on GitHub. Cross-org dependencies are first-class.

Edit anytime

The PR description is the source of truth. Add a forgotten dependency, strike one through with markdown, or remove the line entirely — the check updates.

Time-based blocks

Need to hold a PR until a release window opens? Use 'Blocked until 12/25/2024' and the check stays red until the date passes.

Pricing

Simple pricing. Same features.

Every plan ships every feature. You only pay for organization size.

Free

Everything you need to try MergeDeps on a small team.

$0 forever
  • Unlimited public repositories
  • Unlimited private repositories
  • Up to 5 organization members
  • All features available
Install on GitHub
Most popular

Growth

For growing teams that need a little more headroom.

$15 per month
  • Unlimited public repositories
  • Unlimited private repositories
  • Up to 20 organization members
  • All features available
  • Email support
Install on GitHub

Unlimited

For organizations of any size, with priority support.

$49 per month
  • Unlimited public repositories
  • Unlimited private repositories
  • Unlimited organization members
  • All features available
  • Email and chat support
Install on GitHub

FAQ

Questions, answered.

Do you need access to my code?

Nope. Our app doesn't even request code access — it only reads pull request metadata and descriptions.

I've accidentally made PRs dependent on each other. How can I fix it?

No problem. The PR description is the source of truth for dependencies — edit one of the descriptions and the check updates immediately.

The MergeDeps check is failing, but my PRs are still mergeable. Why?

Check your protected branch rules and make sure the MergeDeps check is marked as required. Without that, GitHub treats it as informational.

Can I depend on a PR in another organization or open-source project?

Yes. Use the org/project#id syntax — for example, 'Depends on rails/rails#40000' — and MergeDeps will track it the same way it tracks an internal PR.

How do I temporarily hold a PR for a release window?

Add a 'Blocked until' line followed by a date, like 'Blocked until 12/25/2024'. The check stays red until that date passes.

How do I remove a dependency I no longer care about?

Delete the line, or apply markdown strikethrough to it. MergeDeps treats both as 'no longer a dependency.'

Get started

Stop merging things in the wrong order.

Install MergeDeps on your organization in under a minute. Free for teams of up to five.