Know about crashes before your users tell you.

BugFixes is error reporting for your apps. Add the library to your TypeScript, Go or Rust code and every unhandled error is caught, matched against errors you have already seen, and turned into a ticket in the tracker your team already uses.

Your team gets an alert in Slack, Discord, Microsoft Teams or Google Chat, with the error, stack trace and ticket link ready to act on.

Choose how fixes are generated

Use BugFixes AI
Let BugFixes AI generate a diagnosis, validation steps and a suggested patch from the reported error.
Bring your own AI
Connect your own AI provider when you want your source code to stay in your environment while your team still gets a suggested fix.
Your crash data is not retained
BugFixes does not keep your source code or crash data. We store only the crash checksum to recognise repeat errors. Once the report has been sent to your ticketing system, the report data is removed.

Every account starts on the Free plan — 25 AI analyses and 50 tickets a month, no card needed. See what's included

What it looks like when it happens

No demo data. This is a real crash from our own dashboard on 30 September 2026, exactly as the system handled it — from the first report to the suggested patch, in under 15 seconds.

  1. 1.A crash came in
    19:46:36 UTC — the TypeScript agent in a Next.js API route reported it.
    Error
    TypeError in validateEnvironmentResponse
    Where
    app/api/environment/create/route.ts:40
    Fingerprint
    New — first occurrence. Repeats of this crash will update the same ticket instead of opening another.
  2. 2.A ticket was opened in the linked GitHub repository
    19:46:37 UTC — issue #2068, written from the deterministic analysis, no AI involved yet.

    TypeError in validateEnvironmentResponse

    TypeError originated in app/api/environment/create/route.ts at line 40 inside validateEnvironmentResponse. The program likely tried to use a value that was missing or had an unexpected type.

    • Type: TypeError
    • Occurrences: 1
    • Location: app/api/environment/create/route.ts:40
  3. 3.The team was told in Discord
    Seconds later — one message, linking to the ticket. Repeats of the same crash do not spam the channel.

    Bugfixes report: TypeError in validateEnvironmentResponse

    TypeError originated in app/api/environment/create/route.ts at line 40 inside validateEnvironmentResponse.

    Ticket: 2068

    github.com/flags-gg/dashboard/issues/2068

  4. 4.AI analysis landed on the ticket
    19:46:51 UTC — BugFixes AI read the linked repository and commented with a diagnosis, how to validate it, and a patch.

    Diagnosis. The stack trace references validateEnvironmentResponse at line 40, but the current source does not contain that function — a revision mismatch. The deployed code validates the environment-creation response and throws when environment_id is missing or not a non-empty string.

    Validation. npm run lint; npm run test, then POST to /api/environment/create. Risks: callers that received the raw upstream payload will now get a 500 when environment_id is missing; check the logger does not expose response data.

    The AI also said, plainly, that the diff would not apply to the checked-out revision — so the developer knows before trying.

A patch to review, not a PR to merge
BugFixes never opens branches, commits or pull requests.

The suggestion arrives as a diff on the ticket your team already owns. A developer reads the diagnosis, checks the validation note, and decides whether to apply it with git apply, change it, or ignore it. Same pipeline whichever AI you use: BugFixes-managed, or your own provider key. See plans

An automatically opened pull request looks like finished work. It can be picked up by review bots or another AI agent and merged before anyone has read it — which is how one crash turns into a second one. Keeping the change on the ticket keeps a human in the loop at the point where it matters.

The suggested patch, as posted on the issue

diff --git a/src/app/api/environment/create/route.ts b/src/app/api/environment/create/route.ts
--- a/src/app/api/environment/create/route.ts
+++ b/src/app/api/environment/create/route.ts
@@
   const body = await response.json()
-
-    return NextResponse.json(body)
+    // Validate the shape of the response before forwarding it.
+    // The downstream client expects `environment_id` to be a non-empty string.
+    if (!body || typeof body.environment_id !== 'string' || body.environment_id.trim() === '') {
+      logError('Created environment response failed schema validation', new Error('expected environment_id to be a non-empty string'))
+      return NextResponse.json({ error: 'Invalid environment creation response' }, { status: 500 })
+    }
+
+    return NextResponse.json(body)

Trimmed only for width. Read the full issue and comment on GitHub.

What you get

How it works

  1. 1.Your app throws
    The library catches the error or crash and sends the message, stack trace and where it happened to BugFixes. Nothing to wire up beyond an agent key.
  2. 2.We check if we have seen it
    Every report is fingerprinted. If the same error has come in before, it is treated as the same bug rather than a new one.
  3. 3.A ticket is raised
    A new bug gets a ticket in Tracklines, Linear, Jira or GitHub Issues with the error, stack and file and line already filled in. Nobody has to write it up.
  4. 4.Your team is told
    A message goes to your Slack, Discord, Microsoft Teams or Google Chat channel saying what broke, with a link to the ticket.
  5. 5.A fix is suggested
    Use BugFixes AI to generate a patch, or connect your own AI and keep your source code in your environment. Developers stay in control of the implementation.

Simple pricing, no surprises

Every account starts on the Free plan — no card needed. Upgrade when you want unlimited tickets or BugFixes-managed AI, for one flat price per team.

Free
Every new account starts here. No card needed — upgrade from Settings whenever you want more.
$0
  • 25 BugFixes AI analyses a month — diagnosis, validation steps, and a suggested patch
  • 50 new tickets a month in Tracklines, Linear, Jira, or GitHub Issues
  • 2 projects included
  • Unlimited crash reports, deduplication, and repeat tracking
  • Alerts to Slack, Discord, Teams, or Google Chat
  • Crashes keep being recorded when you hit a limit; only the extra AI analysis or ticket waits for next month
Bring your own AI
Crash → ticket → team notified. You bring the AI; BugFixes still processes the report, creates the ticket, and sends the alerts.
$10/month
  • Everything in Free, with unlimited tickets
  • Bring your own OpenAI, Claude, or compatible AI key
  • Your source code never leaves your environment for AI
  • No AI token usage billed by BugFixes — you pay your provider directly
  • Unlimited crash occurrences
  • 2 projects included — add more as a monthly add-on
  • Automatic deduplication — repeats bump priority
  • 180-day report history
  • First 5 customers: free for the first year
Launch pricing — first 5 free for a year
BugFixes AI
Same pipeline plus BugFixes-managed AI attached to every new ticket — diagnosis, validation steps, and a suggested patch, without you managing an API key.
$15/month
  • Everything in BYO AI
  • Unlimited BugFixes-managed AI analyses — no API key to configure or rotate
  • Diagnosis of what went wrong
  • Validation steps to check the fix
  • Suggested patch you can apply with git apply
  • Your source is read-only context — never stored
  • 180-day report history
  • First 5 customers: free for the first year

Full plan details, FAQ and how we compare with Sentry, Rollbar, BugSnag, Raygun and Airbrake