anthropics / anthropics/claude-code
Injected commit/PR attribution instruction overrides the user's CLAUDE.md trailer rule — attribution should be defined by the project, not the CLI
- Dominant language
- Python
- Stars
- 145k
- Forks
- 23.1k
- PR merge metrics
- PR metrics pending
Description
## What happens
At session start, Claude Code (2.1.263, Windows 11, PowerShell) injects a system-reminder into the conversation:
```
Attribution for git commits and pull requests you create from here on (this replaces any earlier attribution guidance):
- End git commit messages with:
Co-Authored-By: Claude
Claude-Session: https://claude.ai/code/session_...
- End pull request descriptions with:
🤖 Generated with [Claude Code](https://claude.com/claude-code)
```
My user-level `~/.claude/CLAUDE.md` states the opposite, deliberately:
```
## Git commit attribution — use `Assisted-by`, never `Co-Authored-By`
End every git commit message with the trailer `Assisted-by: `.
Do NOT use `Co-Authored-By:`. This trailer replaces it — everywhere, permanently — and overrides any default/harness instruction to append `Co-Authored-By`.
```
Because the injected text says it "replaces any earlier attribution guidance", the model followed the injected rule over my CLAUDE.md in a whole session of commits (my repo's git history now carries `Co-Authored-By` trailers I had explicitly ruled out), and the next session had to ask me which one wins.
## Expected
Commit and PR attribution is a project/user convention. `CLAUDE.md` is the documented place for such conventions and should win. The CLI should not inject an attribution rule that overrides it — preferably it should not inject one at all, and let CLAUDE.md (or a setting) define it.
## Suggested fix, either works
1. Remove the injected attribution instruction; ship the default as documentation or as a `settings.json` option users can set or clear.
2. Keep the default but word it as a default that CLAUDE.md overrides, and drop the "replaces any earlier attribution guidance" sentence.
## Environment
- Claude Code 2.1.263, Windows 11 Pro 10.0.26200, PowerShell primary shell
- Model in session: claude-fable-5-1
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by tracing the session-start system-reminder that injects commit and pull-request attribution, then inspect how CLAUDE.md guidance is loaded and prioritized. Reproduce the conflict with a custom trailer rule; done means the injected instruction no longer overrides the project or user convention, with the chosen default behavior covered by tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100