Skip to Content
v1.36.0 · shipped One-screen report · Looks like your app Read the changelog →
QuickstartCapacitor

Bug report widget for Capacitor and Ionic

This quickstart ships the same Mushi Mushi bug-report widget on iOS, Android, and web from one Capacitor shell.

The wizard makes two keys (passwords your tools use to talk to Mushi Mushi): an SDK key that can only send reports, which goes in your app, and a CLI key that can also read them, which stays on your computer and also works for the MCP tools in your editor.

The Capacitor plugin delegates to the native iOS / Android SDKs at runtime and falls back to @mushi-mushi/core on the web.

Get your project ID and API key

The SDK needs two values from a Mushi Mushi project.

  • Fastest: run npx mushi-mushi in your app’s folder. It signs you in through the browser, creates or picks a project, installs the SDK and writes both values to .env.local.
  • By hand: create a free account  (no card) and create a project. The panel that opens shows the project ID and an API key that starts with mushi_. Copy the key now: it is shown once. You can mint another under Set up → Test it → Generate API key.
  • Self-hosting? Your own console gives you the same two values. See Self-hosting.

They replace YOUR_PROJECT_ID and YOUR_PUBLIC_API_KEY in step 2.

1. Install

pnpm add @mushi-mushi/capacitor npx cap sync

2. Configure

src/mushi.ts
import { Mushi } from '@mushi-mushi/capacitor' await Mushi.configure({ projectId: 'YOUR_PROJECT_ID', apiKey: 'YOUR_PUBLIC_API_KEY', triggerMode: 'shake', // 'shake' | 'button' | 'both' | 'none' captureScreenshot: true, })

3. Submit a report

await Mushi.report({ description: 'Date picker is in UTC, not local', category: 'bug', })

Coming from Cordova? Migrate in place to Capacitor first. The Cordova → Capacitor migration guide walks through the plugin map and the Mushi Mushi widget swap.

Considering React Native? See the Capacitor → React Native migration guide for the full porting plan, plugin map, and CI/CD recipe.

See @mushi-mushi/capacitor for the full API surface (listeners, setUser, setMetadata, triggerInset, useNativeWidget).

Last updated on