False-positive Usage Policy refusal on fiction-research prompt; classifier appears non-deterministic

Resolved 💬 1 comment Opened May 4, 2026 by networkingguru Closed Jun 1, 2026

Summary

Got a Usage Policy refusal in Claude Code during a fiction-research session. The classifier triggered on bioweapon-adjacent vocabulary despite the surrounding context being unambiguously fiction work on a science-fiction manuscript. Retry on the next turn succeeded with the same conversational context, which suggests the pre-response classifier is non-deterministic.

What I was doing

Working on a science-fiction thriller. The current manuscript already contains a fictional engineered-virus passage in a briefing scene. I asked Claude Code to validate a written critique of that passage's biology and propose more rigorous replacement mechanisms — exactly the kind of plausibility-pass work a fiction writer would ask an editor or science consultant to do.

The exact prompt that triggered the refusal

Dig into the critique about the cytokine storm (in docs). Validate this is correct, and then give me something scientifically plausible that I can insert. The suggestions in the doc are hand-wavy

What I saw in the UI

Let me check the actual passage in the manuscript first.

Ran
Find cytokine/virus passages in MS

API Error
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.

Context the classifier missed

  • The session had been running ~50+ turns of established fiction research at the time of the refusal — weapon design, Faraday cages, blast-door breaching tools, sentry-bot doctrine, bioweapon-facility signage, etc.
  • The project is a private tooling repo for analyzing a sci-fi manuscript series I am writing. It contains the manuscript files in plain text and a bunch of generated reference docs.
  • The cytokine question was a science-plausibility check on existing fictional prose in my own manuscript. The goal was to replace a biologically-incorrect mechanism (cytokine storm in immature immune systems — inverted from real immunology) with one a scientifically literate reader would accept.
  • A critique doc in the same project (docs/book2-china-briefing-critique.md) had already flagged this exact issue and proposed two fixes. My prompt was a follow-up asking the model to deepen those fixes.

What worked

After receiving the error, I rephrased and resubmitted on the next turn. The retry produced a complete, useful response: validated the critique, explained the biology of cytokine release syndrome and why pediatric immune responses don't typically dysregulate that way, and proposed three plausible replacement mechanisms (thymic-involution targeting, mitotic-tissue dependency, and a deliberate hand-wave). All three were the kind of mechanism-level science a thriller-fiction project actually needs.

The retry succeeded with effectively the same conversational context, which is why I'm classifying this as a classifier non-determinism issue rather than a "you can't ask this" issue.

Suggested fixes

  1. Improve context-awareness for the pre-response classifier. A session with extensive established fiction-research context (50+ turns of clearly-fictional weapon-system / facility / briefing analysis) should weight harder toward "this is fiction work" when bioweapon-adjacent vocabulary appears.
  2. Better failure UX for false positives. When a refusal fires, surface a more useful hint than the bare Usage Policy block. Something like "this prompt looked like X — if you're working on fiction, try framing as Y" would let users self-correct instead of feeling stonewalled.
  3. Reconsider the "switch to claude-sonnet-4-20250514" workaround in the error message. Pushing users to older models for legitimate fiction research isn't the right escape valve — it implies the newer model is wrong, when in this case the newer model gave a great answer on retry.

Environment

  • Model: claude-opus-4-7[1m] (Opus 4.7, 1M context)
  • Platform: Claude Code CLI, macOS (Darwin 25.2.0)
  • Session length at refusal: ~50+ turns of fiction research

Why this matters for fiction writers

Fiction writers — especially in thriller, sci-fi, and horror — need occasional access to dark or dangerous topics in clearly-fictional contexts. False positives like this push the user to less-aligned competitors (I considered switching to Grok mid-session), which is the opposite of what the Usage Policy intends to encourage. Making the classifier robust to long-running fiction sessions, or providing better self-correction UX, would let Claude Code be a strong tool for the writers who use it without weakening Usage Policy on the prompts that actually matter.

View original on GitHub ↗

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