Bug tracking for Flutter — session replay, console + HAR (2026)
Capture and reproduce Flutter Web bugs: CanvasKit canvas vs the semantics DOM tree, console and network capture, readable stack traces, and an MCP repro workflow for AI agents.
What Flutter teams ship with BugMojo
Flutter Web is a different beast for bug capture than React or Vue. Under the default CanvasKit renderer your entire app paints to a single HTML canvas element, so a DOM session replay records one opaque node instead of the widget tree, and the visual detail a tool like rrweb relies on is simply not in the DOM.
That does not make Flutter Web undebuggable; it shifts where the signal lives. Console output from print, framework assertions, and FlutterError.onError, plus every Dio or http request in the network tab, are all still capturable from the browser. This guide covers what a capture tool can and cannot reconstruct for a Flutter Web bug, and how to file a report an engineer can actually act on.
Flutter gotchas
Framework-specific failure modes engineers actually ship through. Each is hard to spot in a screenshot and obvious in a session replay.
BugMojo vs alternatives
The honest comparison — where BugMojo wins, and where another tool might serve you better.
| Feature | BugMojo | Generic screenshot tool |
|---|---|---|
| Console + framework error capture | Captured automatically | Manual copy-paste |
| Network / API request capture | Full request + response | None |
| DOM replay under CanvasKit | Limited (canvas) — enable semantics | None |
| MCP: AI agent reads the captured repro | Yes — unique to BugMojo | No |
| Client-side PII redaction | In the browser pre-upload | No |
| Zero-setup Quick Capture | No project, no SDK | Account / SDK required |
BugMojo records the DOM, console, and network — then ships a one-click ticket with the full replay attached. No SDK, no setup.
Try BugMojo freeFrequently asked questions
Frequently asked questions
Sources
- Web renderers (CanvasKit and HTML) — Flutter
- Handling errors in Flutter — Flutter

