The bug mediator for AI-built apps
Your AI wrote it. Mushi tells you why it broke.
For solo builders who make apps with AI coding assistants such as Cursor or Claude Code. When a real user runs into a bug, they report it from inside your app. Mushi explains the cause in plain English and hands your AI assistant a fix to start from. It works on its own: you do not need Sentry or any other error-tracking service.
Every bug in one list, whether a user reported it or an error tracker caught it. Open source: the code is public on GitHub.
Free to start: 50 diagnoses a month, no credit card. Running it on your own server is free too. Star on GitHub
The problem it solves
AI coding assistants let one person build and ship an app in days. Then a real user hits something broken: a button that does nothing, a page in the wrong language, a score that shows 0. Often nothing crashed, so error monitoring (services such as Sentry that record when code fails) never notices. The user gives up or sends a vague message, and the builder loses an afternoon trying to understand code they did not write themselves.
Mushi closes that gap. The user’s report becomes a clear explanation and a fix your AI assistant can start from.
How it works
- Step 1Install in one clickConnect Mushi to your AI code editor with one of the buttons below, and add a small report button to your app with one command (npx mushi-mushi). You sign in through your browser; there is no key to copy and paste.
- Step 2Your users report bugsWhen something looks wrong, a user taps the report button and writes a sentence or two. Mushi attaches a screenshot and the technical trail behind it (recent browser errors and network calls), so the user never has to explain the tech. Alerts from error trackers such as Sentry can come in too.
- Step 3Mushi diagnoses it and opens a fix you reviewYou get the likely cause in plain English and a suggested fix in your editor. If you like, an AI coding agent writes the change as a pull request (a proposed code change that waits for your approval). A second AI reviews it first; you decide whether to merge it.
Add Mushi to your AI code editor
claude mcp add --transport http mushi https://kensaur.us/mushi-mushi/hosted-mcp/npx mushi-mushiNo key to paste. The first time your editor calls Mushi, your browser opens so you can sign in (or sign up free). Then you choose which of your apps it may see.
A real example from our own sites
This happened on the websites run by Kensaurus, the company behind Mushi. Mushi’s site audit, an automatic weekly check of every page, found two problems that no error alert had caught:
- an “Edit this page” link that led nowhere, and
- Japanese text showing up on English pages.
Nothing had crashed, so ordinary monitoring stayed quiet. Mushi filed each problem as a bug report. Within the hour, an AI coding agent in Cursor had written the fixes and opened them as pull requests: proposed code changes that wait for approval. A second AI, Claude Opus, reviewed each change and approved it before it was merged.
Open source (MIT-licensed SDKs) · run it on your own server if you like · no extra AI key needed
What this is (and is not)
Mushi Mushi is the bug mediator for AI-built apps, an open-source tool that gives every bug your users report a plain-English diagnosis + a ready fix, in your editor.
Who it is for. Solo founders who build with AI tools and then lose whole afternoons fixing code they did not fully write themselves. People who work this way are often called vibe coders. It works inside your code editor, not as yet another dashboard to check. Sentry, Linear and Slack can feed into the same list, but you need none of them to start.
A few words you will see on this page:
- SDK: the small piece of code you add to your app. It shows the report button and sends reports to Mushi.
- Diagnosis: Mushi’s written explanation of one bug, with how serious it is, the likely cause and a suggested fix.
- MCP: the standard way AI code editors such as Cursor and Claude Code connect to outside tools. It is how your editor reads Mushi’s reports.
- Pull request (PR): a proposed change to your code that waits for you to approve and merge it.
- Self-host: run Mushi on your own server instead of using the hosted service.
Where it stands today
Mushi Mushi is live and free to try. The hosted service runs at kensaur.us/mushi-mushi, the libraries are published on npm, and the source code is public on GitHub. It is built by Kensaurus 合同会社, a small company in Japan, and runs on the company’s own apps and sites. The native iOS, Android and Flutter libraries are still previews.
This is what a diagnosis looks like
A user writes one or two sentences about what went wrong. Mushi reads them together with the screenshot and the technical log from their browser, and writes back a plain-English title, how serious it is, the likely cause and a suggested fix. Below is a real one.
After finishing the daily lesson the celebration sheet shows '+0 XP earned today' but my streak counter on the home screen incremented by 1. … Also the haptic 'tada' on the celebration sheet that used to fire is silent now. …
Celebration screen shows +0 XP and haptic feedback is silent after lesson
- severity high
- category bug
- confidence 0.82
- Likely cause
- … The XP value passed to the CelebrationSheet is read from state or props before the XP award async operation resolves, resulting in a stale 0 value being displayed … The haptic 'tada' feedback call is either gated on the XP value being non-zero, is invoked before the component is fully mounted, or … missing/unreachable on this code path entirely.
- Suggested fix
- … Ensure the XP earned value is sourced from the resolved result of the lesson-completion API call … Guard against rendering '0' as a fallback when the value is undefined/null — use a loading indicator instead. … Verify the haptic 'tada' trigger is called unconditionally on sheet presentation … and is not gated behind the XP value being truthy.
- In your editor
- Your AI assistant asks Mushi for the report (the
get_fix_contexttool) and gets one fix prompt, ready to paste: this diagnosis, the steps to reproduce the bug, the suggested fix and the relevant code. You do not need an AI key of your own for this.
What happens after a user reports something
User reports
On glot.it, a Thai-learning app we run, a learner shakes the phone instead of emailing support. Mushi keeps a picture of the screen and what they were doing.
Plain read
How serious it is and what probably caused it, in everyday English instead of a wall of error code.
One row
Twenty people reporting the same broken checkout button become one item, not twenty.
Draft PR
Optional: an AI coding agent proposes the fix as a pull request, and a second AI reviews it. You merge it, edit it or ignore it.
Get started in 60 seconds
Run one command in your project. A setup wizard works out which framework your app is built with, installs the Mushi SDK (the small library that adds the report button), saves your settings and prints the one snippet to paste. When something breaks for a real user, the report lands in your Mushi list with a plain-English read on the cause and what to change. Your AI editor can read it directly over MCP, the standard way AI editors connect to outside tools.
npx mushi-mushidetects framework · writes env · prints snippetnpx mushi-mushi setup --ide cursorask Cursor: "what's broken in prod?"50 diagnoses a month on the free plan, no card needed. You can also run it on your own server in under five minutes.
See it in action
The Mushi dashboard, the report button on a real app (glot.it), and light and dark screenshots. Click a picture to open the live page.Get started
Pick the card that matches what you are doing right now. Each one links to the right next step.I build with Cursor or Claude Code
Connect Mushi to your editor first, so your AI assistant can read bug reports and fix prompts without leaving the window.
npx mushi-mushi setup --ide cursorI have a web or mobile app
Add the report button (the SDK), send a first test report, and get a plain-English read in about 10 seconds.
npx mushi-mushiI want the web dashboard
Create a project, connect GitHub (where your code lives), and follow the setup checklist.
mushi login && mushi status
Install it in your app
A first diagnosis usually arrives in about 10 seconds. Pick a starting point:- Incident loopStart here
npx mushi-mushiA bug in your live app → a plain-English read → a fix prompt ready to paste into Cursor.
- MCP serverEditor-first
npx mushi-mushi setup --ide cursorAsk your editor what broke and get a fix brief, in Claude, Cursor or Codex. No extra AI key needed.
- React
npx mushi-mushiThe wizard installs the SDK, saves your settings and can send a test report.
- MobileMobile
npx mushi-mushiReact Native and Capacitor: shake the phone to report, and reports wait until the phone is back online. iOS, Android and Flutter SDKs are previews.
Works with Sentry, or without it
Sentry is a popular service that records errors when an app’s code crashes. Many developers already use it, and Mushi does not ask you to give it up.
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.
Sentry is one way in among several. Bugs come in from your users, your monitoring tools and even your voice; fixes and status updates go out to your editor, your AI coding agents, your task tracker and your team chat. Nothing has to be ripped out.
Bugs come in from
One list: duplicates merged, each bug explained in plain English, past fixes remembered as lessons
Fixes and status go out to
- Your editorCursor or Claude Code reads the diagnosis and fix prompt over MCP
- Cloud coding agentsA Cursor agent in the cloud drafts the fix and opens a pull request
- Linear · Jira · GitHub IssuesAn issue is filed when a report is classified
- Slack · Discord · TeamsSlack gets a card with buttons to dispatch a fix or resolve
The SDK, the report button, the diagnosis and the editor connection (MCP server) all work on the free plan. Plugins for other tools need the Indie plan or above on Mushi Cloud, or your own server.
| 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 (the technical record of where the code failed) | 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 and the relevant lessons, then proposes the code change |
| Where it runs | Their cloud, or yours with getsentry/self-hosted (no Seer) | Yours, ours, or both |
For the technical detail, see Concepts → Architecture: the full sequence diagram and a component-by-component spec.
What it costs
You pay per diagnosis (one bug that Mushi explains), not for every error it sees. Duplicate reports and noise are filtered out for free. Every paid plan has a spending cap, so the bill cannot run away.
- Free Cloud$0Diagnoses: 50 / mo
- Indie$15 / moDiagnoses: 500 / mo
- Pro$49 / moDiagnoses: 2,000 / mo
- Self-hostFree foreverDiagnoses: Unlimited (your own AI key)
Frequently asked questions
A bug-report inbox with an AI that explains each bug. People who use your app can report a problem with one tap. Mushi turns each report into a short, plain-English explanation of what went wrong and how to fix it, and sends that to the AI assistant in your code editor so the fix can start right away. The name comes from 虫 (mushi), the Japanese word for "bug" or "insect".
Mushi Mushi is built by Kensaurus 合同会社, a small company in Japan, and it runs on the company's own apps and sites. The hosted service is live, the libraries are published on npm, and the source code is public on GitHub. The native iOS, Android and Flutter libraries are still previews.
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 works on its own. If you already use Sentry (a popular service that records errors when code crashes), you can point its alerts at Mushi. Those errors then land in the same list as user reports, with duplicates merged, each one explained in plain English and marked resolved in Sentry when the fix is merged.
It runs a setup wizard. The wizard works out which framework your app uses (React, Next.js, Vue, Nuxt, Svelte, Angular, React Native, Expo, Capacitor or Node), installs the matching Mushi library, saves your settings (environment variables) and prints the snippet to paste.
Connect your editor to Mushi with the command npx mushi-mushi setup --ide cursor (it uses MCP, the standard way AI editors connect to outside tools). Bug reports then arrive as plain-English diagnoses your AI assistant can read, with a fix prompt ready to apply without leaving the editor.
Yes. The libraries you add to your app (SDKs) are MIT-licensed and the server is AGPLv3. You can run the whole thing on your own server with one command, or use the hosted free plan: 50 diagnoses a month, no card.
Web: React, Vue, Svelte, Angular, and any other site through the browser widget. Mobile: React Native and Capacitor. Server: Node. One wizard installs any of them. Native iOS, Android and Flutter SDKs are previews and install from the GitHub repo.
Try it on your own app
Setting it up for a team, with single sign-on (SSO) or audit logs? The operator notes on GitHub cover that. Operators docs →
Shipped an app that an AI mostly wrote, and hear about bugs from users? Tell us what you do with those messages today. GitHub Discussions →