Skip to Content
v1.36.0 · shipped One-screen report · Looks like your app Read the changelog →
Migration guidesInstabug (Luciq) → Mushi Mushi

Instabug (Luciq) → Mushi Mushi

Hours Low risk

Instabug now ships as Luciq. Both it and Mushi Mushi do in-app bug capture, so the config maps closely. Luciq’s SDKs are mobile (iOS, Android, React Native, Flutter, KMP); this page covers React Native. For native iOS / Android, see the iOS and Android SDK pages.

Why switch

  • Open source and price. Mushi Mushi SDKs are MIT and the server is AGPLv3. Self-hosting is free; the cloud is free for one app and 100 diagnoses a month. Compare with your Luciq contract.
  • AI triage. Mushi Mushi ships a built-in two-stage classifier (fast-filter + classify-report) that turns raw user reports into triaged tickets without manual review.
  • Self-host. Mushi Mushi can run on your own Supabase / Postgres.

API mapping

The calls on the right are on the instance from useMushi() (@mushi-mushi/react-native).

Instabug / Luciq (React Native)Mushi Mushi
Luciq.init({ token, invocationEvents }) (older Instabug SDKs: Instabug.init / Instabug.start)<MushiProvider projectId apiKey config={...}> at the app root
Luciq.show()mushi.open()
Luciq.identifyUser(email, name, id)mushi.setUser({ id, email, name })
Luciq.setUserAttribute(k, v)mushi.setMetadata(k, v)
Custom logsConsole, network and navigation are captured automatically; add your own with mushi.addBreadcrumb({ category: 'custom', level: 'info', message })
invocationEvents: [InvocationEvent.shake]config.widget.trigger: 'shake' (needs expo-sensors)
invocationEvents: [InvocationEvent.floatingButton]config.widget.trigger: 'button' (the default)
invocationEvents: [shake, floatingButton]config.widget.trigger: 'both'
Repro stepsCaptured automatically (console + network + navigation)
Crash reportingStays where it is. Mushi Mushi works next to Sentry / Crashlytics; it doesn’t replace them.

Before / After (React Native)

// BEFORE: Luciq React Native import Luciq, { InvocationEvent } from '@luciq/react-native' Luciq.init({ token: 'YOUR_TOKEN', invocationEvents: [InvocationEvent.shake], }) Luciq.identifyUser('user@example.com', 'Jane Doe', 'user-42')
// AFTER: Mushi Mushi React Native import { MushiProvider } from '@mushi-mushi/react-native' export default function App() { return ( <MushiProvider projectId="YOUR_PROJECT_ID" apiKey="YOUR_PUBLIC_KEY" config={{ widget: { trigger: 'shake' } }} > <RootNavigator /> </MushiProvider> ) } // Inside any screen: import { useEffect } from 'react' import { useMushi } from '@mushi-mushi/react-native' function ProfileScreen() { const mushi = useMushi() useEffect(() => { mushi.setUser({ id: 'user-42', email: 'user@example.com', name: 'Jane Doe' }) }, [mushi]) // ... }

Migration checklist

Migration checklist
9 required steps
  1. Step 01
    Create a Mushi Mushi project (or pick an existing one)
  2. Step 02
    Install the Mushi Mushi React Native SDK
  3. Step 03
    Mount Mushi Mushi alongside Instabug/Luciq (do NOT remove yet)
  4. Step 04
    Wire setUser / setMetadata for parity
  5. Step 05
    Verify console + network + screenshot capture
  6. Step 06
    Run dual-SDK in beta for ≥ 3 days
  7. Step 07
    Update internal docs / runbooks
  8. Step 08
    Remove Instabug / Luciq SDK
  9. Step 09
    Revoke the Instabug/Luciq token in their dashboard

Feature parity at a glance

CapabilityInstabug / LuciqMushi Mushi
Shake to report✅✅ (widget.trigger: 'shake', needs expo-sensors)
Floating button✅✅ (widget.trigger: 'button')
Screenshot on report✅✅ (capture.screenshot: true, needs react-native-view-shot)
Console + network capture✅✅ (default on)
Repro steps timeline✅✅ (auto from console + network + navigation)
Crash reporting✅❌ (keep Sentry / Crashlytics for crashes)
Surveys / NPS✅❌ (out of scope)

Mushi Mushi can also be self-hosted, its SDKs and server are open source, and it runs AI triage on every report by default.

If you use Luciq’s surveys, keep them on Luciq after moving bug capture to Mushi Mushi.

Rollback

If Mushi Mushi doesn’t fit, remove the Mushi Mushi package and re-add the Luciq SDK. Because this guide has you dual-ship for at least 3 days before removing Luciq, you have both sets of reports to compare.

References

Last updated on