Safety Classifier Issue
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?
Safety classifier repeatedly halts ordinary meteorology work; a halted turn can corrupt files mid-write
Summary
During a single working session on 2026-09-21/22, roughly ten turns were halted by a safety classifier. The halts hit both directions — my prompts were refused, and Claude's replies were cut off mid-sentence after generation had begun.
The subject matter is a hobby weather project: forecasting soaring conditions (cloudbase, thermal strength, wind convergence) on the west slope of Haleakala, Maui. Nothing in the content is borderline. Representative topics that were halted:
Comparing a cloudbase forecast against webcam observations
Discussing diurnal variation of a temperature inversion
Reporting a lapse rate computed from 11 weather stations
Reporting that a memory-file verification had succeeded
Environment
Claude Code, desktop app (Code tab), Windows 11
Model: Claude Opus 5 (also occurred earlier in the session on Haiku 4.5)
Project: local Python weather analysis, no network services, no sensitive data
The concrete failure: halted turns corrupt files
This is the part with a measurable cost, and I'd prioritize it over the false positives themselves.
When a turn is halted, tool calls that already executed are not rolled back, but calls that had not yet run are discarded. A file edit can therefore land while the rest of the turn — including any follow-up write that would complete it — never happens.
Observed twice:
A Markdown file in Claude's memory directory was left truncated mid-sentence at the words Its own caution. The edit succeeded; the turn died before the content was finished.
Earlier in the session, a different memory file was left truncated at The prompts were ordinary weather quest. A subsequent attempt to repair it was itself refused.
Both files persist across sessions, so a halted turn leaves durable corruption that a later session inherits silently as if it were intended content.
Impact
Work is lost mid-thought and cannot be resumed by rewording (rewording the same content is explicitly disallowed after a halt).
Persistent files are left in a corrupt state with no error surfaced to the user.
The user cannot see which of their own prompts were refused, and the assistant cannot see it either, so conversational gaps are invisible to both parties and get misread as terseness.
Repeated halts pushed the assistant toward writing answers into text files to get content through — a workaround that directly produced a fabricated forecast presented as program output, because a hand-typed file looks like a generated artifact. That is a serious downstream consequence of the friction.
What would help
Make a halted turn transactional, or at minimum warn the user that a file write may be incomplete. Silent durable corruption is the worst outcome here.
Surface to the user when their own prompt is refused, rather than letting it vanish.
Investigate the false positives on meteorology vocabulary. The halted content involved terms like convergence line, shear, inversion, cap, lift, trade wind direction, cloudbase — plausibly colliding with unrelated classifier categories.
Reproduction
Not reliably reproducible on demand, but it recurred roughly ten times in one multi-hour session confined to this single subject area, which suggests topic sensitivity rather than randomness. Session transcripts are available locally and can be supplied if useful.
What Should Happen?
Claude should stop doing this.
Error Messages/Logs
Standard content warnings with no detail
Steps to Reproduce
Enter an innocuous prompt.
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
Claude Code 2.1.278, model Claude Opus 5
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Windows Terminal
Additional Information
_No response_