claude-code - 💡(How to fix) Fix False-positive content filter blocks benign UI animation prompts in Claude Code

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

The Claude Code content filter is repeatedly blocking entirely benign UI / animation prompts in mid-session. I'm iterating on a SwiftUI Canvas-based waveform component (seaweed-blade leaves that bend toward an audio playhead cursor) for my Tide iOS app. Two prompts in the same session have now been blocked even though the surrounding conversation, the open files, and the active code edits are unambiguously about graphics + Bezier curves + spring physics on a SwiftUI view.

Root Cause

The Claude Code content filter is repeatedly blocking entirely benign UI / animation prompts in mid-session. I'm iterating on a SwiftUI Canvas-based waveform component (seaweed-blade leaves that bend toward an audio playhead cursor) for my Tide iOS app. Two prompts in the same session have now been blocked even though the surrounding conversation, the open files, and the active code edits are unambiguously about graphics + Bezier curves + spring physics on a SwiftUI view.

Code Example

ok the physics are better. now we just need to make it respond in a more realistic way. make it so the ends of the stuff attaches to the cursor as it passes. and it should pull them until they reach a point and then release. right now the ends are sticking out all weird i can't explain. do a full pass from teh root to tip of the wave leaf. and then make it so they flow passively as well. just subtle while it's waitinf for more recordings.
RAW_BUFFERClick to expand / collapse

Summary

The Claude Code content filter is repeatedly blocking entirely benign UI / animation prompts in mid-session. I'm iterating on a SwiftUI Canvas-based waveform component (seaweed-blade leaves that bend toward an audio playhead cursor) for my Tide iOS app. Two prompts in the same session have now been blocked even though the surrounding conversation, the open files, and the active code edits are unambiguously about graphics + Bezier curves + spring physics on a SwiftUI view.

Blocked prompt (verbatim)

ok the physics are better. now we just need to make it respond in a more realistic way. make it so the ends of the stuff attaches to the cursor as it passes. and it should pull them until they reach a point and then release. right now the ends are sticking out all weird i can't explain. do a full pass from teh root to tip of the wave leaf. and then make it so they flow passively as well. just subtle while it's waitinf for more recordings.

Every term here is unambiguously about a UI/animation feature:

  • "ends" / "tip" = the apex of each rendered blade
  • "cursor" = the audio playhead position on a waveform timeline
  • "attaches" / "pull" / "release" = sticky-cursor spring physics — catch, stretch, snap free
  • "root to tip" = blade base to apex on a Bezier curve
  • "wave leaf" = the visual leaf-shape my renderer draws per waveform column
  • "flow passively" = ambient Perlin-noise sway when idle

Claude itself confirmed twice (after each block) that there is nothing remotely policy-relevant in the prompt — it's standard SwiftUI / game-physics vocabulary in unambiguous context. The assistant was actively editing WakeField.swift and BrushWaveformView.swift (a SwiftUI Canvas renderer) immediately before and after these blocks.

A second prompt later in the same session was also blocked, presumably on similar lexical grounds.

Likely trigger

Combinatorial misfire on common animation verbs ("attach", "pull", "release", "ends", "stick") co-occurring with informal phrasing ("the stuff", "make it so"). In any sane semantic read the surrounding context is clearly UI work.

Impact

  • I have to censor my own product-feature vocabulary mid-conversation
  • The classifier is asymmetric — I get blocked but receive no signal about what class of content tripped it, so any rephrase is a guess
  • Erodes trust in Claude Code as a daily driver for creative / animation / graphics work where this vocabulary is unavoidable

Asks

  1. Investigate the rule firing here. The semantic context is overwhelming evidence against a real violation.
  2. Surface a hint about which class of content the filter believed it caught, so users can rephrase deliberately instead of guessing.
  3. Calibrate against benign-vocabulary contexts — a session with *.swift files open, the assistant actively writing addCurve / Path / spring-physics code, and the user using animation verbs, should not trip a content filter.

Environment

  • Claude Code CLI (latest as of 2026-05-22)
  • macOS 26.x, Apple Silicon
  • Project: SwiftUI iOS app (Tide); files in scope Sources/Models/WakeField.swift, Sources/Views/BrushWaveformView.swift

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix False-positive content filter blocks benign UI animation prompts in Claude Code