The difference between a bug report that gets fixed and one that sits in a queue is almost never the bug. It’s the evidence. Most of the time, “unable to reproduce” means your screenshot didn’t show the thing I needed to see.

The person fixing it wasn’t at your desk when it happened. Your capture is the only look they get. Here’s how to make sure it shows them everything they need.

Capture the whole window, not just the error

The error message tells them something went wrong. The rest of the screen tells them where, and often why. Prefer a window capture (⌘⇧W on macOS or Ctrl+Shift+W on Windows) of the whole app — title bar, toolbar, whatever state is visible — over a tight crop of just the red text. The person fixing this needs to know which screen you were on, what was open, what was selected. If the reproduction depends on a menu or a hover state, that’s what you’re capturing: use the delayed capture (⌘⇧7 on macOS or Ctrl+Shift+7 on Windows) so the dropdown is still open when the frame fires.

If the problem moves — a flicker, a race, an animation that stutters — that’s a multi-frame job. Take the region capture, open the timeline, and you’ve got the burst: nudge through the frames and pick the one where it visibly goes wrong. A single static frame of a flickering control proves nothing. Three frames do.

Annotate the steps, not the opinion

Number the steps. The counter (C) exists for exactly this: click at each step of the repro and the tool hands you ①②③, so the reader follows your exact path in order. Add an arrow (A) for anything that’s easy to miss, and a spotlight (S) if the screen is busy and the important part is small.

Two rules keep it honest:

  • Point at what you did, not at what you feel. “Clicked here, then here, then it did this” reproduces. “This is broken” doesn’t.
  • One frame per idea. If the report needs four distinct facts, it needs four annotated frames — or one .hypercapture with a timeline the reader can scrub.
Number the steps and point at what broke, so they can follow along.DOCSAll the tools

Redact before you send it

Your report is leaving your machine and probably your company. Before you send it, sweep it with the redact tool (X): account names, customer data, keys, the URL in the address bar if it’s internal. When it’s truly sensitive, use Secure (a solid block) rather than blur: a block covers the text completely, while a blur can leave enough behind to make it out.

Send it so nothing gets lost

Two options, in order of usefulness:

  • The fast one: copy the annotated image (⌘C / Ctrl+C) and paste it straight into the ticket. Fine for one frame.
  • The complete one: save the .hypercapture and attach it. The recipient opens it in hypershot and everything is still there to work with — every arrow movable, the timeline scrubbable, the original frames intact.

The report that gets fixed

The whole window captured. Steps numbered. The one thing that mattered spotlighted. Everything private redacted. Sent as a file they can open and explore.

It can still come back “unable to reproduce.” It’s just a lot less likely now.