An open-source Sentry alternative built for AI-written code
Sentry tells you what threw. Mushi ingests that — plus the bugs that never throw — explains each one in plain English, and closes the loop with a fix your agent can ship. One queue, one audit trail, with or without Sentry. If your app was largely written by Cursor, Claude Code, or another agent, that’s the answer you actually need — you didn’t write the code, so a raw stack trace costs you an afternoon of archaeology.
Mushi is open source (MIT SDKs, AGPLv3 server), works standalone, and turns a user’s bug report — or a Sentry error alert — into a plain-English diagnosis with a fix you can paste into your editor.
Instead of Sentry, or alongside it — your call
Run Mushi instead of Sentry if user-felt friction is what you care about: broken buttons, dead flows, confusing states, plus the thrown errors the SDK captures along the way. Run Mushi alongside Sentry to keep crash-level telemetry, performance tracing, and release health where they are — and point a Sentry issue-alert webhook at Mushi so every error still lands in the one queue, deduped and diagnosed, with the fix resolving the Sentry issue when it merges (3-step setup). Both paths are first-class; neither asks you to rip anything out.
Side by side
| Question | Sentry alone | Mushi |
|---|---|---|
| What it sees | Errors your code throws | Everything: user-felt friction, plus the errors Sentry catches — routed into one queue |
| What lands in your queue | A stack trace | A short user note plus the screenshot they were looking at |
| Repeat bugs | Each one shows up as a new issue | The same broken button collapses to one row |
| What you learn from fixes | None — the next dev repeats the mistake | Past fixes become rules your editor sees on the next PR (.mushi/lessons.json) |
| Closing the loop | Assign a ticket and remember to update | A draft PR from your agent; merging it resolves the linked Sentry/Linear issue for you |
| Reporter attribution | Anonymous | "Fixed by Kenji" in the changelog and an SDK toast, once Releases is enabled |
| From your IDE | Copy the issue ID into Cursor | Cursor reads the report + relevant lessons and proposes the diff |
| Where it runs | Their cloud | Yours, ours, or both |
What “diagnosis” means here
When a report lands, Mushi reads the report, the screenshot, and your repo, then writes what broke and why in the language you’d use to explain it to a teammate — plus a fix prompt scoped to the files involved. Twenty reports about the same broken checkout button collapse into one row, and past fixes become lessons your editor sees on the next PR.
Try it on your app
One command detects your framework, installs the SDK, and writes your env vars:
npx mushi-mushiThe free tier includes 50 diagnoses a month with no card, and you can self-host the whole stack with one command if you’d rather keep everything on your own infrastructure.
Next: Run the incident-loop quickstart or connect your editor over MCP.