[BUG] Opus 5.5 safeguards flag [reasoning_extraction] twice in one agent turn during ordinary frontend work (downloading SVG icons from Figma)

Status Open
Reported on v2.1.289
Maintainer reply None cached
Activity 0 comments · opened Oct 5, 2026

What's wrong

During a long autonomous turn of ordinary frontend work the Opus 5.5 safeguards fired twice within about ten minutes. Nothing in the turn asked the model to reveal its reasoning.

  1. First the response was cut mid-generation with the line Opus 5.5's safeguards stopped the response above · continuing once with that noted. The tool calls in that response did not run.
  2. A few tool calls later the turn ended with the API error below, and the session stood still until I sent a new message.

Error

API Error: Opus 5.5's safeguards flagged this message (https://www.anthropic.com/legal/aup). This sometimes happens with safe, normal conversations. Claude Code can't respond to this message with Opus 5.5.

Double press esc to edit your last message, or try a different model with /model.

Details: `[reasoning_extraction]`

Request ID: req_011CfjpxWzasTQHBnA8L8Lny
Message ID: msg_011CfjpxYtBbooUTw4ET315W

What the agent was doing

It was building a checkout page of a web store from a Figma file (Nuxt 4, Vue). The steps right before each stop:

  • Before the first stop: a Bash call that printed the first 330 bytes of four SVG files already in the repo (card brand marks), a CSS fragment and the headers of two Vue components. Shortly before that a Figma MCP use_figma call had returned several SVG strings (card brand marks and a spinner icon) as tool output.
  • Before the second stop: four Figma MCP download_assets calls, then a Bash call that downloaded four SVG files with curl and printed each file's size, its first 210 bytes and its fill colours.

Possibly relevant: about 25 minutes earlier in the same context I had asked the agent to save the conversation of the session into a markdown file for my own notes. It wrote a Python script that reads the session .jsonl and renders only the user and assistant text; thinking blocks were skipped and never printed. If the classifier keys on that request, it fired long after it and on unrelated tool output.

What should happen

No flag on this kind of work. If a flag does fire, the message should say which part of the context triggered it, so the user can remove that part instead of guessing.

Impact

The turn had been running for 12m 35s. The first stop discarded a response in progress. The second ended the turn late in the evening in an unattended run, so the work stood until I came back to the terminal.

Environment

  • Claude Code 2.1.289
  • Model: Opus 5.5 (claude-opus-5-5)
  • WSL2 (Ubuntu) in Windows Terminal
  • 2026-10-05, about 21:40 to 21:49 UTC

Related

Looks like the same false positive as #98861, #97817, #98983 and #87640.

View original on GitHub ↗