Why does one failed request take several messages to explain?
A screenshot may omit request parameters. A copied JSON response may omit what the user was trying to do. Debugging then starts with another round of questions before anyone can reproduce the issue.
Network Error Reporter organizes request evidence and human context into a handoff document. Its Error Report panel in Chrome DevTools focuses on selecting one failed request, adding context and exporting the result.
From request to handoff
The extension reads HAR data and newly completed requests, focusing on failed Fetch/XHR requests by default. After selection, it extracts useful fields and combines them with impact, frequency and reproduction notes.
It maintains its own list because extensions cannot directly read the selected request in Chrome’s native Network panel. The workflow makes that boundary explicit.
What belongs in a useful report?
| Layer | Typical information | Purpose |
|---|---|---|
| Environment and request | Page, URL, method, status, duration | Locate the failure |
| Request and response | Headers, parameters, payload and response summary | Supply technical evidence |
| Human context | Impact, frequency, steps, expected and actual results | Explain the scenario |
| Sharing review | Potentially sensitive-field hints | Prompt a final check |
An anonymous example
Consider a list page whose GET https://example.com/api/items request returns 503 Service Unavailable. Those fields identify a technical failure, but they do not establish its business impact.
Adding “open the list and refresh; items should appear, but loading fails” gives the recipient a reproducible starting point. The cover uses an anonymous request to demonstrate the actual report interface, not real business traffic.
Implementation choices
Request normalization and report generation live in panel/report.js; interactions and preview rendering live in panel/main.js. This separates the collected data from how the report is presented.
The report extracts useful request and response details rather than copying all DevTools output indiscriminately. Field-selection controls help users choose the context worth including.
Sensitive-field detection is a warning mechanism, not a guarantee of automatic anonymization. The person sharing a report must still review headers, cookies, parameters and response content.
Export and scope
Markdown works well in issues, tickets and collaboration messages. Image export supports quick visual handoff: it first attempts clipboard copying, then falls back to downloading a PNG.
The current scope is a single request. It does not include multi-request aggregation, native Network screenshots or HAR export. Use Chrome’s own Copy as cURL when needed.
Installation supports loading an unpacked extension in developer mode. See the README for the current workflow and capabilities.