最近、Xでこんな投稿が流れてきました。
> 「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用に別の長文を最初から書き直す必要もありません。
考え方はシンプルです。
- 共通ルールは
AGENTS.mdに置く - Claude Code向けの入口として
CLAUDE.mdを置く CLAUDE.mdで@AGENTS.mdを読み込む- 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.md や AGENTS.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を一切読まないのですか?
Q2. すでにAGENTS.mdを長く書いています。作り直すべきですか?
Q3. CLAUDE.mdに全部書けば十分ですか?
関連記事
- Claude Codeのプロジェクト設定、ちゃんとやってますか?.claude/フォルダの使い方
- CLAUDE.mdの書き方:効く文と効かない文の違い
- Claude Codeに高いお金を払う前に、最初に決めておきたい5つのこと