The bug mediator for AI-built apps
Your AI wrote it. Mushi tells you why it broke.
Plain-English explanation of what broke, plus a fix you can paste into Cursor or Claude Code — so a bug costs five minutes, not your whole afternoon.
One queue for every bug. Sentry flows in, fixes flow out. Open source.
MIT-licensed SDKs · self-hostable · no second LLM key
Get started in 60 seconds
Run the wizard. It detects your framework, installs the SDK, writes env vars, and prints the snippet. When something breaks in prod, the report lands in your queue with a plain-English read on the cause and what to change. Pull it into your editor over MCP.
- Step 1Run one commandThe wizard detects your framework, installs the SDK, and writes your env vars.
- Step 2Ship, then break somethingWhen a user hits a bug, the report lands with a plain-English read on the cause.
- Step 3Pull the fix into your editorCursor or Claude Code picks it up over MCP — paste the fix, merge, done.
npx mushi-mushidetects framework · writes env · prints snippetnpx mushi-mushi setup --ide cursorask Cursor: "what's broken in prod?"50 diagnoses/month on the free tier — no card. Self-host in under five minutes if you want.
See it in action
Admin console, the SDK on a real app (glot.it), and light/dark screenshots — click a frame to open the live surface.What this is (and is not)
Built for solo founders who ship with AI and lose afternoons debugging code they did not fully write. Works inside your editor — not another dashboard. Sentry, Linear, and Slack plug into the same queue; none of them are required to start.Get started with the SDK
Pick the path that matches what you are doing right now — each card links to the right next step.I use Cursor / Claude
Connect Mushi to your editor first — read reports and pull fix prompts without leaving the window.
npx mushi-mushi setup --ide cursorI have a web or mobile app
Drop in the SDK, file the first report, get a plain-English read in about 10 seconds.
npx mushi-mushiI operate the console
Create a project, connect GitHub, and walk through the onboarding checklist.
mushi login && mushi status
Install in your framework
Classification lands in about 10 seconds today; we are chasing sub-10. Pick a starting point:- Incident loopStart here
npx mushi-mushiBroken prod → plain-English read → paste-ready fix prompt in Cursor.
- MCP serverEditor-first
npx mushi-mushi setup --ide cursorAsk your editor what broke — fix briefs from Claude, Cursor, or Codex. No second LLM key.
- React
npx mushi-mushiWizard installs the SDK, writes env vars, optional test report.
- iOS · Android · FlutterNative
npx mushi-mushiNative shake, offline queue, and a Sentry bridge already wired up.
One queue. Sentry flows in, fixes flow out.
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. With or without Sentry.
| 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 |
See Concepts → Architecture for the wire-level sequence diagram and component-by-component spec.
What happens after a user reports something
User reports
On glot.it, a learner shakes the phone instead of emailing support. Mushi keeps the screen and what they were doing.
Plain read
Severity and cause in English you already use — not a raw stack trace.
One row
Twenty reports about the same broken checkout button collapse to one issue.
Draft PR
Optional: an agent opens a PR on your repo. You merge, edit, or ignore it.
Frequently asked questions
Your call — both are first-class. 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.
No. Mushi is standalone by default. If you already run Sentry, point an issue-alert webhook at Mushi and errors land in the same queue as user reports — deduped, diagnosed in plain English, and resolved back into Sentry when the fix merges.
It runs a setup wizard that detects your framework (React, Vue, Svelte, Angular, React Native, Capacitor, Flutter, or Node), installs the matching SDK, writes your env vars, and prints the snippet to paste.
Connect your editor over MCP with `npx mushi-mushi setup --ide cursor`. Bug reports arrive as plain-English diagnoses your agent can read, and the fix prompt is ready to apply without leaving the editor.
Yes — SDKs are MIT-licensed and the server is AGPLv3. You can self-host the whole stack with one command, and the free cloud tier includes 50 diagnoses a month with no card.
Web: React, Vue, Svelte, Angular, and any site via the browser widget. Mobile: React Native, Capacitor, Flutter, iOS, and Android. Server: Node. One wizard installs any of them.
Run the 60-second proof
Need SSO, audit trails, or adapters for a team? Setup notes live in the operators docs on GitHub. Operators docs →