Claude Code 2.1.277 版本做了一件事:把 AGENTS.md 变成了 CLAUDE.md 的回退指令文件。当目录里没有 CLAUDE.md 时,它会自动去读 AGENTS.md,这个开关放在 /config 里,默认开启。

对团队和开源项目来说,这条改动解决的是一个命名兼容问题——不用再为了适配工具去改文件名

四种加载模式,从仓库实现里推出来

作者从开源仓库的实现推导出四种加载模式。AGENTS.md 的定位是回退,不是替代:有 CLAUDE.md 时走 CLAUDE.md,没有时才轮到 AGENTS.md。

但两者的能力并不对等。AGENTS.md 目前不支持 @提及附加、IDE 选区感知、多媒体读取、符号链接解析,也不在 /memory 界面里展示。这五项差距意味着,如果项目原本依赖这些能力,直接迁移会踩坑,需要先评估影响。

Mods:把插件行为装进 Hooks 模块

同一版本里被揭示的还有 Mods 插件机制。每个 Mod 的结构是固定的:一份 plugin.json 清单、一个 hooks.json 入口声明、TypeScript 实现,以及测试目录。

它采用 Hooks 事件驱动架构,功能被拆成模块化解耦的单元。内置的四个 Mod 各管一摊:

  • 安全策略保护
  • diff 面板
  • 遥测注入
  • AGENTS.md 加载

这套分工的意义在于标准化。第三方插件有了可参照的骨架,不用再各自发明接入方式。用作者的话说,一个 Mod 就是行为活在 hooks 模块里的 Claude Code 插件。

从开放式生成到有界选择

把插件行为收敛进 hooks 模块,本质上是把“开放式生成”收敛为“有界选择”——插件能做什么、在哪个事件点做,都由声明文件界定,而不是靠模型临场发挥。

对开发者来说,眼下更实际的问题是迁移成本。AGENTS.md 已经能当回退文件用,但那五项功能差距还在,团队要不要换、什么时候换,取决于项目对 @提及和 IDE 选区这些能力的依赖程度。