[FEATURE] Desktop: Expose commit/PR attribution in Settings and default it off
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
Claude Code writes attribution into the user's git history by default: a Co-Authored-By: Claude <noreply@anthropic.com> trailer on commits and a 🤖 Generated with [Claude Code](https://claude.ai/code) footer on PR bodies. In the Desktop app there is no way to turn that off from the app.
Two separate things are missing, and both matter for the Desktop audience specifically:
- No control in the Settings UI. The only supported switch is the
attributionkey insettings.json(which supersedes the deprecatedincludeCoAuthoredBy). Desktop app 1.37937.3 / CCD 2.1.247 on Windows exposes no attribution control in Settings — I looked for one before filing. A graphical product whose only control for a feature is a hand-edited JSON file it never mentions is, for that audience, not configurable. Nothing in the app points a Desktop-only user at the file, the key name, or the fact that the behavior is optional at all. - The default is on. Attribution is opt-out rather than opt-in, and what it opts you into is a write to a shared, append-only artifact. Undoing a trailer after the fact means rewriting history — new hashes, a force-push, and breakage for anyone who already pulled. That asymmetry is the argument for defaulting off: A wrong default-off costs one toggle, a wrong default-on costs a history rewrite or permanent residue in the repository.
This is about which surface the switch lives on and where it starts, not about the trailer's wording (#36105) and not about the enforcement bugs (#4287, #7543, #89164) — those assume a user who already found the setting.
Proposed Solution
- Add an attribution group to the Desktop app's Settings UI, with separate controls for the commit trailer, the PR body footer, and the session URL trailer, mapping to
attribution.commit,attribution.pr, andattribution.sessionUrl. - Have those controls read and write the user's
settings.jsonso GUI and file stay one source of truth, and show when the effective value is being overridden by project or managed settings rather than silently losing the user's choice. - Ship attribution off by default. Existing explicit settings should be preserved on upgrade, so this changes the default for new installs and for users who never touched the key.
- Any attribution channel added later should default off as well — see #82690, where an opt-out that was correct at the time stopped covering a newly added trailer.
Alternative Solutions
- Edit
settings.jsonby hand —{"attribution": {"commit": "", "pr": "", "sessionUrl": false}}. This is the current answer and it works, but it requires knowing the file, the key, and that the behavior is optional. It is also not durable: See #82690 for an opt-out that a new feature grew past. - Instruct the model, in-session or via
CLAUDE.md— unreliable, because the instruction competes with the system prompt rather than overriding it. #79909 and #83813 are both reports of exactly this failing. - Enforce it outside the tool — a
commit-msghook that strips the trailer, or a CI gate that fails PRs containing attribution. This works, and #83813's author resorted to it, but it means writing machine enforcement against one's own editor.
Additional Context
Related issues, listed for triage rather than as claimed duplicates:
- #83813 (open) — argues attribution should be opt-in and that user-level instructions lose to the system prompt. The nearest neighbor and the strongest overlap: It covers point 3 above on the general default. It does not ask for a Desktop Settings control, and it is scoped as an instruction-hierarchy complaint rather than a settings-surface request. If maintainers would rather treat the default as owned there, the Desktop GUI surface (points 1 and 2) still stands on its own.
- #76899 (open) — the same default-off reasoning applied to
attribution.sessionUrlalone. - #82690 (open) — attribution opt-out does not survive newly added attribution features. Motivates point 4.
- #4287, #7543 (open, long-running) and #89164 (open, VS Code / Agent SDK) — the setting is not honored when it is set. Orthogonal but compounding: A GUI toggle that does not take effect is worse than no toggle, so these are worth fixing alongside, not instead.
- #79240 (closed as duplicate) — asked for a setting to disable the trailer and was answered with "this is configurable: the
attributionsetting in settings.json". That exchange is the gap this request is about: The JSON key existing is not the same as the feature being exposed where a Desktop user would look. Filed here rather than as a reopen, since the ask is a different surface. - #66602 (closed) — the copyright-guidance argument against asserting AI co-authorship by default. Independent reason to prefer opt-in.
- #36105 (open) —
Assisted-byinstead ofCo-authored-by. Orthogonal: What the trailer says, not whether it is written.
Version numbers above are from the local desktop install's own logs. The absence of a Settings control is my observation from looking through the Settings UI, not something I read in the documentation.
3 Comments
Still missing in Claude Desktop
2.7032.0.0(checked 2026-09-23):app/resources/ion-dist/assets/v1/ca25db325-eBNF3nUc.js) lists every row of the Claude Code section, and none of them concerns attribution.attribution.Related progress on the CLI side: 2.1.269 fixed "the attribution reminder overriding a CLAUDE.md or memory rule against commit and pull request attribution". That makes an instruction-based opt-out more reliable, but it is still not a setting a Desktop user can find, and it does not change the default.
Still missing in Claude Desktop
2.19675.1.0, checked on 2026-10-08 in the shipped bundle: Neither the Settings → Claude Code rows nor the settings search index contain an attribution control, and the same is true of2.26454.0.0. The Desktop page does not mention attribution.CLI changes since the last check (changelog 2.1.281–2.1.294):
"attribution": falseinsettings.jsonto hide all commit and PR attribution. A single Desktop toggle now has one exact key to write.Two newer reports ask for the same thing, a settings toggle and default-off, for the session-link trailer: #98851 and #98581.
They will ghost us forever. There's nothing we can do unfortunately 🥲