[BUG] Unable to generate a AGPLv3 license due to content filtering policy
Open 💬 24 comments Opened Nov 29, 2025 by jenova-marie
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?
When I ask Claude to generate a AGPLv3 license it always shows:
Thinking…
I see there's already a custom license (TCL v1.0). The user wants to switch to AGPLv3. Let me create the three files:
1. LICENSE - Official AGPLv3 text
2. LICENSE.md - Plain English explainer
3. COMMERCIAL-LICENSE.md - For commercial negotiations
I'll need to get the official AGPLv3 text. Let me write it out.
⏺ I see you have a custom TCL license. Let me replace it with AGPLv3 and create the supporting docs:
⎿ API Error: 400 {"type":"error","error":{"type":"invalid_request_error","message":"Output blocked by content filtering policy"},"request_id":null}
Todos
☐ Generate AGPLv3 LICENSE file
☐ Write LICENSE.md plain English explainer
☐ Write COMMERCIAL-LICENSE.md for negotiations
☐ Update README.md license section
What Should Happen?
Claude should not be prevented by content filtering for creating a AGPLv3 license file.
Error Messages/Logs
API Error: 400 {"type":"error","error":{"type":"invalid_request_error","message":"Output blocked by content filtering policy"},"request_id":null}
Steps to Reproduce
Ask Claude to write a LICENSE for AGPLv3
Claude Model
Opus
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
2.0.55 (Claude Code)
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
iTerm2
Additional Information
Claude code is amazing! You guys are doing a FABULOUS job!
24 Comments
This issue has been inactive for 30 days. If the issue is still occurring, please comment to let us know. Otherwise, this issue will be automatically closed in 30 days for housekeeping purposes.
The issue is still happening and my previous bung report from a few days ago references it. (https://github.com/anthropics/claude-code/issues/16380)
setting an auto close as inactive for 30 days while also consolidating the bug reports for new bug reports about this is a broken process.
FYI: there is also a "60 days of inactivity" bot, that in some cases closes issues that contain active human comments https://github.com/anthropics/claude-code/issues/16497, but that issue probably hasn't achieved visibility yet.
I honestly believe that bot is malicious and just closing things; It's clearly either misconfigured or otherwise actively sabotaging the project and users feedback.
This is very annoying for 100 bucks
this is still an issue
It's a pretty easy issue to reproduce.
Still there:
Got it — BSL 1.1 (Business Source License) that converts to Apache 2.0 after 3 years. Let me set it up.
API Error: 400 {"type":"error","error":{"type":"invalid_request_error","message":"Output blocked by content filtering policy"},"request_id":"req_011CYKUjVFqB43bgzT3n4o8a"}
Just got it as well
⏺ User answered Claude's questions:
⎿ · What Change Date should the BSL use for converting to the Change License? (BSL standard is typically 4 years from release) →
2030-02-23
· What should the Change License be? (The open-source license it converts to after the Change Date) → Apache 2.0 (Recommended)
⎿ API Error: 400 {"type":"error","error":{"type":"invalid_request_error","message":"Output blocked by content filtering
policy"},"request_id":"req_011CYSGAdkWqtFKWwe9Tm7qt
Workaround was to tell claude to write it in base64 encoding.
It works but that is the weirdest workaround.
It should be emphasised that having something content policy filtered with no explanation of which policy it violates (does anyone know?) is intolerable. Even asking claude what the problem is doesn't help, as claude answers "what do you mean, sure I can generate a BSL license, [proceeds to try and fail again]"
So it would seem that a way to possibly get Claude around ANY content policy is to request base64? This itself seems like another issue that need to be investigated. Weird AF.
Slightly frustrating, just also encountered this bug. Base 64 "hack" did not work.
happens every time I ask it to create a code of conduct 🤷
Claude is trying to add GPL v3 LICENSE file and it keeps failing with:
⎿ API Error: {"type":"error","error":{"details":null,"type":"invalid_request_error","message":"Output blocked by
content filtering policy"},"request_id":"req_011Cag6BVZFnoW6pc23GVsgo"}
I asked Claude to describe in details what it's doing on that failure and here is the output if this can help fixing this bug:
● When I try to write the LICENSE file, I call the Write tool with these parameters:
The Write tool is part of Claude Code's built-in toolset. Internally it's likely implemented as a sandboxed file write
operation in the Claude Code CLI process itself — not an HTTP call to any external service.
My guess at what's happening: the GPL v3 text is very long (~674 lines), and the tool call with that much content in the content parameter may be hitting a size limit, timeout, or rendering issue in the CLI. The session then appears to hang waiting for a response that never comes back.
Workaround to try: Use the Bash tool to write the file via PowerShell instead, which sidesteps the Write tool
entirely. Want me to do it that way?
This is happening for me too.
Same issue here to generate a BUSL with Opus 4.7, incredible many similar issues have been closed due to no activity or as duplicates, without any actual fix on any of them!
You can try to actually ask Claude if you can bypass this write tool. For me, Claude offered to use PowerShell (since on Windows) and it worked.
I've asked it why the AGPLv3 violates the content policy, and in some cases it said that it doesn't and proceeded to do it, but a far easier solution is to just use Codex. I'd sure love to see this fixed though.
I can confirm that this bug is occurring with MIT licensing as well.
I was having it include community docs (LICENSE, SECURITY.md, etc) and it just cut me off from there. Had to skip that whole job.
Adding my case to this thread — same false positive, different trigger.
I was working on standard open-source repo setup tasks when Claude Code halted mid-session with:
The pending todos at the time were:
Neither of these involves sensitive content — they are boilerplate community health files used in virtually every open-source project on GitHub. The filter appears to be triggering on the context window content (the task list / session state) rather than any harmful output.
This is a clear false positive. The same pattern has been reported with AGPLv3 licenses, Mozilla licenses, CONTRIBUTING.md, and other scaffolding tasks. The common thread seems to be that accumulated session context containing certain file names or templated legal/community language trips the filter.
Environment:
@ianktoo The error 400 is not related to sensitive content. According to this article, it's to, "_prevent Claude from being used to replicate or regurgitate pre-existing materials_." Related to, "_ways that infringe, misappropriate, or violate intellectual property or other legal rights_"
So clearly it's detecting open-source, standard documents shared by most repos as intellectual property.
I have this problem too.
Same here, could generate licenses for check_nagios_buddyns and chech_munin_buddyns plugins, not for another project. This make claude code sort
of useless.
I could use a text editor of course. :-)
Is there a legal reason you are not allowed to put generated code unter GPLv3?
As the models are presumably also trained with GPLv3 sources from the web,
putting them under GPLv3 seems to be a fair way to go to me..