attribution false 关掉提交署名

Claude Code 2.1.281 允许在 settings.json 写 attribution false,用来隐藏提交和 PR 上的全部署名。更旧的 CLI 会整份跳过带这个键的设置文件,跨版本共用时要保留对象写法。

attribution false 关掉提交署名

Claude Code 2.1.281 的发行说明增加了一项设置:在 settings.json 里写 "attribution": false,用来隐藏全部提交和 PR 署名。claude code 关掉提交署名 的开关就是这个键。说明同时警告:更旧的 CLI 会跳过一份含有这个键的设置文件,所以在跨版本共用的文件里要保留对象形式。

作者CodePass 技术编辑

旧客户端会整份跳过

「跳过设置文件」和「忽略未知键」不是同一件事。发行说明的措辞是 skip a settings file that holds it。旧版本读到这个键,可能整份设置都不加载,而不只是不认识 attribution。项目里的 .claude/settings.json 若提交进仓库,同事还停在 2.1.280 或更早,他们会失去这份文件里的其他权限和钩子。

说明要求 keep the object form。它给出的例子就是 "attribution": false 这种对象字段,没有写第二种语法。不要另造一份只有布尔值的文件。要关署名,把这一字段放进现有的设置对象;要让旧 CLI 继续读同一文件,就先不要把这个字段提交到大家共用的那一份,改到只在 2.1.281 及以上机器使用的用户级设置里。

它关的是署名,不是生成记录

发行说明写的是 commit and PR attribution,没有写会删除本地 git 历史、关掉遥测,或让 diff 里看不出助手改过代码。代码审查、钩子和 acceptEdits 仍按原规则走。团队规范若要求保留「由助手生成」的标记,就不要打开这个字段。打开之后,发行说明没有写如何在单次提交里重新打开。

2.1.280 没有这条。只升到 2.1.280 的机器既不能用这个键,也不应该在共享文件里提前写入它。

和插件、网关设置分开

同一版还加了网关上的 telemetry.resource_attributes、Bedrock 的 assume_roleguardrail。那些写在 Claude apps gateway 的配置里,不是 Claude Code 用户目录里的 attribution。把网关标签和提交署名混进同一个文件,旧 CLI 的「整份跳过」会波及网关段。署名只放在确认版本之后的用户设置里。

参考资料