[Bug] Anthropic API Error: Safety classifier false positive on technical content (reasoning_extraction)

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

Bug Description
What the system is. On this project I work as an architect rather than a lone coder. I hold the contract, the plan and the project's accumulated context, and I hand the actual building to separate Claude sessions called workers. Each worker is dispatched with a written brief — a self-contained file stating the state of the world, the numbered tasks, the blast radius of files it may touch, the prohibitions, and the acceptance criteria it will be judged against. The worker does the reading and the coding cold, reports back, and I verify its work by running the anchors it claims. The point is that a long-running architect stays clear-headed instead of filling its context window with file contents and then degrading: circling, re-deriving facts it already established, and generating mistakes that cost more to fix than the original work. Over a long build, delegating the building is both cleaner and cheaper than doing it all in one session. How the mechanism works. The launcher is a Windows batch file, worker-claude-v3.bat. It opens a real visible console window, titled with the task and channel so you can see which worker is which, then starts claude inside it with two things attached: a system prompt that tells the new session it is a worker, which task it is on, where its brief file lives, and the parent session's console ID as a return address; and the path to that brief. A worker launched this way sits idle until something types a first message into its window, because a system prompt sets up context but is not itself a user turn. A small helper, console-inject.exe, attaches to the worker's console and writes the opening instruction into its input buffer. From that point the worker registers its own process ID to a file so the parent can confirm it really started, works through the brief, writes a report, notifies the parent, and exits. What went wrong. Every mechanical stage worked. The launch opened a real console with a real Claude process in it, holding around 340 MB of memory. The kickoff message was delivered and received. What failed was the worker's very first response: instead of beginning the brief, its window showed that Anthropic's safeguards had flagged the message, that this sometimes happens in safe and normal conversations, that Claude Code could not respond with that model, and a detail label of reasoning_extraction, with a request ID. The worker therefore produced nothing — no process ID file, no code, no report — and from outside the window it simply looked like a session that had started and then done nothing at all. Two separate workers behaved identically. The same fault hit the parent session. Three of my own replies in the architect session were stopped mid-generation by a safety classifier, with no worker involved in any of them. The content at those moments was explaining a git merge, diagnosing why the worker had stalled, and discussing what the safeguard message itself meant. That last one is the useful detail: attempting to describe the classifier reliably triggered it again. This is what rules out the obvious theories. A classifier firing on a plain explanation of a merge is not a judgement about delegation, about batch files, or about one session writing keystrokes into another. It is the same false positive landing in two different places. Why it mattered. The practical cost was an evening of build work. The brief was written, the baseline merged, the branch and safety tag created, and the worker correctly dispatched — and then nothing could run. The misleading part is that the failure is invisible from outside: a parent session polling for signs of life sees an alive process producing no output, which looks exactly like a launcher problem. I spent real effort patching and then reverting the launcher on that false assumption, and the actual cause only became clear when the worker's own w

Environment Info

  • Platform: win32
  • Terminal: null
  • Version: 2.1.289
  • Feedback ID: 5a8b0417-6222-4424-9098-8587bbc7cce5

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