Bugpacker records a bug while you reproduce it, then hands you one file to attach: screenshots, console output, failed requests, the state of every form field, and the steps you took, written for you.
Writing steps is the friction that produces one-line bug reports. Bugpacker drafts them from what actually happened, and you correct the draft.
1. Clicked "Add to cart" (#add-to-cart) 2. Typed into "Promo code" (#promo) 3. Clicked "Apply" ([data-testid="apply-promo"]) 4. Console error: TypeError: Cannot read properties of undefined (reading 'total') 5. Request failed: POST /v2/discount → 500 6. Navigated to /checkout
Bugpacker records that a field was typed into. It never records the value.
One ZIP, about a megabyte, attachable anywhere.
BUG-REPRO-STEPS.txt Steps, expected, actual, environmentBUG-REPORT.md The same, for pasting into a trackerreport.json Structured, versioned, with a fingerprint for de-duplicatingscreenshot-*.png The page at the start, the area you marked, and the endconsole.log Logs, uncaught errors, rejections, CSP violationsnetwork-errors.log Real failures, kept apart from ad-blocked noisenetwork.har Opens in DevTools and any HAR viewerform-state.json What each field held and why it was rejectedpage-snapshot.html The DOM, made inert so opening it runs nothingenvironment.json Browser, OS, GPU, viewport, preferences, frameworksYou rarely know where a bug will surface. Record first, then mark the problem area the moment it shows up, even a screen later.
“Rejected an unknown string” is not actionable. Bugpacker reports the length, the shape, the validation flags and the site’s own error text.
Trace headers are lifted to the top of the report, so a backend engineer can jump straight to the matching server log.
Requests an ad blocker killed are counted separately from real failures, so forty blocked pixels never look like a fire.
Jam, BugHerd and Usersnap can all hand an AI agent your bug report, because the capture is already on their servers. Bugpacker's is a file on your disk, so it needs a reader that runs on your machine and opens the file you already have. Works with Claude Code, Cursor, Codex and anything else that speaks MCP.
$ npm install -g bugpacker-cli $ claude mcp add bugpacker -- bugpacker mcp ~/Downloads > What went wrong in the bug I just captured? Promo validation rejected a code the user did type. The page has two elements with id="promo-code": the keystrokes landed in the second, the length check read the first and saw zero. No request ever reached the checkout backend.
Your agent gets the console error, the failed request, the form state and the steps you took. The extension makes no network requests and neither does the reader, which is open source. What your agent does next is your decision: a cloud-hosted agent sends what it reads to its provider, and a local model sends nothing anywhere.
The same reader is a normal command-line tool. Useful when the fastest way to understand a bug is to look at it.
bugpacker show The whole report, summarizedbugpacker steps Repro steps, with expected and actualbugpacker console Logs, uncaught errors, CSP violationsbugpacker network Real failures, kept apart from ad-blocked noisebugpacker har The session as HAR, for DevTools or a HAR viewerbugpacker files Everything the package holds, with sizesbugpacker json report.json, for piping into something elsebugpacker extract Write any artifact out as a fileAll five products on our comparison page store captures on their own servers. Bugpacker builds the package in your browser and saves it to your downloads folder. There is no server of ours in the loop.
Emails, phone numbers, card numbers, tokens and authorization headers are replaced before you see the package. There is no setting that disables it.
A rejected number reads [PHONE_1: (NNN) NNN-NNNN]. That is enough
to fix a validator and too little to identify anyone.
Typed text, passwords, cookie values and storage values are not captured at all. Bugpacker records only that a field was used and what its name was.
The extension declares no host permissions, which is the browser's own way of saying it has nowhere to send anything.
Redaction is best effort. Read the privacy policy for exactly what is captured and what is not, or the security and data handling page if you have to get this approved by somebody.
Bugpacker has no server, so there is no data to sell and nothing to sign up for. We do not know who you are or whether you ever use it. The extension contains no analytics and no crash reporting.
There is no paid tier, and little to pay for: no server to run and no accounts to support. If work on it stopped tomorrow the copy you installed would keep working.