Your reviewers approved these PRs. They broke anyway.

Precall learns which changes kept needing a fix in your repo and comments on the risky ones on the next PR.

github-actionsbotExample

Precall: this PR breaches a rule from your repo

Changes src/middleware/etag/index.ts

6 of 21 earlier PRs that changed this needed a fix

  • #5111 feat(etag): support conditional requests for the QUERY method fixed by #5196, #5199, #5234
  • #4198 fix(etag): fallback if `res.clone()` is not supported fixed by #4200

How it works

  1. 1. Connect GitHub

    Pick the repos you want Precall to watch.

  2. 2. Precall reads your repo's history

    It finds the files and habits that kept needing a fix after merge.

  3. 3. It comments on risky PRs

    When a new PR touches one of those spots, it says so on the PR, with the earlier PRs that broke there.

What you get

Two examples we picked from public repos: approved PRs where the repo's own history pointed at the risk, and what happened after merge.

  1. supabase/supabase-js

    1. 1. ApprovedApproved by 1 reviewer, merged May 18, 2026
    2. 2. Precall would have flagged itChanges packages/core/auth-js/src/GoTrueClient.ts. 15 of 33 earlier PRs that changed it needed a fix.
    3. 3. Users hit itsignUp() returned no user, even though the user was created (#2390), 3 days later
    4. 4. HotfixFixed in #2391, shipped in v2.106.2 7 days later
  2. sveltejs/kit

    1. 1. ApprovedApproved by 1 reviewer, merged Jun 2, 2026
    2. 2. Precall would have flagged itChanges packages/kit/src/runtime/server/page/render.js. 8 of 29 earlier PRs that changed it needed a fix.
    3. 3. Users hit itThe generated env.d.ts had a broken import path on Windows (#15959), 3 days later
    4. 4. HotfixFixed in #15953, #15971 and #15977, shipped in 2.63.1 5 days later

Across 3,009 new PRs in 28 repos, PRs with any rule hit needed a fix 1.7x as often. How we tested

What Precall learned from Hono

983 merged PRs read · 87 needed a fix (9%)

Files that kept needing a fix

  • Changes to src/middleware/etag/index.ts: 6 of 21 needed a fix29%
  • Changes to src/types.ts: 15 of 47 needed a fix32%
  • Changes to src/helper/adapter/index.ts: 5 of 9 needed a fix56%
Full Hono report →

Pricing

Priced per active developer.

Free

For open source maintainers and small teams.

$0no card

Runs in your GitHub Actions. Public repos: nothing leaves. Private repos: one read-only clone to build rules, deleted after.

  • Unlimited public repos
  • Private repos free up to 3 active devs
  • Comments on PRs that match your repo's rules
Start free

Team

For teams that want every PR checked against their own rules.

$20per active dev
a month

Only devs who opened a PR that month count. 14-day free trial, no card.

Runs in your GitHub Actions. One read-only clone per repo to build rules, deleted after the run.

  • Unlimited active devs
  • Rules updated on every merge
  • Slack digest
  • Admin and audit log
  • Priority support
Start free

Enterprise: runs fully on your own machines, SSO, invoice billing. Talk to us.

Compare Precall with Qodo, CodeRabbit, Copilot code review and CODEOWNERS

Questions

Anything else? Talk to us.

Is this another AI review bot?

No. Precall does not write review text. It comments on risky PRs, using rules learned from your repo's own history, with the counts behind each rule.

How much will it comment?

One summary comment, edited on each push, and at most 5 inline notes. Nothing when no rule is breached or the PR only changes docs.

How do you know the rules work?

We tested the rules on 3,009 recent PRs in 28 public repos that the rules had never seen. PRs with any rule hit needed a fix 1.7 times as often. The result held in 10 of the 28 repos. See the proof page.

Does our code leave our machines?

The Action runs in your GitHub Actions workflow, on GitHub's runners or your own, and reads PRs through the GitHub API. It sends nothing to us. For a public repo, nothing leaves: we build the rules from its public PR history. For a private repo, we make one read-only clone per repo to build the rules, then delete the clone and its token after the run.

What if a rule is wrong for our repo?

Reply /precall ignore to mute it on that PR, or add it to muted in .precall/config.json to turn it off. Only people with write access can mute.

What if our repo is small or new?

If there isn't enough history yet, Precall says so and starts with clearly marked starter rules for your stack.

See what Precall finds in your repo

Paste a GitHub repo and see the PRs that needed a fix after merge. Free, no card.