Claude CodeはAGENTS.mdを読まない? 公式ドキュメントからわかることと対処法

Claude CodeはAGENTS.mdを読まない? 公式ドキュメントからわかることと対処法

最近、Xでこんな投稿が流れてきました。

https://x.com/oikon48/status/2037486034087485636

> 「Claude Code は AGENTS.md を読まない。公式ドキュメントでは CLAUDE.md に @ Import を使用して、AGENTS.md を取り込むことが推奨されている。」
>
> 出典: Oikonさんの投稿

この話、Claude Codeを使っている人にはかなり大事です。
なぜなら、プロジェクト運用のルールを AGENTS.md にまとめている人は多いからです。
もしそれを Claude Code が自動では見ていないなら、毎回の挙動がずれる原因になります。

結論から言うと、Claude Code が公式に読む前提のファイルは CLAUDE.md です。
なので、AGENTS.md だけ置いて安心するのは危ないです。
一方で、AGENTS.md を捨てる必要もありません。CLAUDE.md から取り込めばよいです。

この記事では、Anthropicの公式ドキュメントをもとに、この話のどこまでが事実で、実務ではどう直すとよいかを整理します。

公式ドキュメントで確認できること

まず、Anthropicの公式ドキュメントでは、Claude Codeの持続的な指示は CLAUDE.md に置く形で説明されています。
Claude Codeのセットアップと memory の説明では、プロジェクトルートの CLAUDE.md をClaude Codeが読む前提で案内されています。

つまり、少なくとも公式の標準ルートは AGENTS.md ではありません。
ここが一番大事です。

次に、Anthropicのドキュメントでは CLAUDE.md から別ファイルを @path/to/file で取り込める構成も案内されています。
この仕組みを使えば、共通ルールを別ファイルに分けて、CLAUDE.md から読む形にできます。

ここから言えるのは次の2点です。

  • 公式に自動読込の中心として説明されているのは CLAUDE.md
  • AGENTS.md を使いたいなら、CLAUDE.md からつなぐのが自然

「Claude Code は AGENTS.md を読まない」というX投稿の言い方は少し強めですが、公式ドキュメントの読み方としてはかなり妥当です。
少なくとも、AGENTS.md が標準で自動読込されるとは私は確認できませんでした。

なぜここがややこしいのか

ややこしい理由は、AIコーディングツールごとに「最初に読むファイル名」が違うからです。

たとえば、別のツールや運用では AGENTS.md が入口になることがあります。
すると、同じ感覚で Claude Code にも AGENTS.md だけ置きたくなります。

でも Claude Code の公式な入口は CLAUDE.md です。
ここがずれると、同じリポジトリでも

  • Codex系はルールを読んでいる
  • Claude Codeは読んでいない

という状態が起きます。

このズレは地味ですが危険です。
なぜなら、人は「同じルールを共有している」と思い込みやすいからです。

たとえば AGENTS.md

  • 保存先のルール
  • 書いてよい文体
  • 触ってはいけないディレクトリ
  • 公開前の確認手順

を書いていても、Claude Code側で読まれていなければ、そこは実質的に共有されていません。

では、どうしたらいいのか

一番実務的なのは、AGENTS.md を共通ルールの正本として残しつつ、CLAUDE.md から取り込む形にすることです。

これなら、すでに AGENTS.md で運用しているチームでも大きく崩しません。
Claude Code用に別の長文を最初から書き直す必要もありません。

考え方はシンプルです。

  1. 共通ルールは AGENTS.md に置く
  2. Claude Code向けの入口として CLAUDE.md を置く
  3. CLAUDE.md@AGENTS.md を読み込む
  4. Claude専用の補足だけを CLAUDE.md に短く足す

この形にすると、管理がかなり楽になります。

すぐ使える最小構成

たとえば、最小ならこんな形で始められます。

