A tester on my household-budget app, yen-yen, reported that on the Transactions screen the fixed header covered the first transaction row. It was a layout bug, so nothing threw, and my error tracker had nothing to show. The row was still hidden.
Mushi Mushi (虫虫) is my attempt to close the gap between errors that throw and bugs that users feel. It is an open-source bug reporter, built for people who ship fast with Cursor or Claude Code.
What happens to one report
With the SDK in your app, users get a small bug widget. Someone taps it, types a sentence, and sends it. Then:
- Capture. The report carries their note, the route, the browser and viewport, and the last console and network events. A screenshot is attached, and the reporter can remove it before sending.
- Diagnose. A cheap first pass drops spam and noise. A second model reads what is left and writes a category, a severity, the likely component, a plain summary and a confidence score. It reads code from your connected repo while it does this, so it can name a file it actually saw.
- Group. A report that looks like an earlier one joins that group instead of opening a new row. Duplicates don't count toward the monthly diagnosis quota.
- Fix. Auto-fix stays off until you turn it on for a project. When you dispatch a fix, the model can only return find-and-replace edits through a typed schema. It gets no tools and no shell. If any one file's change would pass 200 lines, the run stops.



All three are my own account, and every report on them is about one of my own apps, the-wanting-mind.
Why I still click merge
A fix opens as a draft pull request, and CI runs on it. The merge stays manual. The header comment of the fix worker states the rule: a human confirms the merge, and nothing auto-merges.
When someone reports a bug and later gets a "fixed" notice, they learn that the app is looked after. A fix that changes the wrong thing and breaks something else teaches them the opposite. A wrong fix costs more than a slow one, so I made the path from report to reviewable PR fast and kept the last call for myself.
The draft Mushi opened for the header bug, yen-yen #68, is public. I closed it without merging. On 2026-10-16 it opened two more drafts on glot.it, #179 and #180. One only added a note that the error needed human review. I closed both the same day without merging.
What's free, and what costs money
The SDKs are MIT: @mushi-mushi/web for any site, plus React, Vue, Svelte, Angular, React Native, Capacitor and Node. The CLI and the MCP server are MIT too. npx mushi-mushi detects your framework, installs the SDK and sends a test report.
The server is AGPLv3. You can host it yourself for your own product at no cost, with your own LLM key and no diagnosis cap. The one exception is the Enterprise Edition under packages/server/ee/: its source is public, but production use needs a commercial license.
On the hosted service, Free Cloud covers 50 diagnoses a month with no card. Reports are kept for 7 days, and at 50 it stops diagnosing new reports until the next month. Indie is US$15 a month, Pro is US$49 a month, and Enterprise is by contact. Mushi is still in beta, and the console says so at the top.