Inspect your running .NET MAUI apps in real-time — visual tree, network traffic, Blazor WebView DOM, and more.
MauiDevFlow is a lightweight agent that runs inside your .NET MAUI app during development. It exposes an HTTP API that MAUI Sherpa connects to, giving you powerful debugging tools without attaching a debugger.
Browse UI hierarchy with live screenshots
Inspect Blazor content via CDP
Capture HTTP requests and responses
Stream native & WebView console logs
Add the DevFlow agent to your MAUI app in three steps. It only runs in Debug builds.
Add the MauiDevFlow packages to your MAUI project. Use the .Blazor package if your app uses BlazorWebView.
# Required: Core agent
dotnet add package Redth.MauiDevFlow.Agent
# Optional: Blazor WebView support (DOM, console, CDP)
dotnet add package Redth.MauiDevFlow.Blazor
Tip
For macOS AppKit apps (using Platform.Maui.MacOS), the standard packages include macOS support automatically.
For Linux/GTK apps, use Redth.MauiDevFlow.Agent.Gtk and Redth.MauiDevFlow.Blazor.Gtk instead.
Add the DevFlow agent registration inside a #if DEBUG block so it's never included in release builds:
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder.UseMauiApp<App>();
#if DEBUG
// Add DevFlow agent for remote inspection
builder.AddMauiDevFlowAgent();
// If using BlazorWebView:
builder.AddMauiDevFlowBlazor();
#endif
return builder.Build();
}
Build and run your MAUI app normally. The DevFlow agent starts automatically and registers with the local broker daemon.
# Build and run on your target platform
dotnet build -f net10.0-ios -t:Run
dotnet build -f net10.0-android -t:Run
dotnet build -f net10.0-maccatalyst -t:Run
Then in MAUI Sherpa:
Android Note
For Android emulators, you'll need to set up port forwarding so the emulator can reach the broker running on your host machine:
adb reverse tcp:19223 tcp:19223
Mac Catalyst Note
Mac Catalyst apps need the com.apple.security.network.server entitlement to allow the DevFlow agent to accept connections. Add this to your Entitlements.plist.
Once connected, the inspector gives you deep visibility into your running app.
Browse the full MAUI visual hierarchy. Select any element to see its properties, bounds, and relationship to other elements. The tree auto-captures a screenshot of the window the selected element belongs to, with the element highlighted.
See every HTTP request your app makes — URL, method, status code, timing, headers, and full request/response bodies with syntax highlighting. Works automatically with HttpClient registered through DI.
For Blazor Hybrid apps, inspect the WebView content via Chrome DevTools Protocol (CDP). Browse the DOM, run JavaScript, view console output, and switch between multiple WebView instances.
Stream logs from both native ILogger output and WebView console.* calls. Filter by level (Debug, Info, Warning, Error) and source (Native, WebView).
MauiDevFlow also includes a powerful CLI for terminal-based inspection, perfect for CI/CD pipelines and AI-assisted development.
# Install the CLI
dotnet tool install --global Redth.MauiDevFlow.CLI
# Wait for app to connect
maui-devflow wait
# Browse visual tree
maui-devflow MAUI tree
# Take a screenshot
maui-devflow MAUI screenshot --output screen.png
# Inspect Blazor DOM
maui-devflow cdp snapshot
# Read application logs
maui-devflow MAUI logs --limit 50
See the MauiDevFlow repository for full CLI documentation.