Sentry-compatible · draft pull requests only

Your error tracker ends where the work begins.

CrashPatch takes the same crashes, groups them, resolves the minified frame back to your real source, reads that file out of your repository, and opens a draft pull request with a candidate fix and a regression test.

It never merges. It never pushes to your default branch. Every pull request says, at length, what it did not verify.

One repository, ten triaged issues, no card.

Eight steps between a crash and a fix. Your error tracker does one.

  1. 01The error tracker tells you something threwThey do this
  2. 02Work out which of the 40,000 events are the same bugWe do this
  3. 03Find the real file behind a minified frameWe do this
  4. 04Open the repository and read the code around itWe do this
  5. 05Reconstruct what the state must have beenWe do this
  6. 06Write the fixWe do this
  7. 07Write a test that would have caught itWe do this
  8. 08Open a pull request someone can reviewWe do this

What lands in your repository

A draft pull request that reads like one a colleague opened — and is honest about the fact that nobody ran it.

Draft[CrashPatch] Guard against a null user in authMiddleware

src/auth.ts

export function authMiddleware(user) {
- return user.id
+ if (!user) return null
+ return user.id
}

What has not been verified

This patch has not been run. It was not compiled, the application was not started, and the regression test was not executed. Nothing here has been checked beyond reading the source in this repository.

What it will not do

Merge anything

Every pull request is a draft. CrashPatch has no path in its code that merges, force-pushes, or writes to a default branch.

Guess when it cannot see

If the stack does not resolve to a file in your repository, the issue is marked declined with the reason — not patched from imagination.

Claim it tested the fix

The patch is never compiled and the test is never run. The pull request body says so before it says anything else.

Flood a repository

One investigation per grouped issue, and a per-repository daily cap on pull requests. A crash loop cannot turn into fifty of them.

Touch files it was not shown

The model may only rewrite the files read for that crash. A stack trace is attacker-controlled text; it does not get to reach your CI config.

Read a repository you did not connect

Access is per repository through a GitHub App you install, and tokens are minted per job and never stored.

$49 a month, plus $20 a repository.

Triage is billed per issue, not per crash. A bug that fires a million times is one investigation and one pull request, which is the only arrangement that makes sense for either of us.

See the plans

Change your DSN. Keep your SDK.

CrashPatch speaks the Sentry envelope protocol, so the client you already ship works unchanged. There is nothing to install in your application.