User CLAUDE.md instructions ignored in favor of system defaults

Resolved 💬 2 comments Opened Jan 27, 2026 by teseo Closed Jan 27, 2026

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:

  1. Created the branch
  2. Made the fix
  3. Committed with unauthorized Co-Authored-By
  4. Pushed to remote
  5. 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:

  1. Created commits with Co-Authored-By: Claude anyway
  2. Created a PR without asking, adding 🤖 Generated with Claude Code spam
  3. 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)

View original on GitHub ↗

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