Claude Code 默认在提交中泄露会话链接
Claude Session URL appended to commit messages and PR descriptions by default
开发者发现 Claude Code 在默认情况下,会在所有的 commit messages 和 PR 描述中自动附加一个 Session URL。这一行为未经用户同意,且缺乏明显的提示或关闭选项,导致许多用户在不知情的情况下污染了 Git 历史。社区对此反应强烈,认为这不仅显得不专业,还可能带来知识产权泄露的风险。尽管可以通过修改 ~/.claude/settings.json 中的 attribution 设置来关闭此功能,但该设置隐藏极深,且对于 Web 和 Remote Control 会话难以持久化。开发者呼吁将此类影响代码库可见性的功能改为 opt-in 模式,而非默认开启。
这种行为在没有告知任何人的情况下出现,实在令人毛骨悚然。
HN 评论区
207- klodolph
我可能漏掉了什么,但这正是我想要的默认设置。我就希望会话链接能出现在那里。我看到同事的 PR 里就有会话链接。
我依然能控制别人是否能看到这个会话,但我不会弄丢它。
我不理解那种“不专业”的说法。这是署名。署名才是专业的。如果你不想有,就关掉它或者重写提交信息。如果你让 Claude 替你写提交信息,而且你连看都不看,那才叫不专业。说实话,人们对这件事如此愤怒,我既震惊又失望。
- sanex
我真不敢相信有这么多人都支持这个做法。评论区的氛围太积极了,我都怀疑是不是水军。代码是我工作的成果,不管它是如何完成的;如果我没能很好地记录或解释它,那是另一个问题。难道你们还想看我发给导师的 Slack 消息吗?或者我读过的所有 Stack Overflow 帖子?也许我还应该把我每次因为初级开发 Gary 没写文档而骂街的时刻都录下来?
代码是 AI 写的其实很明显,大概可以安全地假设 95% 的东西至少都经过 AI 辅助。看看 Stack Overflow 流量的暴跌就知道了,我们不是在写更少的代码,而是在写更多的代码(再见了,GitHub 的正常运行时间)。
- lanyard-textile
我看到的主要问题在于链接失效(linkrot)。我们真的相信这些链接 30 年后还能用吗?
上市多年后,急于削减成本的管理层会查看存储使用情况,然后让 7 年前的非训练会话过期。这是最先被砍掉的东西。我对任何成功的供应商能处理好这件事毫无信心。
Git 本应是持久的存储介质,自给自足,经得起时间的考验。现在我们却在仓库里撒了一堆只在短期内有用的 URL。
- joshstrange
我完全看不出这有什么问题。前几天我注意到了这一点,觉得还挺方便。就像我让代理用它的名字给 PR/提交打标签一样。我想知道用了什么工具,事实上我希望它能标识出具体使用的模型。
我并不以使用 LLM 为耻,我希望尽可能提供完整的审计追踪,以便将来帮助我自己。
PS:Claude 会在 30 天后在你的电脑上归档旧对话。我也开始把它们归档到一边,以备将来使用。
- kaffekaka
目前你可以选择是否分享会话,但大家都知道,从现在开始,会话记录必须保持干净、体面,以防日后被公开。
从现在开始,会话就是一个展示美德和发送认可信号的舞台。
所有那些漫无边际的唠叨和抱怨,那些探索性的冲动,很快都将不得不被解释和辩护。
- arijun
虽然标题里没写,而且大多数人也不会一直翻到底部:根据维护者的说法,这仅针对 Web 和 Remote Control 会话启用。
- jlawrence6809
这可能是一个有争议的看法,但我非常喜欢这个功能。在 Claude Code 的早期,我不得不写一个脚本(好吧,是 Claude 写的)来提取会话 ID 并附加到每个提交中。当你试图调试旧提交并调出实际编写它的聊天会话时,这简直是救命稻草。
- nozzlegear
这对新用户来说是个不错的默认设置,但不应该在没有先提示的情况下就为现有用户开启。
我不使用 Claude,所以这事跟我没关系。