Use when adding new error messages to React, or seeing "unknown error code" warnings.
npx skills add getsentry/agent-skills --skill "sentry-react-native-setup"
Install specific skill from multi-skill repository
# Description
Setup Sentry in React Native using the wizard CLI. Use when asked to add Sentry to React Native, install @sentry/react-native, or configure error monitoring for React Native or Expo apps.
# SKILL.md
name: sentry-react-native-setup
description: Setup Sentry in React Native using the wizard CLI. Use when asked to add Sentry to React Native, install @sentry/react-native, or configure error monitoring for React Native or Expo apps.
Sentry React Native Setup
Install and configure Sentry in React Native projects using the official wizard CLI.
Invoke This Skill When
- User asks to "add Sentry to React Native" or "install Sentry" in a React Native app
- User wants error monitoring, logging, or tracing in React Native or Expo
- User mentions "@sentry/react-native" or mobile error tracking
Wizard Setup (Recommended)
npx @sentry/wizard@latest -i reactNative
What the Wizard Does
| Task | Description |
|---|---|
| Install SDK | Adds @sentry/react-native package |
| Metro config | Adds @sentry/react-native/metro to metro.config.js |
| Expo config | Adds @sentry/react-native/expo to app.json |
| Android setup | Enables Gradle build step for source maps |
| iOS setup | Wraps Xcode build phase, adds debug symbol upload |
| Pod install | Runs pod install for iOS |
| Credentials | Stores in ios/sentry.properties, android/sentry.properties, .env.local |
| Init code | Configures Sentry in App.tsx or _layout.tsx |
Manual Configuration
If not using wizard, add to your app entry point:
import * as Sentry from "@sentry/react-native";
Sentry.init({
dsn: "YOUR_SENTRY_DSN",
sendDefaultPii: true,
// Tracing
tracesSampleRate: 1.0,
// Logs
enableLogs: true,
// Profiling
profilesSampleRate: 1.0,
// Session Replay
replaysOnErrorSampleRate: 1.0,
replaysSessionSampleRate: 0.1,
integrations: [Sentry.mobileReplayIntegration()],
});
Wrap Your App
export default Sentry.wrap(App);
Expo Projects
For Expo, follow the Expo-specific setup:
npx @sentry/wizard@latest -i reactNative
Works for both managed and bare Expo projects.
Configuration Options
| Option | Description | Default |
|---|---|---|
dsn |
Sentry DSN | Required |
sendDefaultPii |
Include user data | false |
tracesSampleRate |
% of transactions traced | 0 |
profilesSampleRate |
% of traces profiled | 0 |
enableLogs |
Send logs to Sentry | false |
replaysOnErrorSampleRate |
% of error sessions replayed | 0 |
replaysSessionSampleRate |
% of all sessions replayed | 0 |
Files Created/Modified
| File | Purpose |
|---|---|
App.js / _layout.tsx |
Sentry initialization |
metro.config.js |
Metro bundler config |
app.json |
Expo config (if Expo) |
ios/sentry.properties |
iOS build credentials |
android/sentry.properties |
Android build credentials |
.env.local |
Environment variables |
Environment Variables
SENTRY_DSN=https://[email protected]/456
SENTRY_AUTH_TOKEN=sntrys_xxx
SENTRY_ORG=my-org
SENTRY_PROJECT=my-project
Verification
Add test error:
throw new Error("My first Sentry error!");
Or use a test button:
<Button title="Test Sentry" onPress={() => { throw new Error("Test"); }} />
Source Maps
Source maps are automatically uploaded during build when wizard configures:
- Android: Gradle plugin
- iOS: Xcode build phase
Troubleshooting
| Issue | Solution |
|---|---|
| Wizard fails | Try manual setup, check Node version |
| iOS build fails | Run cd ios && pod install |
| Source maps not uploading | Verify sentry.properties files have auth token |
| Expo errors | Ensure using compatible Expo SDK version |
| App not wrapped | Add export default Sentry.wrap(App) |
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.