“`md
# CLAUDE.md

@AGENTS.md

Claude Code向けの補足

  • 迷ったら変更前に意図を短く確認する
  • 長いルールは増やしすぎず、正本はAGENTS.mdに寄せる

“`

この構成のよいところは、ルールの二重管理を減らせることです。
本体は AGENTS.md、Claude Codeへの接続点は CLAUDE.md と分けるので、どこを直せばよいかがわかりやすいです。

AGENTS.mdをやめて、全部CLAUDE.mdに寄せるべきか

必ずしもそうではありません。
ここは、チームが何のツールを併用しているかで決めるのがよいです。

Claude Codeだけで閉じるなら、CLAUDE.md に一本化しても整理しやすいです。
一方で、複数のエージェントや別ツールも使うなら、共通ルールを AGENTS.md に残す価値があります。

要するに、

  • Claude Codeだけで回すなら CLAUDE.md 中心
  • 複数ツールで回すなら AGENTS.md を正本にして CLAUDE.md で橋渡し

と考えると判断しやすいです。

もう1つ大事なこと。安全ルールは文章だけに頼らない

ここで誤解しやすいのですが、CLAUDE.mdAGENTS.md は方針を書く場所です。
危険な操作の防止まで、文章だけで完全に担保するのは難しいです。

たとえば、

  • 本番反映コマンドを走らせない
  • 機密ファイルを読ませない
  • 特定ディレクトリへの書き込みを止める

のような制御は、Claude Codeなら settings.json のような権限設定も合わせて考えたほうが安全です。

これは「ルールを書くな」という意味ではありません。
むしろ、文章のルールと物理的な柵を分けたほうが事故が減る、という話です。

この話をどう受け止めればいいか

今回のX投稿で一番大事なのは、「Claude Code はダメだ」という話ではありません。
大事なのは、ツールごとに入口ファイルが違うと理解することです。

Claude Codeは CLAUDE.md を入口にしている。
だから AGENTS.md だけを置いている人は、橋を1本足す必要がある。
それだけの話です。

ここを早めに直しておくと、

  • 毎回同じ説明をしなくて済む
  • ツールごとの挙動差で混乱しにくい
  • チームの共通ルールを保ちやすい

という形で効いてきます。

まとめ

結論はシンプルです。
Claude Codeの標準の持続指示ファイルは CLAUDE.md です。
そのため、AGENTS.md だけでは Claude Code に共通ルールが伝わらない可能性があります。

もし今の運用で AGENTS.md を使っているなら、やるべきことは大きくありません。

  • CLAUDE.md を置く
  • @AGENTS.md で取り込む
  • Claude専用の補足だけを短く足す
  • 危険操作は権限設定でも塞ぐ

この4つで、かなり安定します。

「読んでいるはず」で進めるより、どのファイルが入口かを明示したほうが安全です。
AIツールは賢く見えても、入口設計を間違えると簡単にずれます。
だからこそ、ルールの正本と読み込み口は分けて考えたほうがうまく回ります。

FAQ

Q1. Claude Codeは本当にAGENTS.mdを一切読まないのですか?
少なくとも、Anthropic公式ドキュメントでは AGENTS.md が標準の自動読込ファイルとは案内されていません。 公式に案内されているのは CLAUDE.md です。 そのため、AGENTS.md だけに依存する運用は避けたほうが安全です。
Q2. すでにAGENTS.mdを長く書いています。作り直すべきですか?
作り直しは不要です。 まず CLAUDE.md を追加して、@AGENTS.md でつなぐ形にしたほうが早いです。
Q3. CLAUDE.mdに全部書けば十分ですか?
方針や文体の共有には有効です。 ただし、危険なコマンドやファイルアクセスの防止は、権限設定も合わせて考えたほうが安全です。

関連記事

参考

attrip

attrip

考えたことを、記事・AI・音楽に変えて発信しています。

盆栽、音楽、ブログ運営、日々の試行錯誤について書いています。

2010年から発信中

コメントを残す