New Claude Fable 5 restrictions: why are routine coding tasks now being blocked more often
I'm Denis Shokhirev, Enterprise AI architect based in Erlangen, Germany. At DennisCraft AI Studio I shipped 14 production AI agents for DACH B2B clients in the last six months using Claude, Supabase, n8n, Doppler, and self-hosted Postgres. This spring, I hit a new wall: Claude Fable 5 started blocking even simple backend automation tasks that, until recently, were routine. This is not a glitch—it's a vendor policy shift with serious production impact. What Changed in Claude Fable 5? The Real B
I'm Denis Shokhirev, Enterprise AI architect based in Erlangen, Germany. At DennisCraft AI Studio I shipped 14 production AI agents for DACH B2B clients in the last six months using Claude, Supabase, n8n, Doppler, and self-hosted Postgres. This spring, I hit a new wall: Claude Fable 5 started blocking even simple backend automation tasks that, until recently, were routine. This is not a glitch—it's a vendor policy shift with serious production impact.
What Changed in Claude Fable 5? The Real Blocking Patterns
Routine Coding Requests Now Flagged
Claude Code will now frequently halt generation for basic tasks: CRUD for Postgres, standard API endpoint stubs, or n8n pipeline YAMLs. The system detects "risky patterns" and blocks output, even when the request is boilerplate and safe.
In my last three agent deployments, Claude refused to generate DB migration scripts for Postgres, citing "Potential security concern"—even when the schema change was just adding a timestamp column. Prompting has turned into a guessing game: which phrasing will slip past the filters?
Keyword and Structure Filtering Tightened
I've consistently seen Fable 5 flag requests containing OWASP Top 10 terms (like SQL injection, XSS, or path traversal) and patterns caught by Bandit or semgrep. Even simple Supabase handler stubs now often get blocked, with vague security warnings.
Automation and Pipeline Generation Blocked
Previously, I could ask for a complete n8n YAML or a docker-compose backend in one shot. Now, Claude routinely refuses, especially for anything involving Doppler or secrets management. The rationale: broad Anthropic policies to minimize infrastructure automation risk.
Why Did This Happen? Vendor Risk and Regulatory Pressure
Response to Real Incidents and Public Reports
Anthropic clamped down after documented cases of LLM-generated vulnerabilities (see OWASP AI Security Guidance, 2024). A 2024 Stanford CodeML paper found 38% of LLM-generated Python contained CWE-89 patterns (SQL injection). If someone automates a production incident using their API, the vendor risks liability.
Regulatory Heat in Europe
EU AI Act, NIS2, and GDPR now require AI providers to prove their systems don't facilitate security or privacy violations. Anthropic is minimizing exposure, blocking anything "potentially risky" to avoid regulatory action. OpenAI, Google, and even open-source models are all tightening their filters.
How the Filtering Actually Works
Claude Fable 5 uses layered filters:
- Lexical analysis for flagged keywords and Bandit/semgrep/OWASP patterns in prompt or output
- Signatures for infrastructure automation (docker, n8n, Supabase, Doppler)
- Detection of code that changes system state (DDL, migrations, API integrations)
Result: even fully legitimate requests (e.g. generating CRUD for Postgres) sometimes get blocked.
How to Ship Around the Blocks: Production Workarounds
1. Decompose Tasks into Atomic Steps
Claude is more likely to block long, composite prompts. I break down each request into atomic actions: instead of "Generate CRUD for Orders integrated with Supabase and Doppler," I ask for just the model, then only the handler, then the integration.
# Example: get only the Postgres model
prompt = "Write a SQL CREATE TABLE for model 'Order' with fields id, customer_id, status, created_at."
response = claude.generate(prompt)
# Then a separate prompt for the API handler
prompt2 = "Write a FastAPI endpoint for inserting into the 'Order' table."
response2 = claude.generate(prompt2)
2. Use Security Linters and Pre-commit Hooks
After Claude returns code, I always run bandit, semgrep, and gitleaks—especially for anything touching databases or handling secrets.
# Static analysis for common vulnerabilities
bandit -r ./generated_code/
semgrep --config=auto ./generated_code/
gitleaks detect --source=./generated_code/
3. Use Open-source LLMs for Hard Blocks
For tasks Claude will never pass (e.g., docker-compose with secrets), I spin up an open-source LLM (Llama 3, Mistral) locally. But I always run the output through the same security checkers—otherwise, you’re just moving risk, not solving it.
4. Mandatory Human Review in the Pipeline
The only truly safe stage is human eyes. Even if Claude or an open-source model produces valid code, I require a manual review before merging, focusing on OWASP Top 10 patterns.
| Method | Upsides | Downsides |
|---|---|---|
| Atomic task breakdown | Reduces filter triggers | Slower workflow |
| Linters/Checkers | Catches real bugs/vulns | False positives |
| Open-source LLM | No vendor filters | Lower quality, higher risk |
| Human review | Maximum control | Manual effort |
Impact on DACH Projects: What You Can't Automate Anymore
Infrastructure and Migrations
Automatic generation of migrations, docker-compose, and n8n YAMLs is now often blocked. Any task where Claude could "accidentally" generate dangerous code is flagged.
Anything Touching Secrets or Credentials
Claude refuses to generate code that handles environment variables, API keys, or automates secret propagation via Doppler/Supabase.
Routine CRUD and API Integrations
Even standard CRUD operations, if the prompt hints at automation or mass data changes, get blocked. You’ll need to break tasks up or switch tools.
FAQ
Why does Claude block even routine code generation?
Anthropic is reducing legal and regulatory risk by automatically stopping anything that could be unsafe or ambiguous.
Can I fully disable these filters?
No. At the API/SDK level, the filters are built-in. Your only options are decomposing prompts or using alternative models for blocked tasks.
What static analysis stack do you use?
I use bandit, semgrep, and gitleaks for Python/FastAPI/API integrations. For Postgres, I manually review SQL scripts.
What Claude alternatives for infrastructure code generation?
Llama 3, Mistral—open-source LLMs you can run locally without filters. But quality may lag, and human review is non-negotiable.
What tasks are now faster to do manually than with Claude?
Generating docker-compose, complex migrations, or any pipeline involving secrets—it's often quicker and safer by hand or with local models.
Which stage in your LLM pipeline catches the most issues in prod—static analysis, runtime sandbox, or human review? I'd genuinely like to know.
I run a free 30-min stack audit for DACH founders building AI in regulated markets. DM me on LinkedIn or write to @ger_dennis_ai.
Turn your process into an AI system
Fixed price. Production quality. DACH B2B focus.