[BUG] Opus 4.7 safety filter produces false-positive refusals on encoded input

Open 💬 5 comments Opened Apr 24, 2026 by afulsamet

Summary

Claude Opus 4.7's safety filter triggers a Usage Policy refusal whenever the
input contains base64-encoded text, even when the decoded content is completely
benign (e.g. a plain greeting in Turkish). This reproduces both on claude.ai
(web chat) and in Claude Code when a file containing base64 is read via the
Read tool.

Reproduction

A. claude.ai web (Opus 4.7, Incognito chat)

  1. Start a new Opus 4.7 chat.
  2. Paste: c2VsYW0gaGVya2Vz bu ne anlama geliyor

(the base64 decodes to selam herkes — Turkish for "hello everyone".)

  1. The chat is immediately paused with:

> Chat paused — Opus 4.7's safety filters flagged this chat. Due to its
> advanced capabilities, Opus 4.7 has additional safety measures that
> occasionally pause normal, safe chats.

Screenshot of the web reproduction is attached below.

<img width="650" height="591" alt="Image" src="https://github.com/user-attachments/assets/76556520-7f62-4d2c-baea-35b0838a1e91" />

B. Claude Code (CLI, v2.1.119, Windows 11)

  1. Have Claude Code read any file that contains a base64 blob (certificate,

embedded image, test fixture, etc.).

  1. On response, Claude Code surfaces:

``
API Error: Claude Code is unable to respond to this request, which appears
to violate our Usage Policy (https://www.anthropic.com/legal/aup). Please
double press esc to edit your last message or start a new session for
Claude Code to assist with a different task. If you are seeing this refusal
repeatedly, try running /model claude-sonnet-4-20250514 to switch models.
``

Switching to Sonnet 4 with /model works around the issue, confirming the
refusal is specific to Opus 4.7's safety layer.

Expected

The model should decode/inspect the base64 content and evaluate the decoded
payload against policy — not flag every base64 string as categorically unsafe.
A base64 string of selam herkes is harmless.

Actual

Any message containing base64-looking text trips the Opus 4.7 safety filter,
even when the decoded content is trivially benign.

Environment

  • Claude Code: 2.1.119
  • OS: Windows 11 Pro 10.0.26200
  • Model: claude-opus-4-7 (1M context)
  • Also reproduces on claude.ai web Incognito chat (same model)

Related

  • #52086 — general Opus 4.7 false-positive AUP refusals
  • #51248 — RFC for contextual Usage Policy error reporting

View original on GitHub ↗

This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