Misleading 'Rate limit reached' error when content triggers safety filter

Resolved 💬 6 comments Opened Feb 14, 2026 by hotovson Closed Mar 20, 2026

Description

When a conversation contains content that apparently triggers a safety/content filter, Claude Code displays a generic "API Error: Rate limit reached" message instead of an informative error about the actual issue.

Steps to Reproduce

  1. Start a Claude Code session
  2. Work with a security audit document (containing references to sanctions, surveillance vulnerabilities, CVEs, etc.)
  3. Continue the conversation with additional requests (e.g., converting to PDF via LaTeX)
  4. At some point, the session starts returning "API Error: Rate limit reached" for every subsequent message

Expected Behavior

  • A clear error message indicating content was flagged (e.g., "Content flagged by safety filter" or similar)
  • Ideally, the ability to remove the problematic message from the session context
  • At minimum, guidance on what to do (e.g., "try /clear to reset the conversation")

Actual Behavior

  • Generic "API Error: Rate limit reached" is shown
  • The error persists for every subsequent message in the session
  • resume after restart reproduces the error immediately (because the flagged content is restored)
  • Only /clear resolves the issue (by discarding the entire conversation context)
  • No indication whatsoever that content filtering is the cause

Impact

  • Users waste time debugging rate limits that don't exist
  • Users on Max plan see this despite having plenty of usage quota remaining
  • The error is completely misleading and provides no actionable information
  • Session becomes permanently unusable without /clear, losing all conversation context

Environment

  • Claude Code standalone installer (not npm)
  • Max plan (usage limits not near exhaustion)
  • macOS (Apple Silicon)

View original on GitHub ↗

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