How to Send Bug Repro Steps as a Screen Recording Instead of Prose

bug report screen recordingrepro steps videocannot reproduce bugbug report videohow to report a bug
How to Send Bug Repro Steps as a Screen Recording Instead of Prose

"Cannot reproduce."

You wrote the steps out. You check again, add a condition, resend. This time: "works as expected on our side." You are three round trips in.

Those round trips come from the limits of prose. If the other person could see the screen you are looking at, the whole thing ends in one pass. This article covers how to record a bug report, what to put on screen, and the three lines that go with the recording. No editing involved. Record and send.

Why written repro steps fail

"Specific enough" means different things to different people

Repro steps are usually defined as the operations needed to make the bug happen, written in order, down to which screen, what you typed, and which button you clicked (The definitive guide to writing bug reports, Montecampo).

The trouble is that the threshold for "specific" varies by person.

Your "search for a product and open the detail page" reads to someone else as three separate forks: which search box, what term, which result. Take a different branch and nothing reproduces.

The starting state goes missing

Steps describe actions. The state you were in before the first action rarely makes it into the report.
  • Which permission level you were signed in as
  • Whether the cart had items in it
  • Whether you navigated in or opened the URL directly
  • How wide the browser window was

When the cause lives in that starting state, following the steps correctly still produces nothing.

"Something looks wrong" is unactionable

A report saying "something looks off" gives a developer nothing to work with; the guidance is to write "on screen X, clicking button Y breaks the layout and pushes part of the text off screen" (Montecampo, as above).

Fair enough, but describing visual breakage in words is genuinely hard work. Conveying the difference between "overflows," "overlaps," and "gets clipped" to someone who cannot see it takes several sentences. This is exactly where a recording earns its place.

What changes when you record it

The timeline comes across for free

Video shows the operations leading up to the bug, and conditions that only trigger it sometimes, along a timeline (Montecampo, as above).

"Only when you click three times in a row," "only if you press it before loading finishes." Timing-dependent behaviour is painful to write and obvious on video.

Fewer round trips

Bug reports resolve faster when the first report already contains what is needed, because the cause can be identified without another exchange (Cutting the waste out of bug reports, Qiita).

One round trip costs your time and theirs. It is reliably more expensive than the 30 seconds spent recording.

A recording on its own is not enough

Worth saying up front: a report that is only a video is awkward to work with.

Video is not searchable and not quotable. In a tracker list, an issue whose body reads "see the video" becomes unfindable in a month. You need both. The text format comes later in this article.


If you record one of these every week: Qureco
A few clips a month, and the built-in macOS capture is fine. Once it is every report, three things start to matter: no watermark, no recording time limit, and capture scoped to a single window. Nothing stamped across a clip you send to a customer, and no notifications from other apps in frame. The full list of criteria comes later, but you can try it first.

Seven habits for recording a bug

1. Start recording before the bug happens

The most common mistake: hitting record after the symptom appears.

A broken screen on its own does not show what led there. Start from "just signed in" or "about to open the screen." If that makes it too long, start one action before the failure.

2. Move slower than usual

Your hands know the route. The viewer is seeing it for the first time.

Pause briefly before clicking. Wait a second after typing. That alone makes the video show where you clicked. Footage that looks fast-forwarded generates another question.

3. Record the window, not the whole screen, and keep the URL visible

Full-screen capture picks up notifications and unrelated tabs. Record at the window level.

Do keep the address bar in frame: which URL it happened on is essential. A visible clock helps too, since it lets someone line the recording up with server logs. If the clock is not in frame, put the timestamp in the text.

4. On the web, open the console and network tabs

Recording with devtools open changes the quality of the report by itself.

  • Console: whether an error is being thrown, at a glance
  • Network: which request failed, and with what status code
Attaching error logs and HAR files is described as accelerating diagnosis (A 7-step bug tracking template for smarter QA, ONES). Keeping the console in frame hands over part of that for free.

5. Narrate what you expected

One sentence out loud while recording fixes the meaning of the footage.

"Pressing save here should take me back to the list. And it stays on the same screen."

Video shows what happened. It does not show what should have happened. Your voice covers that gap. If your microphone is not being captured, see Why Your Mac Screen Recording Has No Microphone Audio.

6. Keep it to 30 to 60 seconds

Long recordings do not get watched. Hand someone five minutes and they defer it.

One symptom, one clip, 30 to 60 seconds. When setup is long, describe the setup in text and record only the 30 seconds before the failure.

7. Close what should not be on camera first

Recording a work screen always raises this. Check before you hit record.

  • Customer names, personal data, and email notifications
  • Chat or calendar entries showing other clients
  • Production data where a test environment would do
  • Internal system URLs sitting in your bookmarks bar
Where possible, reproduce it in a test environment with test data and record that. If it only happens in production, record the single window and watch the clip back once before sending.

The three lines that go with it

Always write the text. It does not need to be long.

