[BUG] False positive Usage Policy violation on legitimate comparative genomics research (Opus)

Resolved 💬 3 comments Opened Feb 5, 2026 by invertome Closed Mar 6, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

Claude Code returns "Usage Policy violation" errors when performing standard comparative genomics and evolutionary biology analysis on mollusc receptor gene families. The work is legitimate academic research (UMass) — phylogenetic analysis, sequence alignment, clade assignment, and figure generation. No involvement with toxins, drugs, pharmacology, or anything harmful.

The error triggers when Claude reads 2+ bioinformatics data files (TSV tables) containing standard receptor gene family nomenclature (clade names like "Alpha-A10", "ACHR-like", "Anion-nAChR"). Shell commands and single file reads sometimes work, but accumulated context from reading multiple project files crosses a filter threshold.

The prompt itself is completely innocuous (e.g., "please continue our project using beads tracker"). The filter is reacting to scientific terminology in the data files and project context, not to anything the user is typing.

What Should Happen?

Claude Code should be able to read bioinformatics data files containing standard scientific gene family nomenclature (receptor subunit clade names) without triggering usage policy violations. This is standard evolutionary biology — the same terminology appears in thousands of published papers and NCBI databases.

Error Messages/Logs

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.

The error consistently triggers after reading data files. Example session flow:
1. bd show CR-020 — succeeds
2. bd show CR-jmr — succeeds (task title mentions "nAChR/CR phylogenetic analysis")
3. Read sequence_motif_analysis.tsv (5 lines) — succeeds
4. Read final_clade_assignments_v3.tsv (5 lines) — triggers error

The data files contain columns like: sequence_id, species_code, clade_name, sequence_length. Clade names use standard receptor nomenclature (Alpha-A10, ACHR-like, Divergent-nAChR, Anion-nAChR, Chemoreceptor-CRT).

Steps to Reproduce

  1. Create a project with TSV data files containing receptor gene family clade names (e.g., "Alpha-A10", "ACHR-like", "Anion-nAChR", "Divergent-nAChR")
  2. Have a CLAUDE.md with scientific writing instructions (adds context about research workflows)
  3. Send any prompt that causes Claude to read 2+ data files in sequence
  4. Error triggers after accumulated context includes enough receptor biology terminology

The error is NOT prompt-dependent — even "check beads status" triggers it once enough data files are in context. Removing clinical/medical template sections from CLAUDE.md did not resolve the issue.

Claude Model

Opus

Is this a regression?

I don't know

Last Working Version

A few day ago it worked

Claude Code Version

2.1.32

Platform

Anthropic API

Operating System

Other Linux

Terminal/Shell

VS Code integrated terminal

Additional Information

The project is a standard bioinformatics pipeline: BLAST/DIAMOND search → HMM filtering → multiple sequence alignment (MAFFT) → phylogenetic tree (IQ-TREE) → clade assignment → visualization. It analyzes ligand-gated ion channel gene families across ~40 mollusc species.

Workarounds attempted:

  • Removed ~190 lines of clinical/medical template content from CLAUDE.md — did not fix
  • Using very targeted single-file prompts sometimes stays under the threshold
  • Switching to Sonnet avoids the filter but Opus is needed for this work

The filter appears to trigger on accumulated receptor biology terminology across multiple file reads, not on any specific prompt content. This blocks all continued work on the project using Opus.

View original on GitHub ↗

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