Flutter · Beta

Buoy for Flutter: the full devtools suite (beta)

Updated September 2026

The same in-app devtools + live desktop dashboard React Native teams use — now for Flutter. Eleven tools, one dependency, pure Dart, zero-config: wrap your app in one widget and every installed tool wires itself and streams to Buoy Desktop and your AI editor. A twelfth, the iOS Simulator camera, needs no package at all.

Install

flutter pub add buoy

That one umbrella package pulls in the whole suite. Then wrap your app with one widget — every installed Buoy tool wires itself (capture, in-app menu, desktop sync, MCP):

import 'package:buoy/buoy.dart';

MaterialApp(
  builder: (context, child) => BuoyDevTools(
    deviceName: 'My App',
    child: child ?? const SizedBox.shrink(),
  ),
)

Pure Dart — no native code, no pods, no gradle changes. Simulators and emulators connect to the desktop automatically; physical devices take one socketUrl pointing at your machine.

All 14 packages (the buoy umbrella plus 13 focused packages) are on pub.dev at 0.3.0. Source is visible on the Buoy-Flutter mirror.

The tools

Eleven tools ship for Flutter today, each device-verified, plus the Camera, which installs nothing — it runs from Buoy Desktop and gives the iOS Simulator a camera your app can open. A few take one extra line to opt a widget or provider in — noted below.

Camera

Give the iOS Simulator a working camera and test barcode scanning, ID capture and document flows without a device. Point it at your Mac screen, a webcam, an image or a video.

Nothing to add to your app — it works on any booted simulator app.

Network

Every HTTP request your app makes — package:http, dio, and image loads — with headers, bodies, timing, status, and errors.

Storage

Browse and edit every key your app persists (shared_preferences and friends), live, with an event stream of every write.

Console

Every print, debugPrint, and log call in a filterable DevTools-style panel — on the device, in any build.

Wrap main() so capture starts before your first log.

Env

The config values your app actually resolved, validated against the types and shapes you expect.

Routes

Your go_router sitemap and live navigation stack with params — tap any route to jump straight to it.

One line: registerBuoyRoutes(router: yourRouter).

Images

Every image load with cache verdicts and oversize audits, so slow and stale images stop hiding.

Wrap widgets in BuoyImage to track them.

Impersonate

Inject impersonation headers into every request to test as any user — no logout, no rebuild.

Image Overlay

Pin a design mockup over the running app to nail pixel-perfect UI — free placement or locked to a component.

Wrap a widget in BuoyImageTarget for component match.

Events Timeline

Network, storage, state, and navigation merged into one chronological, LLM-ready stream you can hand to an AI.

Riverpod Inspector

Watch every provider's live value and each state change — the Flutter analog of the RN Jotai atom inspector.

Add the Buoy observer to your ProviderScope.

Perf Monitor

A live on-device HUD with UI/JS FPS, CPU, and memory while you use the app. Benchmarking and batch reports are coming soon.

Camera

Give the iOS Simulator a working camera: your Mac webcam, a region of your screen, an image, a video, or a barcode you type. Verified with Flutter's camera plugin — preview, frame stream, photo and video.

No package. Runs from Buoy Desktop; iOS Simulator only.

Full setup for each tool lives in the Flutter guide.

Same desktop, same MCP, same protocol

Flutter devices speak the exact same protocol as React Native. That means:

  • Buoy Desktop shows your Flutter device side by side with your React Native devices — the same dashboards, the same panels.
  • The Buoy MCP server reads and drives your Flutter app with the same tools Claude Code and Cursor already use for React Native — list devices, read network/storage/state/console activity, navigate, and more.

Nothing new to learn: a ported tool lights up everywhere at once.

Coming soon

  • Benchmarking & batch reports for the perf monitor — today it's a live HUD with live metrics; recorded, comparable runs land next.
  • Dart Top — a "what's eating the thread" profiler, the Flutter analog of the React Native JS Top tool.

React Native only, for now

To be exact about what's not on Flutter yet: the React Query devtools, Redux and Zustand inspectors, render highlighting, debug borders, and JS Top are React Native tools and don't ship for Flutter. React Native remains Buoy's primary, most complete platform.

Is this the full Buoy suite?

Most of it. Eleven tools ship for Flutter today — network, storage, console, env, routes (go_router), images, impersonate, image overlay, events timeline, a Riverpod state inspector, and a live perf HUD. The Camera makes twelve and needs no package: Buoy Desktop gives the iOS Simulator a working camera, verified with the camera plugin. The React Query, Redux, Zustand, render-highlighting, and JS Top tools remain React Native only for now.

What does the network tool capture?

Everything using dart:io's HttpClient: package:http, dio, Flutter's own image loading, cached_network_image, and GraphQL clients. Known gaps: cupertino_http/cronet_http native clients, gRPC, secondary isolates, and Flutter web.

Does it need native setup?

No. The SDK is pure Dart — no pods, no gradle edits. Install, wrap one widget, done. A few tools (images, image overlay, Riverpod, routes, console) take one extra line to opt in a widget, provider scope, router, or your main() entry.

Does it use the same desktop app and MCP server as React Native?

Yes — identical protocol. Your Flutter device shows up in Buoy Desktop next to your React Native devices, and the same MCP tools in Claude Code or Cursor read and drive it.

Is it free?

Free in development, like the React Native tools. Pro unlocks production builds, the MCP server, and unlimited capture with the same license key across both frameworks.

Try the Flutter beta today

Free for on-device debugging. One dependency, one widget, pure Dart — no pods, no gradle changes.

Quick startflutter pub add buoy