Expected: pressing Save returns to the product list
Actual:   screen does not change, 500 error in the console (video 0:12)
Env:      macOS 15.6 / Chrome 141 / admin account / production / 11 Sept 10:42

Three things make this work:

  • Expected next to actual. This part belongs in text. The video only ever shows "actual"
  • A timestamp into the video. Write 0:12 and the viewer starts at 0:12
  • Environment on one line. OS, browser, permission level, environment, time. Leave it out and the question comes back

Those lines also make the issue searchable in your tracker, which is the problem a video-only report creates.

When they say they cannot reproduce it

Even with a recording, the bug may not appear on their machine. This is where the real work starts.

Non-reproducible bugs are decided by how you record the information: narrow down the conditions, leave room for it being intended behaviour, and share any workaround (What I would tell my first-year self about bug reports, Qiita).

Change exactly one condition and record again

What not to do: record the same steps a second time. That produces the same video twice.

Change one thing per attempt.

  • A different browser
  • A different permission level
  • A narrower window
  • Throttled network (devtools)
Report both the condition that reproduced it and the one that did not. "Happens in Chrome, not in Safari" is itself a strong lead.

Leave room for it being intended

Whatever you took for a bug may be working as designed.

Adding "close this if it is intended behaviour" to the report makes it easy for the other side to say so. One sentence, one fewer round trip.

Share the workaround

If a reload clears it, say so. That single fact lets someone set the priority on the spot.

What to record with, if you do this daily

Worth saying plainly: the built-in macOS capture (Command + Shift + 5) is fine if you record a few times a month.

What changes when a recording accompanies every report is that four things start to matter.

RequirementWhy it matters
No watermarkA report shared with a customer cannot carry someone's logo
No time limitFumbling the setup runs you into 5- or 30-minute caps on free apps
Window-level captureKeeps notifications and unrelated information out of frame
Selectable resolution720p keeps the file small enough to paste into chat
Qureco is a Mac recording app that covers those four in its free tier.
  • Pick the whole screen or a single app window, chosen from thumbnails, so you never record the wrong one by accident
  • Choose 1080p / 720p / 480p / 360p, so a bug report can be a small 720p file
  • Microphone and system audio toggle independently, so you can narrate without capturing system sounds
  • No time limit, no watermark, and MP4 export
  • No virtual audio setup
The Qureco recording window, where you pick the window to capture and toggle microphone and system audio independently
Qureco official site
One caveat: Qureco has no video editing. Trimming a section out or blurring part of the frame needs another tool. The workflow in this article records 30 seconds without editing, so it does not come up, but it does mean you cannot hide something after the fact. Close it before you record.

Frequently asked questions

Someone told me videos take too long to watch.

Length and accompanying text solve that. Cut to 30 seconds and put "video 0:12" in your three lines so they start at the right moment. What people dislike is being handed five minutes, not video itself.

The file is too big to send.

Dropping the resolution helps most. 720p is perfectly legible for a bug report. If it is still large, cut the length. A 30-second 720p clip pastes into chat.

How do I capture something that happens in a customer's environment?

Walk them through the built-in capture (Command + Shift + 5 on Mac, Win + Alt + R on Windows). Asking a customer to install an app rarely lands. Add two instructions: start recording before it happens, and keep the address bar visible. That is usually enough to get a usable clip.

When is a screenshot enough?
Often. Layout breakage, typos, a wrong amount on screen: anything explainable in a frozen state is faster as a screenshot. Recording is for behaviour that depends on order or timing.
Do I need audio?

Not required, but it reduces round trips. If you cannot speak, guide the eye another way, such as selecting the element before you start, and always cover intent in the "Expected" line.

Summary

  • Written repro steps fail because the granularity of actions and the starting state differ from person to person
  • A recording hands over the timeline for free, which beats prose for timing-dependent behaviour and visual breakage
  • Seven habits: start before the bug, move slowly, record the window, show the console, narrate, cut to 30 seconds, and close what should not be on camera
  • A recording alone is not enough. Attach expected, actual, and environment, and cite the timestamp in the video
  • When they cannot reproduce it, change one condition and record again. The condition that failed to reproduce is information too

On your next report, record 30 seconds starting before the bug appears. If it saves one round trip, the 30 seconds already paid for themselves.

Qureco

Qureco Screen Recorder

Powerful screen recording app for Mac

Record meetings, let AI handle the notes, just read what arrives in Notion.Try all features free for the first two weeks.

No Setup RequiredNo WatermarkAI Meeting NotesNotion Integration

About the Author

Shunsuke Inoue

Shunsuke Inoue

CEO, Qurio Inc.

Founder of Qurio, an AI consulting company. Majored in AI at Sophia University and founded the AI research circle "SOMA." As CEO of JPMT Inc., developed "MinPro" (1,300+ users) and business analysis SaaS "Optpath." Established Qurio Inc. in October 2025, focusing on AI and data development consulting. Speaker at the 30th Nikkei Forum "Future of Asia." Committed to promoting technological advancement and creating new value through AI.