The phrase covers a real category, and the tools inside it differ more than the label suggests. Some watch a single browser tab; some record the whole Mac; some hand the agent a capture tool and let it look for itself. What they share is the constraint underneath: a model API reads text and images, never video, and every image it reads is billed by the patch.

Why can't you just describe the bug in words?#

You often can, and it is the cheapest option available — a typical spoken description reaches an agent as about 150 tokens (measured, range 100 to 200), against 2,691 for a single 1080p screenshot on Claude 4.7 and later, the high-resolution tier, where no image exceeds 4,784 tokens. Words fail when the bug is spatial.

Good written feedback names three things: the location of the problem, what you expected there, and the gap between the two. That discipline is covered in full in how to give feedback to Claude Code that lands, and it is worth learning before reaching for any capture tool, because a tool that records a vague complaint just produces an expensive vague complaint.

Where prose runs out is spatial precision. "The middle card sits about eight pixels low" is describable. "This one, not that one" — pointing at the third of twelve visually identical rows — is not, at least not without a paragraph of scaffolding that costs more attention to write than the fix costs to make. Motion is the other failure mode: an animation that stutters, a state that only breaks after the third click, a flash of the wrong color during a transition. Visual feedback exists for exactly those two gaps, not as a replacement for saying what you mean.

Why can't the agent just watch a screen recording?#

Because the model API accepts images, not video containers. Anthropic's vision documentation lists JPEG, PNG, GIF and WebP as the supported formats and states that animations are unsupported, with only the first frame used. There is no call that plays an .mp4.

The only route from a recording to something an agent can look at is frame-dumping: extracting stills at a fixed interval and sending each one as a separate image. Sample 30 seconds at one frame per second and you get 30 full-screen images. On Claude 4.7 and later, the high-resolution tier, each 1080p frame costs 2,691 tokens and none can exceed 4,784, so the recording arrives as 80,730 input tokens (calculated: 30 x 2,691). That is roughly 40% of a 200,000-token context window (calculated), spent before the agent has read a word of what you meant.

Worse, a fixed-interval sampler has no idea which second mattered. Most frames of a mostly-static screen are near-duplicates, billed at full price. The longer version of this argument, including why lowering the frame rate does not fix it, is in why your coding agent can't watch a screen recording; the cross-vendor arithmetic is in the visual context token cost benchmark.

What are the four kinds of visual-feedback tools?#

Four shapes cover the field: browser-overlay annotators, screen-recorder compilers, MCP screen-capture bridges, and manual screenshot pasting. They differ on what they can see, where they run, what actually reaches the model, and what they cost. Prices run from free, through $29 and $39 one-time, to $9 a month.

Kind What it captures Where it works What the agent receives Typical token cost Price basis
Browser-overlay annotator DOM element, selector, component reference, your note A browser tab on localhost, or inside your own web app Text: selectors, positions and notes Text only, unless a screenshot is attached Vibe Annotations: free, source-available. Agentation: PolyForm Shield 1.0.0, no price published
Screen-recorder compiler Screen plus voice, over time Any app on the machine Markdown transcript with selected frames inline About 3,500 tokens for a Walkie bundle (measured, typical) Walkie: $39 once. Clipy: $9/mo
MCP screen-capture bridge Whatever the agent asks to capture, on demand Wherever the server can reach One image per capture, plus tool text 2,691 tokens per 1080p image, high-resolution tier, cap 4,784 (calculated) Usually free and open source
Manual screenshot pasting One frozen state, with or without markup Anywhere a keyboard shortcut works One image, or a set of crops 2,691 tokens per 1080p image, high-resolution tier, cap 4,784 (calculated) Free and built into the operating system. Casso: $29 once

Every price in that table was read off the vendor's own page on 2026-08-16; where a project publishes no price, the cell says so rather than guessing.

Both 2,691 figures in that table are the high-resolution-tier number for Claude 4.7 and later, where a single image is capped at 4,784 tokens; standard-tier models downscale the same 1080p image to 1456x819 and pay 1,560 instead.

Honest best fit, one line each:

  1. Browser-overlay annotator — best when the whole review happens inside a web page, and the cheapest place to start. Vibe Annotations is free and source-available, runs entirely locally with no account, and sends DOM selectors and component information to an agent over MCP. Agentation takes a different route into the same job: it installs as an npm package and renders a toolbar inside your own React app, capturing class names, selectors and element positions as structured markdown so an agent can grep for the exact code. Neither carries voice, and neither can see anything outside the browser.
  2. Screen-recorder compiler — best when the bug unfolds over time, or lives in an app that is not a browser. Clipy turns a recording into markdown with a summary, timestamped moments, click coordinates and a transcript, at $9 a month. Walkie compiles narration and pointer-selected frames into a REVIEW.md bundle for $39 once, macOS only. This is the most expensive shape to buy and the heaviest to set up; if nothing in your review moves, skip it.
  3. MCP screen-capture bridge — best when you want the agent to look on its own mid-task rather than being handed a capture, which is genuinely useful in an unattended run where nobody is watching to take a screenshot. The trade is that it adds a round trip and a full image per look, and it cannot tell the agent which part of that image you cared about, because nobody pointed at anything. Walkie exposes one of these alongside its recorder: seven walkie_* tools an agent can call to start a recording, check its status, or list and open screenshots.
  4. Manual screenshot pasting — best for a single frozen state, and genuinely the right answer more often than tool vendors admit. The operating system's own capture costs nothing. Casso sits in the same row for $29 once, no subscription: a hotkey draws numbered boxes on the screen and puts a full screenshot, per-box crops and an annotated composite on the clipboard for Claude Code, Codex, Cursor or anything else that accepts an image, with a $1 three-day option to try it. The payload the agent receives is still images plus a prompt — the markup buys precision, not a cheaper bill.

