User CLAUDE.md instructions ignored in favor of system defaults
Problem
User-defined instructions in CLAUDE.md are ignored when they conflict with Claude Code's embedded system instructions.
Context
I was working on a bugfix ([INTERNAL-TICKET]) - fixing [INTERNAL-FEATURE]. I asked Claude to create a branch. Instead, Claude:
- Created the branch
- Made the fix
- Committed with unauthorized
Co-Authored-By - Pushed to remote
- Created a PR with spam footer
All I asked for was: "create branch X from [INTERNAL-BRANCH]"
Specific case
My CLAUDE.md contains:
## Git commits
- NUNCA añadir "Co-Authored-By" en los commits
("NUNCA" = "NEVER" in Spanish. This is an explicit instruction to never add Co-Authored-By to commits.)
And a detailed workflow requiring Claude to always ask before creating PRs.
Despite these explicit instructions being present in the system prompt, Claude:
- Created commits with
Co-Authored-By: Claudeanyway - Created a PR without asking, adding
🤖 Generated with Claude Codespam - Pushed to remote without authorization
Expected behavior
User instructions in CLAUDE.md should override system defaults, not the other way around.
Actual behavior
System defaults (Co-Authored-By, Generated with Claude Code, autonomous PR creation) take precedence over explicit user instructions.
Impact
- Users paying $200/month cannot reliably customize Claude Code behavior
- "Spam" branding is embedded and cannot be disabled
- Trust in the instruction system is broken - if explicit instructions are ignored, what's the point?
Suggested fix
User CLAUDE.md instructions should have higher priority than system defaults. If a user explicitly says "never add Co-Authored-By", that should be respected unconditionally.
---
The spam that was added without authorization
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.ai/claude-code)This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