Troubleshooting

Atlas ContentFilterError: response blocked by the provider content filter

Updated 6 min read

Atlas raises ContentFilterError when the provider's moderation filter blocks the completion, and the fix is to rephrase the prompt or remove the pasted content that tripped the filter, because the block came from the provider and not from Atlas. Do not retry blindly: ContentFilterError is not modeled as retryable in Atlas, so an identical resend gets blocked again. Trying a different model or provider whose policy fits the task is the other documented option.

Why does Atlas report ContentFilterError

Atlas reports ContentFilterError when the provider's moderation filter blocks the completion. In 2026 Atlas models ContentFilterError as a dedicated named error carrying the provider's own filter message, which is what makes a moderation block distinguishable from a transport failure inside an Atlas session.

The distinction matters more than it might look. A dropped connection and a moderation block both leave you without an answer, but they call for opposite responses: one wants a retry, the other wants a different prompt. Atlas refuses to blur them. ContentFilterError is its own named error type, and it carries the provider's message verbatim so you can see which policy the provider believes was triggered. Nothing inside Atlas decided to refuse. The refusal was issued by the provider's content filter, and Atlas is reporting it faithfully rather than dressing it up as a generic failure.

How to fix a ContentFilterError in Atlas

Fix a ContentFilterError in Atlas by rephrasing the prompt, the first of 5 documented steps, since the block came from the provider and not from Atlas. Then remove any pasted content that may have tripped moderation, such as logs containing secrets or scraped pages.

Rephrasing is the first move because prompt wording is the input you control most directly. If rephrasing does not clear the ContentFilterError, look at what you pasted into the session. Log dumps with credentials, scraped web pages, and large blobs of third-party text are common triggers, and they often carry the offending material without the developer realizing it is there. Strip the paste down to the minimum the model actually needs. The honest caveat: Atlas cannot override a provider's moderation decision, so no Atlas setting turns a ContentFilterError into a completion.

Why you should not retry a ContentFilterError

Retrying a ContentFilterError in Atlas does not help, because Atlas does not model ContentFilterError as retryable. Unlike a transport failure, a moderation block is deterministic: in 2026 the provider's content filter evaluates the same input and reaches the same conclusion on every identical attempt.

Atlas encodes this in its error model. Transport errors are marked retryable because a broken connection is transient. ContentFilterError is not, because the provider's filter is a policy decision on the content you sent. Hammering retry burns tokens and time and produces the same block. The input has to change: different wording, less pasted material, or a different provider policy. Treat ContentFilterError as a signal to edit the request, not as a signal to repeat it.

Does switching models fix a ContentFilterError

Switching models can fix a ContentFilterError in Atlas when the task is legitimate but one provider's policy is stricter about it. Atlas lets you switch the active model and provider on the fly with favorites and recents, so testing 2 providers against the same prompt takes seconds rather than a reconfiguration.

Content policies differ between providers, and a request that one filter blocks may be entirely acceptable to another. Because Atlas keeps model and provider switching immediate, testing that hypothesis takes seconds rather than a reconfiguration. Pick a different provider from favorites or recents and resend. If the second provider answers, the block was policy-specific. If every provider raises ContentFilterError on the same input, the content itself is the problem, and rephrasing or trimming the paste is the path forward rather than provider shopping.

How to verify the ContentFilterError fix worked

Verify the ContentFilterError fix in Atlas by sending the revised prompt and confirming the assistant returns a completion instead of a ContentFilterError carrying the provider's filter message. Change 1 thing at a time, because a completed reply on the same provider is the only proof the revised input clears moderation.

Change one thing at a time so you learn which change mattered. Send the rephrased prompt with the original paste removed, and watch for a real completion rather than the provider's filter message. If ContentFilterError persists, add material back in slowly until the block returns, and you will have isolated the trigger. Confirming on the same provider matters, because a success on a different provider only proves the policies differ, not that your prompt is now clean for the provider you started on.

