Visual Studio Code 在提交信息中自动添加“Co-Authored-by: Copilot”标签,无论开发者是否实际使用了GitHub Copilot生成代码。这一改动由微软在GitHub的相关拉取请求中引入,引发了开发者社区的关注与讨论。该行为可能导致代码提交历史中出现不准确的贡献者信息,涉及开发工具伦理与透明度问题。相关话题在Hacker News上获得了超过130个讨论点数。
原文 · 未翻译
Notifications You must be signed in to change notification settings
Fork 40.4k
Star 186k
Conversation
cwebster-99 commented Apr 15, 2026
No description provided.
Enabling ai co author by default
cfcebf4
vs-code-engineering Bot commented Apr 15, 2026 • edited Loading Uh oh! There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
📬 CODENOTIFY The following users are being notified based on files changed in this PR: @lszomoru Matched files: extensions/git/package.json extensions/git/src/repository.ts
📬 CODENOTIFY
The following users are being notified based on files changed in this PR:
@lszomoru
Matched files:
extensions/git/package.json
extensions/git/package.json
extensions/git/src/repository.ts
extensions/git/src/repository.ts
Copilot AI left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR changes the Git extension’s git.addAICoAuthor setting so that AI co-author trailers are enabled by default, making the default behavior automatically add a Co-authored-by trailer when AI-generated code contributions are detected.
Visual Studio Code 在提交信息中自动添加“Co-Authored-by: Copilot”标签,无论开发者是否实际使用了GitHub Copilot生成代码。这一改动由微软在GitHub的相关拉取请求中引入,引发了开发者社区的关注与讨论。该行为可能导致代码提交历史中出现不准确的贡献者信息,涉及开发工具伦理与透明度问题。相关话题在Hacker News上获得了超过130个讨论点数。
原文 · 保持原样,未翻译
Notifications You must be signed in to change notification settings
Fork 40.4k
Star 186k
Conversation
cwebster-99 commented Apr 15, 2026
No description provided.
Enabling ai co author by default
cfcebf4
vs-code-engineering Bot commented Apr 15, 2026 • edited Loading Uh oh! There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
📬 CODENOTIFY The following users are being notified based on files changed in this PR: @lszomoru Matched files: extensions/git/package.json extensions/git/src/repository.ts
Co-authored-by
Changes:
Updates git.addAICoAuthor configuration default from "off" to "all".
git.addAICoAuthor
"off"
"all"
File Description extensions/git/package.json Switches the default value of git.addAICoAuthor to enable AI co-author trailers by default.
The reason will be displayed to describe this comment to others. Learn more.
The configuration schema default was changed to "all", but the runtime fallback in extensions/git/src/repository.ts still calls config.get('addAICoAuthor', 'off'). This is now out of sync and can lead to unexpected behavior in contexts where the contributed configuration defaults aren't loaded (e.g., some tests/hosts), and it makes the intended default unclear. Update the runtime fallback to match the schema default (or omit the fallback so the contributed default is used).
extensions/git/src/repository.ts
config.get('addAICoAuthor', 'off')
"default": "all", "default": "off",
github-actions Bot commented Apr 15, 2026 • edited Loading Uh oh! There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Screenshot Changes Base: 3c1b53dd Current: eec3f9cf Changed (3) chat/aiCustomizations/aiCustomizationManagementEditor/McpBrowseMode/Light Before After editor/inlineCompletions/other/JumpToHint/Dark Before After agentSessionsViewer/NeedsInput/Light Before After blocks-ci screenshots changed Replace the contents of test/componentFixtures/blocks-ci-screenshots.md with: Updated blocks-ci-screenshots.md #### editor/codeEditor/CodeEditor/Dark !screenshot #### editor/codeEditor/CodeEditor/Light !screenshot
There was an error while loading. Please reload this page.
rgs2151 commented Apr 25, 2026
Why in the world would you default this! 😡
Why in the world would you default this! 😡
anonymni-hlasatel commented Apr 25, 2026
Wth.. makeing this default behaviour and not notifying users is crazy
Wth.. makeing this default behaviour and not notifying users is crazy
flying-sheep commented Apr 26, 2026
please revert until it actually works. I have "chat.disableAIFeatures": true and co-authored by copilot still gets inserted into most commits. This is absolutely unacceptable.
please revert until it actually works.
I have "chat.disableAIFeatures": true and co-authored by copilot still gets inserted into most commits. This is absolutely unacceptable.
"chat.disableAIFeatures": true
co-authored by copilot
edenchazard commented Apr 26, 2026
Any explanation for the choice to make this default? Now I know why random commits of mine were suddenly being "co-authored by copilot" despite not using copilot with that commit. I just don't get the point of this at all.
Any explanation for the choice to make this default?
Now I know why random commits of mine were suddenly being "co-authored by copilot" despite not using copilot with that commit. I just don't get the point of this at all.
jamiejcole commented Apr 27, 2026 • edited Loading Uh oh! There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
This is absolutely ridiculous and should not at all be defaulted. Especially when not using Copilot whatsoever.
This is absolutely ridiculous and should not at all be defaulted. Especially when not using Copilot whatsoever.
marxoffice commented Apr 27, 2026 • edited Loading Uh oh! There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
So the logic here was: "Let's inject our own name into every commit, even for users who never used Copilot, and ship it as a silent default." Who thought that was okay? It's vandalism. Shameful. Update: I can personally confirm this: on multiple recent commits I hand-wrote every commit message and never touched Copilot while coding, yet there it is — Co-authored-by: Copilot copilot@github.com — injected anyway. At the very least, people who write their own commit messages in the vscode git UI deserve WYSIWYG. That's the bare minimum of respect for the user.
So the logic here was: "Let's inject our own name into every commit, even for users who never used Copilot, and ship it as a silent default." Who thought that was okay? It's vandalism. Shameful.
Update: I can personally confirm this: on multiple recent commits I hand-wrote every commit message and never touched Copilot while coding, yet there it is — Co-authored-by: Copilot copilot@github.com — injected anyway. At the very least, people who write their own commit messages in the vscode git UI deserve WYSIWYG. That's the bare minimum of respect for the user.
ringoz commented Apr 28, 2026
I am not using copilot, I have "chat.disableAIFeatures" and co-authored by copilot still gets inserted into commits.
I am not using copilot, I have "chat.disableAIFeatures" and co-authored by copilot still gets inserted into commits.
added admin profiles
5c22231
Co-authored-by: Copilot
cloudyluna commented May 2, 2026
what the hell
what the hell
gabereiser commented May 2, 2026
I guess when no one uses your service, you have to pretend people are by adding it to commit messages without their knowledge. Whether they used it or not. This is exactly why Microsoft can’t be trusted with your code, your commits, or your SDLC.
I guess when no one uses your service, you have to pretend people are by adding it to commit messages without their knowledge. Whether they used it or not. This is exactly why Microsoft can’t be trusted with your code, your commits, or your SDLC.
0xku commented May 2, 2026
I was warming up to zed. Stuff like this leaves me no choice but switch completely.
I was warming up to zed. Stuff like this leaves me no choice but switch completely.
gokaygurcan commented May 2, 2026
sigh.. lemme add "git.addAICoAuthor": "off" in my config file and get it done with. thank you micros~1.
sigh.. lemme add "git.addAICoAuthor": "off" in my config file and get it done with.
"git.addAICoAuthor": "off"
thank you micros~1.
GerardoSuarezRamos commented May 2, 2026
Cursor handles this differently — there's no automatic attribution because the workflow assumes you're reviewing every diff before commit. The author is whoever ran git commit, full stop. The Microsoft approach feels off because it conflates "I used the editor" with "I co-authored this," which devalues the signal that Co-Authored-by is supposed to carry. The deeper issue: if every commit made in any IDE with AI features carries a Co-Authored-by tag, the metadata becomes noise. We already have a hard time tracking real authorship in PR-heavy workflows; auto-tagging makes it worse.
Cursor handles this differently — there's no automatic attribution because the workflow assumes you're reviewing every diff before commit. The author is whoever ran git commit, full stop. The Microsoft approach feels off because it conflates "I used the editor" with "I co-authored this," which devalues the signal that Co-Authored-by is supposed to carry. The deeper issue: if every commit made in any IDE with AI features carries a Co-Authored-by tag, the metadata becomes noise. We already have a hard time tracking real authorship in PR-heavy workflows; auto-tagging makes it worse.
snehesht commented May 2, 2026 • edited Loading Uh oh! There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Why force this on unsuspecting users, I guess Zed 1.0 will see better adoption. Congrats, you've made it to HN1 front page and not in a good light if I might add. Footnotes https://news.ycombinator.com/item?id=47989883 ↩
Why force this on unsuspecting users, I guess Zed 1.0 will see better adoption.
Congrats, you've made it to HN1 front page and not in a good light if I might add.
Footnotes
https://news.ycombinator.com/item?id=47989883 ↩
https://news.ycombinator.com/item?id=47989883 ↩
whitequark commented May 2, 2026
Quick question: what the fuck is wrong with you?
Quick question: what the fuck is wrong with you?
git.addAICoAuthor
off
woctezuma commented May 2, 2026
🍿
🍿
ArmanJR commented May 2, 2026
back in 2009 I used windows to buy a software engineering book from amazon. go ahead add Co-Authored-by Bill Gates to my PRs. come on i'm waiting.
back in 2009 I used windows to buy a software engineering book from amazon. go ahead add Co-Authored-by Bill Gates to my PRs. come on i'm waiting.
Co-Authored-by Bill Gates
mateolafalce commented May 2, 2026
Average PM 🤡
Average PM 🤡
yzqzss commented May 2, 2026
Uninstalling, good bye, I'll never switch back to the M$ slop editor.
Uninstalling, good bye, I'll never switch back to the M$ slop editor.
ikidd commented May 2, 2026
Do they give you the lobotomy before your initial job orientation at Microsoft, or after? I wonder if you have to use up vacation days for the recovery time.
Do they give you the lobotomy before your initial job orientation at Microsoft, or after? I wonder if you have to use up vacation days for the recovery time.
alxndr42 commented May 2, 2026
Slopya Nadella likes this.
Slopya Nadella likes this.
Atulin commented May 2, 2026
What in the actual fuck?
What in the actual fuck?
lisanna-dettwyler commented May 2, 2026
This is batshit insane
This is batshit insane
ImKventis commented May 2, 2026
misplay
misplay
ItsMrCube commented May 2, 2026
This is insanity, please revert
This is insanity, please revert
gkgoat1 commented May 2, 2026
@claude mitigated this in 3 seconds, fuck you (on behalf of it) https://github.com/portal-co/nopilot
@claude mitigated this in 3 seconds, fuck you (on behalf of it) https://github.com/portal-co/nopilot
toby5box commented May 2, 2026
Pestilence.
Pestilence.
MrDiamondDog commented May 2, 2026
Leave it to Microsoft to take credit for things they had nothing to do with.
Leave it to Microsoft to take credit for things they had nothing to do with.
Atulin commented May 2, 2026
Microslop be Microsloppin' They add Copilot to everything and their mother, so that they can boast 17 morbillion Copilot users to shareholders. A surprisingly simple strategy, but apparently works lmao
Microslop be Microsloppin'
They add Copilot to everything and their mother, so that they can boast 17 morbillion Copilot users to shareholders. A surprisingly simple strategy, but apparently works lmao
amadaluzia commented May 2, 2026 • edited Loading Uh oh! There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Pro-tip: You can achieve the same power as Visual Studio Code by just using Emacs with a framework like Doom Emacs or Spacemacs. If you want an editor truly without AI, use Gram or something :P
Pro-tip: You can achieve the same power as Visual Studio Code by just using Emacs with a framework like Doom Emacs or Spacemacs. If you want an editor truly without AI, use Gram or something :P
The following users are being notified based on files changed in this PR:
@lszomoru
Matched files:
extensions/git/package.json
extensions/git/package.json
extensions/git/src/repository.ts
extensions/git/src/repository.ts
Copilot AI left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR changes the Git extension’s git.addAICoAuthor setting so that AI co-author trailers are enabled by default, making the default behavior automatically add a Co-authored-by trailer when AI-generated code contributions are detected.
git.addAICoAuthor
Co-authored-by
Changes:
Updates git.addAICoAuthor configuration default from "off" to "all".
git.addAICoAuthor
"off"
"all"
File Description extensions/git/package.json Switches the default value of git.addAICoAuthor to enable AI co-author trailers by default.
The reason will be displayed to describe this comment to others. Learn more.
The configuration schema default was changed to "all", but the runtime fallback in extensions/git/src/repository.ts still calls config.get('addAICoAuthor', 'off'). This is now out of sync and can lead to unexpected behavior in contexts where the contributed configuration defaults aren't loaded (e.g., some tests/hosts), and it makes the intended default unclear. Update the runtime fallback to match the schema default (or omit the fallback so the contributed default is used).
extensions/git/src/repository.ts
config.get('addAICoAuthor', 'off')
"default": "all", "default": "off",
github-actions Bot commented Apr 15, 2026 • edited Loading Uh oh! There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Screenshot Changes Base: 3c1b53dd Current: eec3f9cf Changed (3) chat/aiCustomizations/aiCustomizationManagementEditor/McpBrowseMode/Light Before After editor/inlineCompletions/other/JumpToHint/Dark Before After agentSessionsViewer/NeedsInput/Light Before After blocks-ci screenshots changed Replace the contents of test/componentFixtures/blocks-ci-screenshots.md with: Updated blocks-ci-screenshots.md #### editor/codeEditor/CodeEditor/Dark !screenshot #### editor/codeEditor/CodeEditor/Light !screenshot
There was an error while loading. Please reload this page.
rgs2151 commented Apr 25, 2026
Why in the world would you default this! 😡
Why in the world would you default this! 😡
anonymni-hlasatel commented Apr 25, 2026
Wth.. makeing this default behaviour and not notifying users is crazy
Wth.. makeing this default behaviour and not notifying users is crazy
flying-sheep commented Apr 26, 2026
please revert until it actually works. I have "chat.disableAIFeatures": true and co-authored by copilot still gets inserted into most commits. This is absolutely unacceptable.
please revert until it actually works.
I have "chat.disableAIFeatures": true and co-authored by copilot still gets inserted into most commits. This is absolutely unacceptable.
"chat.disableAIFeatures": true
co-authored by copilot
edenchazard commented Apr 26, 2026
Any explanation for the choice to make this default? Now I know why random commits of mine were suddenly being "co-authored by copilot" despite not using copilot with that commit. I just don't get the point of this at all.
Any explanation for the choice to make this default?
Now I know why random commits of mine were suddenly being "co-authored by copilot" despite not using copilot with that commit. I just don't get the point of this at all.
jamiejcole commented Apr 27, 2026 • edited Loading Uh oh! There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
This is absolutely ridiculous and should not at all be defaulted. Especially when not using Copilot whatsoever.
This is absolutely ridiculous and should not at all be defaulted. Especially when not using Copilot whatsoever.
marxoffice commented Apr 27, 2026 • edited Loading Uh oh! There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
So the logic here was: "Let's inject our own name into every commit, even for users who never used Copilot, and ship it as a silent default." Who thought that was okay? It's vandalism. Shameful. Update: I can personally confirm this: on multiple recent commits I hand-wrote every commit message and never touched Copilot while coding, yet there it is — Co-authored-by: Copilot copilot@github.com — injected anyway. At the very least, people who write their own commit messages in the vscode git UI deserve WYSIWYG. That's the bare minimum of respect for the user.
So the logic here was: "Let's inject our own name into every commit, even for users who never used Copilot, and ship it as a silent default." Who thought that was okay? It's vandalism. Shameful.
Update: I can personally confirm this: on multiple recent commits I hand-wrote every commit message and never touched Copilot while coding, yet there it is — Co-authored-by: Copilot copilot@github.com — injected anyway. At the very least, people who write their own commit messages in the vscode git UI deserve WYSIWYG. That's the bare minimum of respect for the user.
ringoz commented Apr 28, 2026
I am not using copilot, I have "chat.disableAIFeatures" and co-authored by copilot still gets inserted into commits.
I am not using copilot, I have "chat.disableAIFeatures" and co-authored by copilot still gets inserted into commits.
added admin profiles
5c22231
Co-authored-by: Copilot
cloudyluna commented May 2, 2026
what the hell
what the hell
gabereiser commented May 2, 2026
I guess when no one uses your service, you have to pretend people are by adding it to commit messages without their knowledge. Whether they used it or not. This is exactly why Microsoft can’t be trusted with your code, your commits, or your SDLC.
I guess when no one uses your service, you have to pretend people are by adding it to commit messages without their knowledge. Whether they used it or not. This is exactly why Microsoft can’t be trusted with your code, your commits, or your SDLC.
0xku commented May 2, 2026
I was warming up to zed. Stuff like this leaves me no choice but switch completely.
I was warming up to zed. Stuff like this leaves me no choice but switch completely.
gokaygurcan commented May 2, 2026
sigh.. lemme add "git.addAICoAuthor": "off" in my config file and get it done with. thank you micros~1.
sigh.. lemme add "git.addAICoAuthor": "off" in my config file and get it done with.
"git.addAICoAuthor": "off"
thank you micros~1.
GerardoSuarezRamos commented May 2, 2026
Cursor handles this differently — there's no automatic attribution because the workflow assumes you're reviewing every diff before commit. The author is whoever ran git commit, full stop. The Microsoft approach feels off because it conflates "I used the editor" with "I co-authored this," which devalues the signal that Co-Authored-by is supposed to carry. The deeper issue: if every commit made in any IDE with AI features carries a Co-Authored-by tag, the metadata becomes noise. We already have a hard time tracking real authorship in PR-heavy workflows; auto-tagging makes it worse.
Cursor handles this differently — there's no automatic attribution because the workflow assumes you're reviewing every diff before commit. The author is whoever ran git commit, full stop. The Microsoft approach feels off because it conflates "I used the editor" with "I co-authored this," which devalues the signal that Co-Authored-by is supposed to carry. The deeper issue: if every commit made in any IDE with AI features carries a Co-Authored-by tag, the metadata becomes noise. We already have a hard time tracking real authorship in PR-heavy workflows; auto-tagging makes it worse.
snehesht commented May 2, 2026 • edited Loading Uh oh! There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Why force this on unsuspecting users, I guess Zed 1.0 will see better adoption. Congrats, you've made it to HN1 front page and not in a good light if I might add. Footnotes https://news.ycombinator.com/item?id=47989883 ↩
Why force this on unsuspecting users, I guess Zed 1.0 will see better adoption.
Congrats, you've made it to HN1 front page and not in a good light if I might add.
Footnotes
https://news.ycombinator.com/item?id=47989883 ↩
https://news.ycombinator.com/item?id=47989883 ↩
whitequark commented May 2, 2026
Quick question: what the fuck is wrong with you?
Quick question: what the fuck is wrong with you?
git.addAICoAuthor
off
woctezuma commented May 2, 2026
🍿
🍿
ArmanJR commented May 2, 2026
back in 2009 I used windows to buy a software engineering book from amazon. go ahead add Co-Authored-by Bill Gates to my PRs. come on i'm waiting.
back in 2009 I used windows to buy a software engineering book from amazon. go ahead add Co-Authored-by Bill Gates to my PRs. come on i'm waiting.
Co-Authored-by Bill Gates
mateolafalce commented May 2, 2026
Average PM 🤡
Average PM 🤡
yzqzss commented May 2, 2026
Uninstalling, good bye, I'll never switch back to the M$ slop editor.
Uninstalling, good bye, I'll never switch back to the M$ slop editor.
ikidd commented May 2, 2026
Do they give you the lobotomy before your initial job orientation at Microsoft, or after? I wonder if you have to use up vacation days for the recovery time.
Do they give you the lobotomy before your initial job orientation at Microsoft, or after? I wonder if you have to use up vacation days for the recovery time.
alxndr42 commented May 2, 2026
Slopya Nadella likes this.
Slopya Nadella likes this.
Atulin commented May 2, 2026
What in the actual fuck?
What in the actual fuck?
lisanna-dettwyler commented May 2, 2026
This is batshit insane
This is batshit insane
ImKventis commented May 2, 2026
misplay
misplay
ItsMrCube commented May 2, 2026
This is insanity, please revert
This is insanity, please revert
gkgoat1 commented May 2, 2026
@claude mitigated this in 3 seconds, fuck you (on behalf of it) https://github.com/portal-co/nopilot
@claude mitigated this in 3 seconds, fuck you (on behalf of it) https://github.com/portal-co/nopilot
toby5box commented May 2, 2026
Pestilence.
Pestilence.
MrDiamondDog commented May 2, 2026
Leave it to Microsoft to take credit for things they had nothing to do with.
Leave it to Microsoft to take credit for things they had nothing to do with.
Atulin commented May 2, 2026
Microslop be Microsloppin' They add Copilot to everything and their mother, so that they can boast 17 morbillion Copilot users to shareholders. A surprisingly simple strategy, but apparently works lmao
Microslop be Microsloppin'
They add Copilot to everything and their mother, so that they can boast 17 morbillion Copilot users to shareholders. A surprisingly simple strategy, but apparently works lmao
amadaluzia commented May 2, 2026 • edited Loading Uh oh! There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Pro-tip: You can achieve the same power as Visual Studio Code by just using Emacs with a framework like Doom Emacs or Spacemacs. If you want an editor truly without AI, use Gram or something :P
Pro-tip: You can achieve the same power as Visual Studio Code by just using Emacs with a framework like Doom Emacs or Spacemacs. If you want an editor truly without AI, use Gram or something :P