The bug mediator for AI-built apps
Your AI wrote it. Mushi tells you why it broke.
For solo builders shipping Cursor- or Claude-written apps to real users. When someone hits a bug, Mushi turns what they felt into a plain-English diagnosis and a paste-ready fix in your editor. Sentry starts from what the code threw; Mushi starts from what the user felt.
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 2Send a test report (or ship and wait)When 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)
Mushi Mushi is the bug mediator for AI-built apps, an open-source bug-reporting SDK and queue: plain-English diagnosis + a ready fix, in your editor.
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.
- MobileMobile
npx mushi-mushiReact Native and Capacitor: shake-to-report and an offline queue. iOS, Android, and Flutter SDKs in preview.
One queue. Sentry flows in, fixes flow out.
Sentry is built around what the code threw, with a User Feedback widget and replay alongside. Mushi starts from what the user reported, ingests Sentry’s errors too, explains each one in plain English, and hands your agent a fix prompt to start from. With or without Sentry.
| Question | Sentry alone | Mushi |
|---|---|---|
| What it sees | Errors and performance, plus Session Replay and a User Feedback widget | User reports from the widget with a screenshot, plus the errors Sentry catches, in one queue |
| What lands in your queue | A stack trace | A short user note plus the screenshot they were looking at |
| Repeat bugs | Repeat events of the same error group into one issue | Repeat user reports of the same broken button collapse to one row, even when nothing threw |
| What you learn from fixes | A resolved issue reopens as a regression if it recurs; there is no lessons file for your editor | Past fixes become rules your editor sees on the next PR (.mushi/lessons.json) |
| Closing the loop | Resolve by hand, from a commit that references the issue, or in a release; Seer, the paid AI debugging add-on, is on Team and above | A draft PR from your agent; merging it resolves the linked Linear issue, and the linked Sentry issue once the Sentry plugin is on (Indie and above, or self-hosted) |
| Reporter attribution | The user you set with setUser, or the name and email on a feedback submission; no credit when it is fixed | "Fixed by Kenji" in the changelog and an SDK toast, once Releases is enabled |
| From your IDE | Sentry's MCP server lets Cursor or Claude Code read issues and ask Seer | Cursor reads the report + relevant lessons and proposes the diff |
| Where it runs | Their cloud, or yours with getsentry/self-hosted (no Seer) | 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
It can be, or it can run alongside Sentry. Sentry is built around what the code threw, with a User Feedback widget and replay alongside. Mushi starts from what the user reported, ingests Sentry's errors too, explains each one in plain English, and hands your agent a fix prompt to start from. One queue, 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, Next.js, Vue, Nuxt, Svelte, Angular, React Native, Expo, Capacitor, 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 and Capacitor. Server: Node. One wizard installs any of them. Native iOS, Android, and Flutter SDKs are in preview and install from the GitHub repo.
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 →