Last updated:
About AutoMerge
AutoMerge scores each pull request and approves the safe ones. You start it in Dry run, where it only posts its decision as a comment until you switch it on.
Coding agents have made writing a change cheap. Reviewing it has not become cheaper, so pull requests queue up waiting for a person, including the routine ones nobody needed to read line by line. AutoMerge takes that routine share off your reviewers. It judges each pull request against criteria you control, holds back anything that touches the paths you protect, and lets a person decide everything it is not confident about.
AutoMerge is in public beta. It supports repositories connected through the GitHub integration.
How AutoMerge Works
For every evaluated pull request, AutoMerge:
- Pins the commit: It evaluates the head commit at the moment the evaluation starts. A new push starts a new evaluation.
- Applies hard gates: A pull request that touches a Protected path, or changes 3,000 or more files, is held for a person without being scored.
- Scores each criterion: One AI evaluator per criterion reads the change with a set of read-only evaluator tools and returns a score from 0 to 100 with a rationale. The default criteria are Blast radius, Evidence quality, and Change footprint.
- Decides: It weights the scores into a combined score and approves when that score reaches the repository's threshold and no criterion falls below its own floor.
- Reports and acts: It posts its decision as a comment and an advisory check on the pull request. Depending on the repository's mode, it then approves the pull request, or approves and merges it.
Every decision, score, and rationale is also recorded in Dash0, where you can compare the bot's decisions with your reviewers' and test configuration changes against past pull requests.
Modes
Each repository runs in one of four modes. The mode is the repository's default autonomy level, and path rules can raise or lower it for specific paths, down to Protected.
| Mode | What AutoMerge does |
|---|---|
| Off | Takes no action on this repository. |
| Dry run | Comments its decision without approving or merging. |
| Auto-approve | Approves qualifying pull requests. Never merges. |
| Auto-merge | Approves and merges qualifying pull requests. |
A person always decides what AutoMerge does not approve. AutoMerge's check is advisory: it does not block merges unless you make it a required check in GitHub.
Getting Started
- Follow Set Up AutoMerge to connect GitHub and start Dry run on your repositories.
- Read Key Concepts to understand modes, scoring, and path rules.
- Follow Roll Out AutoMerge to move from Dry run to Auto-approve once its decisions match your reviewers.
Further Reading
- Configure a Repository: Mode, trigger, threshold, criteria, and path rules.
- Evaluator Tools: What each criterion can read while it scores.
- Key Concepts: How autonomy levels, scores, and path rules combine into a decision.
- Roll Out AutoMerge: Move from Dry run to Auto-approve with evidence.
- Set Up AutoMerge: Connect GitHub and start your first Dry run.