A wider, priced side-by-side of eight named tools, including the free ones, is in the tools compared.

What does visual feedback cost in tokens?#

Every image is priced by Anthropic's patch formula: an image costs the ceiling of width divided by 28, times the ceiling of height divided by 28, in visual tokens. On the high-resolution tier — Claude 4.7 and later — the long edge caps at 2,576 px and the total at 4,784 tokens. A 1920x1080 screenshot is 69 x 39 = 2,691.

What you send Tokens Basis
One 1080p screenshot, high-resolution tier (Claude 4.7 and later, cap 4,784) 2,691 calculated
The same screenshot on standard tier, downscaled to 1456x819 1,560 calculated
One real test screenshot at 1288x811 1,334 measured
Four screenshots covering one page 10,764 calculated
A spoken transcript, typical about 150 measured, range 100 to 200
A complete Walkie bundle about 3,500 measured, typical
A 30-second review frame-dumped at 1 fps 80,730 calculated

In money, at $10 per million input tokens: the frame dump is $0.81 and the bundle is $0.04 (both calculated). The gap between them is 23x, or 96% fewer tokens. To price your own screen size against the same formula, use the screenshot token cost calculator; for the full cross-vendor table, see the visual context token cost benchmark.

One caveat that changes the arithmetic more than the resolution does: an image is not billed once. Anthropic's vision documentation states that in multi-turn conversations and agentic workflows, each request resends the full conversation history, and base64 image bytes are included in the payload on every turn. A screenshot pasted at turn one is still in the bill at turn twenty.

How do you give visual feedback to Claude Code?#

Two paths, and they are not exclusive. Walkie installs a Claude Code integration in one click, registering an MCP server and a skill. Or you paste a screenshot by hand and name what is wrong in the same message. The first is repeatable and cheaper per review; the second needs nothing installed.

The one-click path, as documented on Walkie's docs page:

  1. Open Walkie's Connect your AI step and press Install Claude Code integration. It registers the walkie MCP server at user scope and installs the walkie-review skill in one action, and can be re-run later from Settings.
  2. Start a new Claude Code session. Claude Code reads its MCP configuration when a session starts, so a session that was already open will not see the new tools.
  3. Record a review, then hand the agent the bundle path. The walkie-review skill tells it to read REVIEW.md fully first, answer from the transcript wherever possible, and open only the frames a question actually needs.

User scope matters here. Anthropic's Claude Code MCP documentation explains that user-scoped servers are stored in ~/.claude.json and are available across every project on the machine while staying private to your account — so the integration follows you between repositories instead of being wired per project. Skills work the same way: Anthropic's skills documentation puts personal skills at ~/.claude/skills/<name>/SKILL.md, applying to all your projects, with the frontmatter description telling Claude when to load it. If MCP is new to you, start with MCP explained.

The manual path is three steps: capture the screen, paste the image into the session, and in the same message name the location, the expected state, and the gap. The step-by-step version of the recorded loop, with the cost of each step, is in how to run a visual review with Claude Code.

When is a screenshot enough?#

When the bug is a single frozen state — a wrong color, a misaligned edge, text that is cut off — one screenshot says everything a recording would, for 2,691 tokens on Claude 4.7 and later, the high-resolution tier, capped at 4,784. It stops being enough the moment the bug involves change over time.

A short test before you record anything:

  • Nothing is moving, one element is wrong — take one screenshot, crop it to the element, and write the expectation. Do not record.
  • The bug needs three clicks to appear — narrate it. A sequence is what a still image cannot carry.
  • You would have to write a paragraph to say which thing you mean — point at it instead. That paragraph costs more of your attention than the pointing does.
  • The whole review lives in one browser tab on localhost — a DOM annotator is a better fit than a recorder, and free.

The failure mode worth naming is the opposite of stinginess: capturing four full-screen screenshots because one was not obviously enough. That is 10,764 tokens (calculated) of mostly-irrelevant pixels, re-sent on every turn afterwards, in place of one cropped image and a sentence. Visual feedback is worth what it costs when it replaces guessing, not when it replaces writing.