Buoy now works in Flutter apps. The network inspector ships first — the same three surfaces you get on React Native:
More tools are coming from the React Native suite one by one — vote for what's next.
flutter pub add buoy
flutter pub add buoy
Or just the network tool: flutter pub add buoy_network.
One widget — wrap your app via MaterialApp.builder:
import 'package:buoy/buoy.dart';
MaterialApp(
builder: (context, child) => BuoyDevTools(
deviceName: 'My App',
child: child ?? const SizedBox.shrink(),
),
)
import 'package:buoy/buoy.dart';
MaterialApp(
builder: (context, child) => BuoyDevTools(
deviceName: 'My App',
child: child ?? const SizedBox.shrink(),
),
)
That's the whole setup. Every installed Buoy tool self-registers on mount: HTTP capture (HttpOverrides), the floating in-app menu, the live desktop connection, and the MCP server. Optional props: licenseKey for Pro, socketUrl for physical devices, deviceId to pin the device identity, and tools for your own custom tools.
Everything riding dart:io's HttpClient in one hook — no per-client setup:
| Captured | Notes |
|---|---|
| package:http | default IOClient |
| dio | attributed as dio in the panel |
| Image.network / NetworkImage | Flutter's own image loading |
| cached_network_image | cache misses / revalidations |
| graphql_flutter / ferry | tag with X-Request-Client: graphql for operation names |
Known gaps (by design, documented): cupertino_http / cronet_http native clients, gRPC (raw sockets), secondary isolates, Flutter web.