GitHub Copilot Code Review Alternative for Agent-Heavy Teams
What GitHub Copilot code review does now that it can approve PRs, and how to add expert routing, test evidence and review policy as code alongside it.
Published 9 min readBy the Warpway team
One practical alternative to GitHub Copilot code review is a second layer that runs next to it. As of October 2026, Copilot comments on pull requests and adds an approval assessment to every review. If an admin turns approvals on, it also submits approvals that count toward required reviews. Admins can limit the pull requests those approvals count on with up to 15 path globs (if the field is left blank, approvals count for all files), and new commits dismiss them. GitHub's docs do not describe Copilot routing unresolved questions to a specific person or basing its approval on test results. Its approval toggles and path globs live in repository and organization settings, not in a versioned file. A review orchestrator such as Warpway can handle those parts while Copilot keeps commenting.
What Copilot code review does, according to GitHub's docs
GitHub released Copilot approvals as a public preview on September 1, 2026 and made them generally available on October 28, 2026. The October release also added a third effort level, Max, which runs several review agents on models from different providers and merges their findings into one review. Comparisons written before September 2026 describe a Copilot that only commented.
This is what GitHub's usage, configuration and concept docs describe:
| Capability | What GitHub's docs say |
|---|---|
| Default review | A "Comment" review, not "Approve" or "Request changes" |
| Suggested changes | Included where possible; you apply them in a couple of clicks, or hand them to Copilot cloud agent with "Fix with Copilot" |
| Approval assessment | In the overview comment of every review; by itself it does not count toward merge requirements |
| Approvals | Off by default; configured at enterprise, organization and repository level. The repository has two toggles: "Allow Copilot to approve pull requests" and "Allow Copilot approvals to count toward merge requirements" |
| Path limits | Up to 15 globs; if a path list is set, an approval counts only when every changed file matches one. Left blank, approvals count for all files |
| New commits | The approval is dismissed, as a human reviewer's would be; re-request a review to get a new one |
| Re-review on push | Only when "Review new pushes" is enabled (in a ruleset, enterprise policy or the author's own settings), or when someone re-requests a review |
| Context | Agentic context gathering that runs on GitHub Actions; MCP servers, with GitHub's and Playwright's on by default |
| Instructions | .github/copilot-instructions.md, AGENTS.md and path-specific *.instructions.md files |
| Cost | AI credits, about $0.25 (Lite), $1.50 (Balanced, the default) and $10 (Max) per review on average |
Two limits in the docs matter when you choose what to run next to Copilot. GitHub's concept page says Copilot will not necessarily spot every problem in a pull request, will make mistakes, and should be paired with human review. Also, people can see replies to Copilot's review comments, but Copilot cannot and won't respond.
How noisy are Copilot's comments?
Here is one first-hand account. Angie Jones, writing about pull request reviews on goose, an open source AI agent framework built in Rust, said in November 2025 that before tuning, "only about 1 in 5 comments were actually good catches that the contributor would have missed." She fixed it with a .github/copilot-instructions.md file. The file set a high-confidence threshold, listed priorities such as security and correctness, told Copilot what CI already checks, named low-value topics to skip, and told it to stay quiet when uncertain. She reports that the noise "dropped dramatically."
That is one project, not a measurement of Copilot in general. The lesson still applies to any AI reviewer you try: tell it what not to comment on. Here is a starting point along the same lines:
# .github/copilot-instructions.md
## Comment only when
- You are confident the issue is real and the author would likely miss it.
- It affects correctness, security, data loss or a public API.
## Already enforced by CI, do not comment
- Formatting, lint rules, type errors, failing unit tests.
## Skip
- Naming preferences, optional refactors, missing doc comments.
## When unsure
- Say nothing.Copilot reads these instruction files from the pull request's head branch, not the base branch. So a pull request that edits the instructions gets reviewed with its own edits. That makes the instructions quick to iterate on, which suits guidance. The approval toggles and path globs are different: they live in repository and organization settings, not in a file on the branch.
The approval decision on agent-heavy teams
When coding agents open many of your pull requests, work usually waits on the required human approval. Copilot approvals target that wait directly. The question then shifts from "is the review good enough?" to "what must be true before an approval counts?" Settle three things before you turn approvals on:
- Which paths. The glob list is the main fixed limit you control: up to 15 globs, and every changed file has to match. Start with paths where a wrong approval costs little, such as documentation, tests and generated clients.
- What else must pass. Copilot's approval satisfies a required-approval rule. Passing tests is a separate rule. If you want both, require the CI checks in the same ruleset.
- What happens after a push. New commits dismiss the approval. Agents often push several follow-up commits, so enable "Review new pushes". Otherwise someone has to re-request the review each time.
Whether Copilot approves still depends on its own assessment of the pull request. You might instead want approval to depend on a fixed checklist that code checks, such as named CI checks, no open questions and a size limit. That is a different design, and it is where the alternatives differ most. The guide to AI code review tools that approve pull requests compares them in more depth.
What teams add on top of Copilot
Unresolved questions, sent to someone who knows
Many decisions in an agent-written pull request are not code questions. Is a 15-minute delay before a revoked admin loses access acceptable? Should unused credits survive cancellation? The author may be an agent, or an engineer who delegated the work and doesn't know either. Copilot posts its comments on the pull request. Its docs do not describe picking a person to ask, and it cannot read replies.
Warpway turns each material question that its lenses can't resolve into a human task. A task is one question, with why it matters, the evidence gathered, the relevant line ranges, and answer choices that each say what will be recorded. Routing picks who gets it. It draws on rule and lens owners, CODEOWNERS, configured Slack and GitHub contacts, review and commit history, linked issues and topic expertise, and it shows its reason, for example "owner of the Product Semantics lens, answered 3 earlier billing cancellation questions."
Engineers answer on GitHub with /warpway answer <code> <answer>. On the Team plan, product or legal experts get a Slack direct message with answer buttons and don't need a Warpway account. A vague reply such as "Sounds fine" gets one follow-up question instead of being recorded as a yes.
Test-run evidence
Copilot reviews the code, and your CI runs it. The simplest link between the two is to require both in a ruleset. Warpway's runtime verification ties them more closely:
- You list approved test profiles in
.warpway.yml. - Warpway runs them in your own GitHub Actions on the exact commit under review, using the copy of the workflow on the base branch.
- The results become evidence for the lens that needs them. A model never writes or chooses the commands.
If a required profile fails, times out or returns nothing usable, that lens is Incomplete and the review does not pass. Pull requests from forks are not verified.
Configuration as code that a pull request cannot loosen
Warpway reads .warpway.yml from the base branch at the base commit. A pull request that removes security from required_lenses is still reviewed with Security required, and the change takes effect only after it merges. Owners can lock keys for the whole organization. If the file is invalid, Warpway applies none of it rather than guessing what you meant. At Gate and above the Warpway / Review check fails, which blocks merges once it is a required check. A coding assistant can read, validate and propose changes through MCP, but those changes still land through a reviewed pull request.
# .warpway.yml
version: 1
required_lenses:
- correctness
- security
- testing
routing:
product_semantics:
slack_user_group: "@product-leads"
prefer_slack: true
security:
github_team: "@acme/security"
runtime:
profiles:
unit:
workflow: warpway-verify.yml
input: unit
required_for_lenses:
- testing
merge_gate:
required_ci_checks:
- build
auto_approve:
enabled: falseCopilot, CodeRabbit and Warpway approvals, side by side
CodeRabbit can also approve pull requests, so it is a useful third comparison. As of October 2026, its automatic approvals docs and the pages above describe:
| Copilot code review | CodeRabbit automatic approvals | Warpway auto-approval | |
|---|---|---|---|
| Default | Off | Off | Off |
| Turned on by | Admins at enterprise, organization or repository level | reviews.auto_approvals.enabled in .coderabbit.yaml, or the web settings | An Owner at organization and repository level, plus trust level 4 and auto_approve.enabled in policy |
| Approves when | Copilot considers the pull request ready; if a path list is set, the approval counts only where every changed file matches it | Latest commit reviewed, required threads resolved, no failing Pre-Merge Check, within risk limits, and no path or team override that disables approval | All 13 deterministic conditions pass for the exact head commit, including required lenses Cleared, no open required task and configured CI checks at success |
| After a new commit | Approval dismissed | Reviews the new commit and confirms HEAD hasn't changed immediately before approving | Not eligible until reviewed again; the docs recommend GitHub's "Dismiss stale pull request approvals" setting |
| Platforms | GitHub | GitHub, GitLab, Azure DevOps, Bitbucket | GitHub |
| Plans | Pro, Pro+, Max, Business, Enterprise | Essentials, Team, Advanced, Enterprise | Team |
All three vendors give similar advice. Copilot's docs recommend human review alongside it. CodeRabbit's docs suggest keeping higher-risk pull requests for human approval. Warpway's docs suggest auto-approval only for narrow, low-risk kinds of change.
Running Warpway alongside Copilot
Warpway does not replace Copilot's inline comments or suggested changes. It reports through one check, Warpway / Review, and one summary comment that it edits in place. It adds line annotations only for concrete findings. Its lenses can read the pull request's comments and earlier review verdicts, so a Copilot review already posted when Warpway's review runs can be part of the context they read. A workable rollout:
- Keep Copilot's automatic review ruleset, with "Review new pushes" on.
- Install the Warpway GitHub App on the same repositories. New repositories start at Assist: questions are routed and the check reports
neutral, so nothing blocks merges. - Connect Slack, and add
routingfor lenses whose answers live outside engineering. - Add runtime profiles for the test suites you want counted as evidence.
- Once Warpway's results match your team's judgment, raise the repository to Gate and make
Warpway / Reviewa required check (see merge gating). - Decide which bot, if any, may approve each kind of change. If both Copilot approvals and Warpway auto-approval can count, make sure two bots cannot satisfy a branch that requires two approvals.
Know the limits. Warpway works with GitHub only and never merges. It is new, so there are no public customers to point to. Gating, Slack routing, runtime verification and .warpway.yml require the Team plan ($30 per developer per month); the Free plan stops at Assist.
To see what a lens finding looks like on real code, Warpway publishes replays: merged open-source pull requests, as they stood before merge, run through Warpway on 2026-10-07. One example is Hono's c.json(undefined) fast path, which was reverted after four days.
Frequently asked questions
Can Copilot code review block a merge on its own?
GitHub's docs say Copilot leaves a Comment review by default, not a Request changes review, and its approval assessment does not count toward merge requirements by itself. Your rulesets decide whether a pull request can merge: required approvals, which a Copilot approval can satisfy once enabled, and required status checks. A Copilot Comment review does not block a merge. To make an automated review result block merges, have it report a required status check or a review your rules treat as blocking.
How much does a Copilot code review cost per pull request?
Copilot code review uses AI credits. GitHub's docs estimate an average of about $0.25 per review at Lite, $1.50 at Balanced and $10 at Max, and say cost rises with pull request size and custom instructions. Automatic reviews are billed to the pull request author, and manual ones to whoever requested them, unless the organization chooses to pay.
Should Copilot approvals count toward branch protection?
Start narrow. Use the path list for files where a wrong approval costs little, such as documentation and tests. Also require your CI checks, so an approval cannot stand in for a passing build. Widen the list only after you have checked a few weeks of Copilot's approval assessments against what your reviewers decided.
Does Warpway work with GitLab or Bitbucket?
No. Warpway is a GitHub App and reviews GitHub pull requests only. If you also need GitLab, Azure DevOps or Bitbucket, CodeRabbit's documentation lists all three alongside GitHub.
Does Warpway train models on my code?
No. Warpway's docs say it does not train models on your code, pull requests or answers. They also say reviews run through OpenAI's API, that OpenAI does not train on API data unless the customer opts in, and that Warpway has not opted in.
Sources
- Copilot code review can now approve pull requests - GitHub Changelog
- Copilot code review: Merge with confidence with Max and approvals - GitHub Changelog
- Using GitHub Copilot code review - GitHub Docs
- Configuring code review by GitHub Copilot - GitHub Docs
- About GitHub Copilot code review - GitHub Docs
- How I Taught GitHub Copilot Code Review to Think Like a Maintainer - DEV Community
- Automatic approvals - CodeRabbit Docs