学习精选 · AI 工具
Claude 与 Skill

Claude Code 2.1.277 支持 AGENTS.md 了,但只是没有 CLAUDE.md 时的兜底

DEV Community2026-11-08约 4 分钟读完AI 整理查看原文

Claude Code 在 2.1.277 版本加入 AGENTS.md 支持,但仅当项目里完全没有 CLAUDE.md 时才会读取它,是兜底而非合并。文章拆解了加载顺序、@import 规则、symlink 和 /import 迁移三种共享方案,并给出验证指令是否真正加载的方法。

今天就能做

  • 先跑 claude --version 确认 ≥2.1.277,再检查仓库有没有 CLAUDE.md——有则新兜底与你无关,直接用 @AGENTS.md import 方案
  • 改完指令文件后开个会话跑 /context,确认文件出现在 Memory files 里,否则怎么改措辞都没用
  • 在 /config 的 Project instructions 里统一团队的 AGENTS.md 行为,避免各人设置不一致

这次更新到底改了什么

  • 2.1.277 只改三件事:没有 CLAUDE.md 时改读 AGENTS.md;行为可在 /config 的 Project instructions 里开关;Bedrock、Vertex、Foundry 暂不支持
  • 没有 settings.json 键或环境变量控制开关,唯一入口是 /config 菜单,托管部署暂时无法统一固定该行为
  • 官方 memory 文档还没更新,仍写着只读 CLAUDE.md,以 changelog 为准并自行验证

兜底在真实仓库里几乎不会触发

  • Claude Code 不是只找一个指令文件,而是沿目录树向上加载 CLAUDE.md 和 CLAUDE.local.md,子目录文件在读取该目录文件时才按需加载
  • 所有发现的文件是拼接而非覆盖,顺序从根到工作目录,越靠近启动位置的指令越后读
  • 只要跑过一次 /init 的仓库就有 CLAUDE.md,兜底永远不触发

@import 仍优于兜底

  • 在 CLAUDE.md 里写 @AGENTS.md 即可共享一份指令源,再在下方追加 Claude 专属规则
  • 语法规则严格:相对路径基于所在文件解析;嵌套最多四层;反引号内的 @路径不会被执行 import
  • 解析到工作目录之外的 import 首次会弹审批框,拒绝一次后永久关闭且不再询问;用户级文件(~/.claude/CLAUDE.md)的 import 不弹框
  • 团队协作注意:同事批准了外部 import 而你拒绝了,两人实际加载的指令会不一致

symlink 和一次性迁移

  • 不需要 Claude 专属内容时,ln -s AGENTS.md CLAUDE.md 即可;Windows 需管理员权限或开发者模式,否则改用 @import
  • /import(需 v2.1.213+)可把其他 agent 的配置一次性迁入:追加指令文件副本,并带上 MCP 服务器、命令、子代理和 skills,适合彻底换工具而非双工具并行
  • /init 默认读 Cursor 和 Copilot 规则;设 CLAUDE_CODE_NEW_INIT=1 后还会读 AGENTS.md、.devin/rules/、.windsurf/rules/ 和 .clinerules

验证到底加载了什么

  • /context 的 Memory files 区块列出本次会话加载的文件,是最快检查手段
  • /memory 可浏览并打开所有 CLAUDE.md 和记忆文件
  • InstructionsLoaded hook 能记录哪些文件在何时因何加载,适合排查路径限定规则或懒加载的子目录文件
  • 单文件上限 4 MiB,超限整个跳过;官方建议每文件 200 行以内,遵循度远在此之前就开始下降
  • monorepo 可用 claudeMdExcludes 按 glob 排除祖先文件,各层设置数组合并,但托管策略 CLAUDE.md 不可排除

原文:Claude Code reads AGENTS.md now, but only when CLAUDE.md is missing

来源:DEV Community · 2026-11-08

查看原文

本文由 AI 阅读原文后整理,未经人工逐字核对,内容以原文为准。

登录后可以点赞、查看和发表评论