Turn bug reports into fixes ready to review.

Praxen Inc. investigates each bug report using your production context. It proves the cause before it writes the fix.

Get started for free

Report

Report the bug right from Slack

Praxen Inc. already has your infrastructure, telemetry, recent changes and code, so there's nothing to explain. It turns the report into an issue and starts investigating.

Try it on a bug
# engineering
Messages Add canvas Files & links
boris 2:09 AM

checkout feels slow. is that us or payments-api?

Praxen Inc. Agent 2:09 AM

Us. checkout-edge Wall Time P99 is 18× its own baseline and the requests are queuing for a Hyperdrive connection, not on a downstream call. payments-api is answering in 180ms, flat for a week. Deploy 9f3c2a1 at 2:02 AM shrank the hd-prod pool from 50 connections to 5.

👀 2
aleksandr 2:11 AM

how long has it been queueing like that?

Praxen Inc. Agent 2:11 AM

Nine minutes, since the deploy landed. It never went above 2 before that. I submitted a PR fix and tagged @justin to deploy 2 minutes ago.

hd-prod · pool queue depth · last 30m deploy 9f3c2a1
02040
-30m -15m now
every request in that queue is a checkout waiting

Open in Praxen Inc. Configure

Cause

It finds the cause and proves it

Each step cites the query, log line or deploy behind it, or says what is still unknown. No proven cause, no fix.

Start debugging
Critical latency degradation in checkout-edge worker Timeline
  1. 02:02:31 Fix run started

    One agent, from the signal to the pull request.

  2. 02:16:41 Causal chain
    Signal (metric)

    workers.invocation.p99_latency · checkout-edge

    Surfacing site

    checkout-edge at Praxen Inc./checkout-edge:src/hyperdrive/pool.ts#withConnection

    Mechanism

    withConnection waits for a free slot before it runs the query, so the P99 carries pool queue time, not database time

    Producer

    hd-prod, at Praxen Inc./checkout-edge:wrangler.jsonc#hyperdrive

    • Producer evidence
    • queue-depth histogram grouped by colo: p99 wait 1.31s at 5 connections in flight, 0.04s below
    • sandboxGrep: max_connections is 5 on the hd-prod binding; the worker opens up to 50
    • change record 9f3c2a1: max_connections 50 → 5
    Trigger

    deploy 9f3c2a1 took max_connections from 50 to 5, 18 minutes before the first breach

    What happens to the failed unit today

    unknown: whether the storefront retries the confirm: Praxen Inc./storefront-web is not a connected repository

    Cadence check

    one queued request per checkout past the fifth in flight matches the 118 breaches and the gaps between evening peaks

    Blast radius

    2 other resource(s), 0 other tenant(s); data at risk: none named

    Every link rests on named evidence, or is written as unknown: <what would establish it>. Counts, not adjectives. If the cause isn't proven, no fix ships.

  3. 02:24:09 Pull request #412

    Restore Hyperdrive pool size in checkout-edge

Fix

It writes the fix and explains it

Praxen Inc. writes the change on a branch, validates it and explains its reasoning. Prefer your own agent? Connect Devin, Cursor, Factory or Conductor.

Start fixing
github.com/Praxen Inc./payments-api/pull/491

Cap retries on the checkout webhook worker #491

praxen
Open praxen wants to merge 1 commit into main from praxen/autofix/chat/k3x9f2-4e7d21a
Conversation 1 Commits 1 Checks 1 Files changed 2
praxen bot commented 6 minutes ago ···

Retries on the checkout webhook worker were unbounded: a failing delivery re-queued itself forever and amplified load on payments-api. This caps delivery at 5 attempts with exponential backoff and dead-letters the payload after the last one.

What changed

worker/deliver.ts gains MAX_DELIVERY_ATTEMPTS = 5 and backoff between attempts; exhausted payloads land in checkout-webhooks-dlq instead of re-queueing.

Validation

npm test: 214 passed. A forced failing delivery stopped after 5 attempts and appeared in the dead-letter queue.

Root cause · Why it's safe · Out of scope
praxen added commit 4e7d21a Verified
Review required At least 1 approving review is required
ci / test Successful in 3m 12s Details
Review required Waiting on your review before it can merge
Merging is blocked

Praxen Inc. takes tickets from wherever you work.

Takes bug reports from anywhere

Describe the bug in a thread, over the CLI, or from your editor through MCP.

Works with your coding agent

Connect Devin, Cursor, Factory or Conductor with your own key. Praxen Inc.'s own executor is the default.

Learns from past tickets

What it confirms on one ticket is remembered and used on the next.

Fixes it in the right repo

Connected through the GitHub app, the fix lands on a branch in the repo behind the affected service.

Only proven causes

Each step cites its evidence or says what is still unknown. No proven cause, no fix.

Tells you the result

An investigation ends resolved, diagnosed or inconclusive. Anything that needs a person becomes one escalation.

It plugs into what you already run.

Loved by developers

Kyle Galbraith Depot, on Product Hunt We've been using Praxen Inc. at Depot for a few weeks now. I've never seen anything like it. I think we merged 10 PRs in the first hour it was running. Things will never be the same. A very awesome team to work with as well. Matthias Pichler @mat_pichler We started using @praxen this week and already merged 4 PRs! When we saw their video walkthroughs an engineer literally went: "Makes me feel like we're living in the future". What a time to be alive! Ben Anthony @benjamin_ACD a few days into using @praxen and I have merged like 40 something worthwhile PRs, seems my agents think the PRs are much higher utility than what detail was giving me Vitor Balocco Runlayer, on Product Hunt It fixed something like 5 mins in after we set it up. It not only helps with on-call investigations, it's also pro-active about improving issues in CI, like flaky tests, hardening against transient errors, etc. Great product! Tito @mynameistito Wait... so you're telling me I don't even need to make PR's to fix up stuff and @praxen will just do it for me???? Ben @nurodev So far @praxen is very cool! Even more that it's finding issues, creating fixes and then working with @pullfrogai in PR's to improve it even more. lucas @0xperp We started paying for praxen mostly bc of the handoff into our cursor account

Related guides

All troubleshooting guides

Common questions.

How do I hand Praxen Inc. a ticket?

Mention @Praxen Inc. in Slack, start a thread in the console, or use the CLI or your editor over MCP. Praxen Inc. already has the graph, the telemetry, the recent changes and the code.

What if it can't find the cause?

It says so. An investigation ends resolved, diagnosed or inconclusive, and anything that needs a human decision becomes a single escalation.

Does it learn from past tickets?

Yes. What it confirms on one ticket is remembered and used on the next, and daily notes keep a record of what happened.

Who writes the fix?

Praxen Inc.'s own executor by default, or connect your own coding agent and every autofix routes through it. Either way, you review it before it merges. Supported agents are at getpraxen.app/integrations.

Which repositories does it work with?

Any repository you connect through source control. The fix lands on a branch in the repo behind the affected service, with the investigation linked from the change. Supported providers are at getpraxen.app/integrations.

Can I ask for a fix from Slack?

Yes. Mention @Praxen Inc. in any channel or DM. Updates come back to the same thread: failed CI, the merge, the close. Reply there to steer it.

Does it test several theories at once?

Only when you ask. By default one agent does the work; ask for a swarm and several agents test the open questions in parallel.

What if there is nothing to fix?

Praxen Inc. says so. It won't invent a diff to look busy.

What happens to a fix nobody reviews?

One reminder after a week, then Praxen Inc. closes it and says why. The branch stays, so reopening brings the change back unchanged.

More use cases

Clear the bug backlog. Praxen Inc. works each ticket and hands you the fix.