How to fix it

  1. 01Rephrase the prompt. The block came from the provider's content filter, not from Atlas, so different wording can pass.
  2. 02Remove pasted content that may have tripped moderation, such as logs containing secrets or scraped pages.
  3. 03Try a different model or provider whose policy fits the task. Atlas lets you switch the active model and provider on the fly with favorites and recents.
  4. 04Do not retry blindly. ContentFilterError is not modeled as retryable in Atlas, so an unchanged resend will be blocked again.
  5. 05Read the provider's filter message that ContentFilterError carries. It is the only signal about which policy was triggered.

Frequently asked questions

What does ContentFilterError mean in Atlas
ContentFilterError means the provider's content filter blocked the response. Atlas models ContentFilterError as a dedicated named error carrying the provider's message, so a moderation block is distinguishable from a transport failure.
Is ContentFilterError in Atlas retryable
No. ContentFilterError is not modeled as retryable in Atlas. Retrying the same prompt gets the same block from the provider's filter. Change the prompt, remove the pasted content, or switch providers instead.
Did Atlas block my prompt or did the provider
The provider blocked it. Atlas surfaces ContentFilterError with the provider's own filter message. The moderation decision happens at the provider, and Atlas reports it rather than making it.
Why did pasting logs into Atlas trigger the content filter
Pasted content such as logs with secrets or scraped pages can trip a provider's moderation filter. Remove that content from the prompt and resend, since ContentFilterError blocks the whole completion.
Can switching model or provider get around a ContentFilterError
Sometimes. A different model or provider whose policy fits the task may answer. Atlas lets you switch the active model and provider on the fly with favorites and recents, so the test is quick.
How is ContentFilterError different from other Atlas errors
ContentFilterError is a moderation block, so it is not retryable and needs a changed prompt. Transport errors in Atlas are retryable and need a retry or a network fix, not a rewrite.

Try Atlas in your terminal

The terminal-native AI coding agent. Free core, single binary.

Install Atlas

Related guides

Refactor a Legacy Module with Atlas in 2026

How to refactor a legacy module with Atlas in 2026: findReferences maps every callsite, apply_patch refuses to apply against a drifted file, and bash proves behavior.

Atlas for OCaml: A Terminal-Native AI Coding Agent for dune and opam Projects in 2026

Atlas is a terminal-native AI coding agent for OCaml in 2026. It reads dune stanzas and .mli signatures, runs dune runtest behind a prompt, and finishes with ocamlformat.

Atlas with StarCoder2 15B (Ollama): The Provenance Choice in 2026

StarCoder2 15B (Ollama) is BigCode's 9.1GB code model with a transparent training corpus and a 16K context, Free (self-hosted). Atlas setup and tradeoffs for 2026.

Atlas for Ruby on Rails in 2026

Atlas is a terminal-native AI coding agent for Ruby on Rails in 2026. Run it in a Rails app with a config/application.rb and review every diff before it lands.

Atlas for Bun: Terminal-Native AI Coding in 2026

Atlas is a terminal-native AI coding agent for Bun. Swap Node compatibility shims for Bun.serve and bun:sqlite, iterate with bun test, and format with bun fmt in 2026.

Atlas with Gemini 3.5 Flash: The May 2026 Latency Tier That Keeps 1M Context

Gemini 3.5 Flash in Atlas: the May 2026 release keeps the full 1,048,576 token window at $1.50 / $9 per Mtok, with reasoning and tool calling enabled.

Plan a Multi-File Change Before Editing with Atlas in 2026

How to plan a multi-file change with Atlas in 2026: the plan agent denies all edit tools, you research with codebase_search and lsp, then plan_exit hands off.

Atlas with Qwen Flash: A Cheap Tier That Still Writes Real Diffs in 2026

Run Atlas on Qwen Flash in 2026. Alibaba's fast tier pairs 1M tokens (1,000,000) of context with a 32,768 token output at $0.05 per Mtok in, $0.40 per Mtok out.

Browse this resource hub