Raised the issue that VS Code appends Co-Authored-By trailers for Copilot regardless of whether any suggestions were actually accepted. The core complaint is that merely having the extension active triggers co-authorship credit, making the attribution meaningless and inaccurate.
Argues that git's Co-Authored-By trailer has a specific community meaning — material contribution to code — and applying it at the session level rather than the contribution level fundamentally dilutes co-authorship semantics. Points to the absurdity of a developer hand-writing complex code, rejecting all Copilot suggestions, and still getting an AI co-author stamp.
Highlights that the feature shipped as opt-out (on by default), meaning developers who hadn't reviewed their settings would find Copilot credited across their commit history without consciously opting in. This framing treats the default behavior as a consent violation — developers should have to choose to attribute AI, not discover it retroactively.
Notes that VS Code already has internal telemetry tracking Copilot suggestion acceptance rates, and argues the trailer should only be appended when Copilot suggestions were actually accepted and incorporated into the final diff. This would preserve the semantic integrity of co-authorship while still giving credit where AI genuinely contributed.
A pull request (#310226) in the VS Code repository revealed that Microsoft's editor now automatically appends a `Co-Authored-By: copilot
The problem: the detection heuristic is session-level, not contribution-level. If Copilot was enabled in your editor while you wrote code — even if you rejected every suggestion, or Copilot never triggered at all — the trailer gets appended. Having an extension installed and active is apparently sufficient for VS Code to declare an AI co-authored your work.
The change landed as an opt-out feature, meaning it's on by default. Developers who hadn't reviewed their settings would find Copilot credited as co-author across their commit history without ever consciously opting in.
### The Attribution Accuracy Problem
Git's `Co-Authored-By` trailer has a specific meaning in the development community: it indicates that another person (or entity) materially contributed to the code in that commit. It's the same mechanism used when pair programming or when someone contributes a significant code review suggestion. By applying it at the session level rather than the contribution level, Microsoft has fundamentally diluted what co-authorship means in git history.
Consider the absurdity: a developer spends four hours hand-writing a complex distributed systems algorithm, rejects three irrelevant Copilot autocomplete suggestions along the way, and their commit is stamped with `Co-Authored-By: copilot`. That's not attribution — it's misattribution.
A more honest implementation would track whether Copilot suggestions were actually accepted and incorporated into the final diff. Some developers have pointed out that VS Code already has this telemetry internally (it tracks acceptance rates for Copilot suggestions). The choice to use session-level rather than contribution-level detection looks deliberate.
### The Metrics Game
This is where the community reaction gets pointed. GitHub has been publicly touting Copilot adoption metrics to investors and enterprise buyers. Claims like "X% of code is now written with Copilot" are central to Microsoft's AI narrative and Copilot's $19/month price justification.
If every commit made while Copilot is merely *enabled* gets tagged as AI-co-authored, those metrics become self-fulfilling. A company auditing their GitHub org would see Copilot credited on the vast majority of commits — not because the AI wrote that code, but because developers had the extension installed. For enterprise sales, that's a powerful (and misleading) data point.
Several Hacker News commenters drew parallels to the old browser toolbar era, where install counts were inflated by bundling and opt-out defaults. The playbook is familiar: make the metric-generating behavior the default, bury the opt-out in settings, and let inertia do the rest.
### Git History as a Legal Record
The legal dimension is less discussed but potentially more consequential. In an era where AI-generated code's copyright status remains unsettled — the U.S. Copyright Office has signaled that purely AI-generated works may not be copyrightable — having an AI explicitly listed as co-author on your commits creates an uncomfortable paper trail.
For companies navigating IP due diligence, acquisition audits, or open-source license compliance, a git history peppered with AI co-authorship claims is a liability, not a feature. It raises questions about which portions of the codebase may have reduced copyright protection, even if the actual AI contribution was zero.
### Immediate Actions
If you're using VS Code with Copilot, audit your Git extension settings now. Look for the co-authorship trailer setting and disable it if you want clean attribution in your commits. If you've already committed with the trailer, a `git rebase` or `git filter-branch` can strip trailers from history — but that's invasive surgery on shared branches.
For teams, consider adding a `.gitconfig` or commit-msg hook that strips or flags unexpected `Co-Authored-By` trailers. This is especially important for open-source projects where contributor attribution has legal weight, and for regulated industries where code provenance matters.
### The Broader IDE Trust Question
This incident fits a pattern of VS Code features that prioritize Microsoft's platform metrics over developer preferences. Telemetry defaults, GitHub account nudges, and now attribution inflation all point in the same direction. The question isn't whether any individual feature is malicious — it's whether the accumulation of opt-out defaults has shifted VS Code from a developer tool to a data collection platform that also edits code.
For developers who already switched to VS Codium (the telemetry-free VS Code fork), Zed, Neovim, or other editors, this validates the move. For those staying on VS Code, it's worth maintaining an up-to-date checklist of settings to disable after each update.
### What Honest AI Attribution Looks Like
The irony is that AI attribution in commits is actually a good idea — when done honestly. The Linux kernel's documentation, the Apache Software Foundation's guidelines, and several corporate engineering orgs have all been developing frameworks for tracking AI-assisted contributions. The right approach uses a distinct trailer (like `AI-Assisted-By` or `Tool:`) rather than co-opting `Co-Authored-By`, and triggers only on verified AI contribution to the committed diff.
Microsoft could have led on this. Instead, they chose the approach that maximizes their metrics at the expense of attribution accuracy.
Given the backlash intensity — 963 points on Hacker News is a firehose of negative signal — expect Microsoft to respond. The likely move is making the feature opt-in in a future VS Code update, paired with a blog post about "listening to the community." The more interesting question is whether GitHub will retroactively adjust any aggregate metrics that were inflated by session-level detection. Don't hold your breath on that one. For the broader industry, this accelerates the push toward formal AI attribution standards in version control — a conversation that was already overdue.
This feels like the modern version of 'Sent from my iPhone' but much more invasive. Git commits are legal and technical records. Falsifying who authored a piece of code just to pump up AI usage stats is a huge breach of trust and it is disappointing to see Microsoft prioritize branding ove
I am the person who approved this PR and would like to acknowledge and apologize for the mistake of turning this feature on by default without sufficient upfront validation.There was no ill intent by evil corporation, but rather a desire to support functionality that some customers expect of VS Code
The best part is that copilot commented on the PR saying that this doesn’t actually change the behaviour, creates inconsistency in the codebase and suggested reverting the change! (This comment seems to have been ignored…)> The configuration schema default was changed to "all", but the
To everyone who bought the "developer-friendly" Microsoft of VSCode fame from a few years ago: this is what they forever did, and forever will do.This company has been pulling these tricks since the early 90s.If you fell for this once again, there's nobody else to blame but yourself.
Top 10 dev stories every morning at 8am UTC. AI-curated. Retro terminal HTML email.
One fascinating thing about the whole AI phenomenon is how incredibly hostile it is to _standards_. Whether something works properly, or is ethical, or is true, no longer matters at all; all that matters is "pls use our AI".Microsoft spent literal decades rehabilitating their reputation. A