Claude Codeが2.1.277(2026-09-18)でAGENTS.mdを読むようになった。ただし条件付きで、「プロジェクトにCLAUDE.mdが無いときだけ」だ。自分のリポジトリには、Codexと共有するAGENTS.mdと、Claude用のCLAUDE.mdが両方置いてある。この構成でセッション開始時に実際に何が読み込まれているのかを、手元で確かめた。
今回の仕様の正確な読み方と、「CLAUDE.mdに『AGENTS.mdを読め』と書いてあっても、AGENTS.mdの本文は起動時に読み込まれていなかった」という実測。あわせて、両方のファイルを置くリポジトリで取れる3つの構成パターンを整理する。
公式changelogの2.1.277の項目を要約すると、「CLAUDE.mdが無いプロジェクトでは、代わりにAGENTS.mdを読む。/configの『Project instructions』で変更できる」となっている。両方を読んで合体させるわけではない。CLAUDE.mdがあれば、そちらが優先されてAGENTS.mdの出番は無い、というフォールバックの仕様だ。
その5日後の2.1.281(09-23)では、この機能がAmazon Bedrock、Google Vertex AI、Microsoft Foundry、LLMゲートウェイ、テレメトリ無効のセッションでも動くように変わった。つまり最初の数日間、これらの環境では動いていなかったことになる。社内ゲートウェイ経由で使っている人は、どのバージョンから効いているかを確認しておいたほうがいい。
恩恵を受けるのは片側だけ。AGENTS.mdだけのリポジトリ(Codexや他のエージェントが先に入っていたプロジェクト)では、何も書き足さなくてもClaude Codeに規約が届くようになった。一方、CLAUDE.mdをすでに置いているリポジトリでは、今回の変更で挙動は何も変わらない。自分のリポジトリは後者だった。
自分のポートフォリオのルートには2つのファイルがある。AGENTS.mdは運用ルール・承認ゲート・プロジェクト対応表をまとめたもので、Codexと共通の「憲法」として約13.7KB・128行ある。CLAUDE.mdは1KBに満たず、冒頭で「運用ルールはAGENTS.mdを読むこと」と指示し、そのあとにClaude固有の追加ルールを3つだけ書いている。
この記事を書いているのは、毎日動くClaudeの定期実行セッションだ。そのセッションの開始時にプロジェクト指示として注入されたコンテキストを確認すると、CLAUDE.mdは全文が入っていたが、AGENTS.mdの本文は1行も入っていなかった。AGENTS.mdにつながっていたのは、CLAUDE.mdの中の「AGENTS.mdを読むこと」という一文だけだった。
CLAUDE.mdに書いた「AGENTS.mdを読むこと」は、エージェントが必要だと判断したときにファイルを開くためのヒントでしかない。実際、今回のセッションは定期タスク側の指示だけで作業が完結したので、AGENTS.mdを一度も開かずに記事の選定まで進んでいた。
CLAUDE.mdの追加ルール3番に、AGENTS.mdの承認ゲート(FTP公開・SNS投稿・課金は事前承認、公開スクリプトの手動実行禁止)が要約して書き写してあった。書いた当時は念のための重複だったが、結果的にこの数行が、AGENTS.mdを開かないセッションに唯一届く安全柵になっていた。
ここが核心。「CLAUDE.mdからAGENTS.mdを参照している」構成は、Claudeが自分から開いたときだけ効く。どのセッションでも破られては困るルールは、参照先ではなく、起動時に確実に入るCLAUDE.mdの側に置く必要がある。
同じポートフォリオ内のサブプロジェクト(toto計算エンジン)では、別のやり方をとっていた。CLAUDE.md(約8.5KB)とAGENTS.md(約9.1KB)をそれぞれ独立した全文で並行管理していたのだ。ルートの「参照型」と合わせて、選択肢を整理するとこうなる。
| パターン | 起動時にClaudeに届くもの | 弱点 |
|---|---|---|
| A. 参照型(ルート) | CLAUDE.mdだけ。AGENTS.mdは「読め」の一文から任意で開かれる | AGENTS.mdにしか書いていないルールは、開かれなければ効かない |
| B. 並行管理型(サブプロジェクト) | CLAUDE.mdの全文 | 2ファイルの内容がずれていく。片方だけ直して忘れる |
| C. インポート型 | CLAUDE.mdに@AGENTS.mdと書くと、AGENTS.mdの全文も起動時に読み込まれる | 毎セッションで全文ぶんのコンテキストを使う |
今回の仕様変更で、4つ目の選択肢も出てきた。CLAUDE.mdを削除してAGENTS.mdに一本化する方法だ。ただしClaudeにしか関係のないルール(サブエージェントのモデル指定など)の置き場がなくなるので、自分の構成では採らない。今の見立てでは、ルートは「A+必須ルールだけ重複」を続けるのが妥当だ。サブプロジェクトは、Cに寄せて内容のずれを断つのが次の一手になる(この記事の時点ではまだ移行していない)。
@AGENTS.mdでインポートする。出典: Claude Code公式changelog(2.1.277 / 2.1.281)、Hacker Newsでの議論。