We make Darnly, so we wanted to know if it actually beats the obvious way: take a screenshot, paste it into your agent, type a sentence. We tested it. Here is what we found, including the parts that don't flatter us.
The test
- A real app: Excalidraw, an open source drawing app with about 1,300 files.
- 8 planted bugs: colors, sizes, a hover style, a zoom button, a reset that throws an error. Four needed a fix in a shared place, four needed a local fix.
- Two ways: a screenshot pasted into Claude Code with one sentence, or a Darnly report with the same sentence as the note.
- Twice each, 32 conversations in all, with Claude Code on the Sonnet model. A browser check confirmed each fix and its scope.
The results
| Screenshot + sentence | Darnly | |
|---|---|---|
| Fixed, right scope | 16 of 16 | 16 of 16 |
| Fixed from the first message | 16 of 16 | 16 of 16 |
| Follow-up questions from the agent | 0 | 0 |
| Cost per bug (average) | $0.07 | $0.11 |
| Tokens per bug (median) | 157,000 | 358,000 |
| Code searches per bug (average) | 3.2 | 2.1 |
| File reads per bug (average) | 2.7 | 1.6 |
| Agent time per bug (average) | 11 s | 23 s |
In plain words:
- Both fixed everything. A screenshot was enough for these bugs.
- Darnly's report helped the agent find the code a bit faster. About a third fewer searches and file reads.
- Darnly's workflow cost more than that saved. About 10 of its 15 tool calls per bug were bookkeeping: loading its instructions, reading the inbox, opening the screenshot, writing a Fixed line and moving files to
done/. So Darnly cost about 1.6 times as much per bug. - The agent never asked "local or global?" With a screenshot, it found the shared theme for shared bugs and kept local ones local, every time.
The limits: one app, one model, 8 bugs we planted, all visible on screen. Real bugs that need several steps to reproduce, or only show in the console, weren't well covered. Only one of the 8 involved an error.
When a plain screenshot is the better pick
- The bug is visible on screen.
- You're already in your agent's chat and only have one bug.
- You're watching usage or cost closely.
- You don't want to install anything.
If that's you, take a screenshot, mark the broken part, and write one sentence with what you expected. The guide on how to show Claude Code a bug shows how. For nicer screenshots to share, the screenshot beautifier frames them.
When Darnly is the better pick
- You don't want to break your flow. One key, click, one sentence, and you keep testing. No screenshot shortcut, no app switch, no dragging files.
- The bug isn't visible. A button that does nothing looks fine in a picture. Darnly keeps console errors and failed requests from the last 60 seconds, so the cause comes with the report.
- Several look the same. Darnly records the exact element you clicked: selector, text, HTML and styles.
- You find bugs in batches. Capture ten while you test, then type
/darnlyonce. Each report gets a Fixed line, and the panel says "Take a look" for each one it fixed. - Your code is somewhere else. With the optional cloud inbox, bugs from all your projects wait in one private list that your agent reads over MCP.
What we learned
Most of Darnly's extra cost is its own file moving after a fix, and our benchmark write-up lists making that one step or none as the first thing to change. Until it changes, we'll keep saying it plainly: Darnly makes reporting a bug easier, not cheaper. If that's worth it to you, add it to Chrome, it's free.