[BUG] Recurring false-positive Usage Policy refusal triggered by screenshot/vision content, not prompt text
Summary
Recurring false-positive "Usage Policy" refusals in Claude Code, consistently triggered by vision (screenshot) input rather than any text prompt content. Confirmed 12 distinct refusals in a single day (2026-07-04) across 9 unrelated sessions/tasks.
Environment
- Claude Code version: 2.1.200 / 2.1.201
- Entrypoint:
claude-vscode(VS Code extension), also reproduced via CLI - Platform: Windows 11
- Auth: Claude subscription (claude.ai OAuth) — confirmed no third-party gateway/proxy in the request path for any of these sessions
Pattern observed
In every case I traced, the refusal immediately follows an MCP tool call that returns a screenshot of a legitimate small-business website under active development. The refusal fires regardless of the actual task being performed that turn — tasks included pricing-card redesign, a git/deploy push, CSS/video fixes, and general dev-server review, none of which are themselves policy-sensitive. The same screenshot content (not the coding task) appears to be the common factor across all 12 occurrences.
As documented in your own error reference (https://code.claude.com/docs/en/errors#usage-policy-refusal), the check evaluates the full conversation, so retrying in the same session (or via --continue/--resume) reliably re-triggers the same refusal, since the flagged image remains in the transcript. This matches what was observed, including one case where the user explicitly pushed back that the content wasn't policy-violating, and the retry failed identically.
Request IDs (2026-07-04, chronological, UTC)
- 00:17:36 — req_011Ccg4DRbPd1BbAdhWSu3xv
- 00:19:58 — req_011Ccg4Po5zhjdJkQXuuDjY3
- 01:07:05 — req_011Ccg7zguVo9PhoBqHnpeQz
- 10:30:49 — req_011CcgrzZkPo9iuYD4g7j8UL
- 10:32:33 — req_011Ccgs7m3z28khUDSEneoJx
- 10:44:47 — req_011Ccgt49nia7jPxudRXerz1
- 10:53:34 — req_011CcgtiqZCDtbV6EDBbC9ZP
- 11:02:23 — req_011CcguQBvNv19biUvyy8drM
- 11:48:27 — req_011CcgxuZredPLLVpYX87s8K
- 12:21:28 — req_011Cch1SE4Nf3fu2aF31KLdK
- 17:09:03 — req_011CchPMcpGdTwfmJwDygkmc
- 17:20:14 — req_011CchQDF2EgYJNZuTesJUQ2
I'm happy to share the specific image content privately with an Anthropic engineer if useful for tuning the classifier — I'd rather not post it in a public issue.
Expected behavior
Legitimate business-website screenshots shouldn't repeatedly trip the Usage Policy classifier across unrelated development tasks in one day.
Actual behavior
12 refusals in one day, all following the same screenshot pattern, forcing session rewinds/restarts to continue unrelated work.