Error monitoring for Flutter.
With sentry_flutter, your app reports crashes and errors from Dart and native code to Fehlo, on Android, iOS and the web.
As of 24 October 2026, sentry_flutter 10.2.0 and sentry_dart_plugin 3.4.0. We have not yet run the Dart SDK against Fehlo ourselves.
1. Add the package
Version 10 needs Flutter 3.44, Dart 3.12, Android minSdk 26 and iOS 15 or later, and uses Swift Package Manager instead of CocoaPods on iOS. For older projects, stay on sentry_flutter 9.30.1 (Flutter 3.24 or later).
dependencies:
sentry_flutter: ^10.2.0
dev_dependencies:
sentry_dart_plugin: ^3.4.0
sentry:
url: https://app.fehlo.de/
org: <organisation-slug>
project: <project-slug>
upload_debug_symbols: true
upload_source_maps: trueThen run flutter pub get. The sentry: block is only for uploading debug symbols; url points it at Fehlo.
2. Start the SDK
import 'package:flutter/widgets.dart';
import 'package:sentry_flutter/sentry_flutter.dart';
Future<void> main() async {
await SentryFlutter.init(
(options) {
options.dsn = 'https://<key>@app.fehlo.de/<project-id>';
options.environment = 'production';
options.release = 'my-app@1.0.0+1';
},
appRunner: () => runApp(
SentryWidget(
child: MyApp(),
),
),
);
}The example in Sentry's documentation sets options.sendDefaultPii = true. Leave that line out: the default is false, so no IP address, user or device name is sent. You can also pass DSN, release and environment at build time with --dart-define=SENTRY_DSN=....
3. Test it
try {
throw StateError('Fehlo test error');
} catch (exception, stackTrace) {
await Sentry.captureException(exception, stackTrace: stackTrace);
}Trigger it from a button, for example. The issue appears in Fehlo with stack trace, device and operating system.
4. Upload debug symbols
Flutter release builds have no readable function names once you split off the debug information. The plugin uploads it to Fehlo after the build, and the source maps for Flutter web:
export SENTRY_AUTH_TOKEN=<token>
flutter build apk --split-debug-info=build/debug-info
flutter pub run sentry_dart_plugin
flutter build web --release --source-maps
flutter pub run sentry_dart_pluginCreate the token in Fehlo under Settings, API tokens, with the preset "For source maps". The organisation and project slugs are in the address bar of the project settings: /<organisation>/settings/projects/<project>. Fehlo processes native debug symbols (ELF, dSYM). We have not tested whether Fehlo also applies the mapping for --obfuscate; leave that option out until you have checked it with a test error. You don't need the wizard sentry-wizard -i flutter; it signs in to sentry.io.
Questions
Which version should I use?
sentry_flutter 10 if your project uses Flutter 3.44 and Dart 3.12 or later. Otherwise 9.30.1. Both send to Fehlo; you only change the DSN.
Does it work with Flutter web?
Yes. For readable stack traces, build with --source-maps and upload the maps with the plugin (upload_source_maps: true).
Nothing arrives. What should I check?
First the DSN: it has to point at app.fehlo.de. Second, whether your server or browser can reach https://app.fehlo.de (firewall, proxy, ad blocker). Third, whether this month's quota is used up; you get an email when it is. Fourth, whether sampleRate or beforeSend drops events. If only performance data is missing, this month's transactions may be used up.