MemoryLake
すべての記事に戻る
News2026年9月20日·13 分で読了

Claude CodeがAGENTS.mdを読み込むように。ただしCLAUDE.mdがない場合のみ —— 読み込みを静かにキャンセルする3つのファイル(2026年)

2026年9月18日、Claude Code v2.1.277は、一見すると単なる整理整頓のような一行をリリースしました。「AGENTS.mdのサポートを追加:CLAUDE.mdのないプロジェクトでは、Claude Codeは代わりにAGENTS.mdを読み込みます。/configの『Project instructions』で変更可能です(Bedrock、Vertex、Foundryは未対応)」。同週、Anthropic自身のドキュメントはさらに踏み込んだ内容を公開しましたが、興味深いのはこのファイルがサポートされたこと自体ではありません。条件節にあります。このサポートはフォールバック(代替手段)であり、そのフォールバックには、あなたが知らないうちにすでに設置しているかもしれない「オフスイッチ」が存在するのです。

多くのチームがこの1年間、すべてのコーディングエージェントに対して1つの共有指示ファイルを維持し、インポートやシンボリックリンク、あるいは起動時のフックを介してClaude Codeにそれを読み込ませる方法を模索してきました。また、共有ファイルとは別に、コミットしない個人用の設定ファイルを置いて、個人の好みを持ち運べるようにしている開発者もいます。後者のグループにとって、今回の新しい挙動は決して歓迎すべきものではありません。なぜなら、その個人用ファイルこそが、共有ファイルの読み込みを阻止してしまう3つのファイルのうちの1つだからです。

本記事では、この変更の後半部分、つまりどのファイルがAGENTS.mdの読み込みを妨げるのか、セッション内からどのファイルが読み込まれたかをどのように確認するのか、そしてこの機能が登場する前に設定したワークアラウンド(回避策)をどう処理すべきかについて解説します。

Anthropicが実際に公開した内容

リリースノートは箇条書きの1項目だけです。その背景にある「Claudeがプロジェクトを記憶する方法」と題されたドキュメントページにその仕組みが記載されており、適用範囲から始まっています。「Claude CodeはAGENTS.mdをプロジェクト指示書として読み込むことができるため、他のコーディングエージェント向けにすでにセットアップされているリポジトリであれば、CLAUDE.mdの追加、インポート、または設定を行うことなく動作します。」

続いて3行の表があり、そこにすべてのストーリーが凝縮されています。作業ディレクトリまたはその上位に「AGENTS.mdがあり、CLAUDE.mdCLAUDE.local.mdがない」リポジトリは、「あなたのAGENTS.md」を読み込みます。作業ディレクトリまたはその上位に「AGENTS.mdがあり、かつCLAUDE.mdまたはCLAUDE.local.mdがある」リポジトリは、「あなたのCLAUDE.mdファイルのみ」を読み込みます。そして「すでにAGENTS.mdをインポートしているCLAUDE.md」があるリポジトリは、「インポートを通じてAGENTS.mdが含まれた、あなたのCLAUDE.md」を読み込みます。

カウントのルールは別途明記されており、これは自身のメモにコピーしておく価値があります。「カウント対象となり、ClaudeがAGENTS.mdの代わりに読み込む」ファイルは、作業ディレクトリまたはその上位ディレクトリにある「CLAUDE.md.claude/CLAUDE.md、またはCLAUDE.local.md」です。「カウント対象外となり、AGENTS.mdと並行して読み込まれ続ける」ファイルは、「あなたの~/.claude/CLAUDE.md、組織が管理するCLAUDE.md、および.claude/rules/ファイル」です。

Anthropicはまた、この罠について独自の注記で分かりやすい言葉で書いています。「CLAUDE.local.mdがカウント対象となるため、AGENTS.mdに依存するプロジェクトにおいて、コミットしない自分用の指示書を保持するためにこれを追加すると、ClaudeがAGENTS.mdを読み込まなくなります。」

そして、確認方法もあります。カウント対象のファイルが何もない場合、ドキュメントによると、セッション開始時にClaudeは「作業ディレクトリとその上位ディレクトリにあるすべてのAGENTS.mdおよび.claude/AGENTS.md」を読み込み、インタラクティブセッションでは、会話の中にno CLAUDE.md found; AGENTS.md loaded: /home/you/repo/AGENTS.mdのような行が表示されます。

同じ週に、同じような傾向を持つ2つ目の変更がありました。1日前に公開されたバージョン2.1.275では、「claude.aiアカウントで有効になっているスキルとプラグインを、そのアカウントでサインインしているターミナルセッションに同期する機能を追加しました。syncClaudeAiSkills: falseまたはsyncClaudeAiPlugins: falseでオプトアウトできます。」この2つを合わせて読むと、パターンは明らかです。セッション開始時に読み込まれるものが、リポジトリ内のファイルを誰も編集することなく、2度も変更されたのです。

何が変わり、何が変わらないのか

変更されるのは、どのファイルが信頼できる情報源(オーソリティ)となるかであり、ファイルに何が書かれているかではありません。リポジトリにAGENTS.mdしかない場合、挙動は改善され、何もする必要はありません。両方のファイルがある場合、何も変わりません。Claudeはこれまで通りCLAUDE.mdを読み込み、その隣にあるAGENTS.mdは他のツールにのみ届く状態のままです。最も驚く可能性が高いのは、最も熱心に作業した人々です。両方の世界を同期させるためにインポートやシンボリックリンクを構築した人は、1つの仕事に対して2つの仕組みが動いていることになります。

ファイルの解析方法は変わりません。各AGENTS.mdの内部では、「@pathインポートが展開され、claudeMdExcludesパターンが適用され、プロジェクト指示書をスキップするサブエージェントはこれらのファイルもスキップします。」

検証方法は変わります。設定を介して読み込まれたAGENTS.mdは、ドキュメント化されている4つの箇所において、CLAUDE.mdとは異なる挙動を示します。/memoryおよび/context内のMemory filesリストにおいて、CLAUDE.mdは「リストに表示」されますが、AGENTS.mdは「リストに非表示。Claudeが読み込んだことを確認するには、デフォルト値の下にあるAGENTS.md loadedの行を探すか、プロジェクト指示書に何が書かれているかをClaudeに尋ねてください」となります。InstructionsLoadedフックは、一方では「実行」され、もう一方では「実行されません」(ただし、CLAUDE.mdがインポートまたはシンボリックリンクしているAGENTS.mdについては通常通り実行されます)。--add-dirで追加されたディレクトリは、そのCLAUDE.mdを読み込みますが、AGENTS.mdは読み込みません。そして、作業ディレクトリ外のファイルの@pathインポートは、「このプロジェクトに対して外部インポートをすでに承認している場合にのみ、プロンプトなしで読み込まれます。」

また、この機能は一度にすべての環境に届くわけではありません。ドキュメントには、「ClaudeがCLAUDE.mdファイルのみを読み込み、/config設定パネルにProject instructionsが表示されない」セッションがリストアップされています。これには、v2.1.277より前のバージョン、Amazon Bedrockや他のサードパーティプロバイダーを使用しているかテレメトリを無効にしているなどの理由で「Anthropicから機能フラグを取得しない」セッション、「インストールまたはアップグレード後の最初のセッション」、そして「あなたまたは組織がdisableAllHooksallowManagedHooksOnlyを設定しているか、組み込みのagents-mdプラグインを無効にしている」セットアップが含まれます。

人々が誤解しがちなこと

「これでCLAUDE.mdを削除できる」 リポジトリにClaude固有の記述が何もない場合に限ります。ドキュメントでは、「一部のセッションでAGENTS.mdを直接読み込めない場合」にCLAUDE.mdを維持することを説明しており、これは仮定の話ではなく、実際に存在するカテゴリです。

「これからは両方のファイルが読み込まれる」 4つのProject instructions(プロジェクト指示書)の値のうち、特定の1つを選択している場合のみです。デフォルトのclaude-md-or-agents-mdは、「作業ディレクトリまたはその上位にCLAUDE.mdCLAUDE.local.mdがない場合に、あなたのCLAUDE.mdファイル、またはAGENTS.mdファイル」を読み込みます。両方を読み込むのはclaude-md-and-agents-mdであり、これは「各ディレクトリのCLAUDE.mdファイルを先に、その後にAGENTS.mdを一緒に」読み込みます。

「インポートが不要になったので削除すべきだ」 ドキュメントでは、あるセットアップについて逆のことを述べています。@AGENTS.mdを含むCLAUDE.mdについては、「そのままにしておいて構いません。インポートを維持しても、どのProject instructionsの値を使用していても、ClaudeがAGENTS.mdを2回読み込むことはありません」とされています。

「自分のセットアップには重複はない」 実際には重複しているものがあります。AGENTS.mdを出力するSessionStartフックについては、「削除してください。ClaudeがAGENTS.mdを直接読み込むようになると、このフックはコンテキストに2つ目のコピーを追加してしまいます」と案内されています。

「自分が書いたファイルがコンテキストだ」 指示ファイルは常設の概要書(ブリーフ)であり、長期プロジェクトを停滞させる疑問は、通常、慣習ではなく決定に関するものです(6月に2つのアプローチのうちどちらを採用することに決め、それはなぜか、など)。その記録は、エージェントが起動時に読み込むファイルとは分けて保管する価値があります。この議論については、なぜ長いコンテキストは記憶ではないのかで説明しています。

解決策:プロジェクトを担うファイルを決定し、セッションがそれを読み込んだことを確認する

ステップ 1:記憶に頼るのではなく、カウント対象となるファイルを洗い出す

チェックはプロジェクトのルートだけでなく、上位に向かって実行されます。作業ディレクトリとそれより上のすべてのディレクトリを探索し、CLAUDE.md.claude/CLAUDE.mdCLAUDE.local.mdという正確に3つの名前を探してください。そのパス上のどこかに1つでも存在すれば、ClaudeはCLAUDE.mdファイルのみを読み込むようになります。

「読み込まれない」とドキュメントに記載されているため、さらに2つの名前も確認しておく価値があります。それはAGENTS.local.mdAGENTS.override.md、または.agents/ディレクトリ配下のすべてのファイルです。誰かが個人用のオーバーライドをこれらに分割していた場合、それらはこれまでClaude Codeに届いておらず、今後も届くことはありません。

個人用および組織レベルのファイルは、どちらにしても安全です。これらは「カウント対象外であり、AGENTS.mdと並行して読み込まれ続ける」ため、自身の好みが詰まった~/.claude/CLAUDE.mdがリポジトリのファイルをキャンセルすることはありません。

ステップ 2:意図的にProject instructionsの値を選択する

/configと入力し、デフォルトをそのまま引き継ぐのではなく、意図的にProject instructionsを設定します。4つの値は、4つの実際の状況に対応しています。1つのファイルが明らかにプロジェクトのものである場合はclaude-md-or-agents-md。共有ファイルに加えてClaude固有の追加事項が必要な場合、特にCLAUDE.local.mdを保持している場合はclaude-md-and-agents-md。プロジェクトが分岐し、共有ファイルが他のツール専用になっている場合はclaude-md。そして、起動時に「組織が管理するCLAUDE.mdと自動メモリのみ」を読み込む場合はmanaged-onlyです。

この値は、パネルではなく設定ファイル内に置くこともできます。ユーザー設定ファイル、--settingsファイル、または管理設定内の、組み込みのagents-mdプラグインのID(pluginConfigs内)に記述します。チームにとって重要な制約が1つあります。「Claude Codeは、プロジェクトおよびローカルの設定ファイル内のこの設定を無視します。」この選択をリポジトリ内で同僚に配布することはできないため、代わりにオンボーディングノートに記載する必要があります。どの方法をとるにしても、「変更は、次に送信するメッセージから、およびすべての新しいセッションで適用されます。」

ステップ 3:読み込みを確認し、重複するワークアラウンドのみを削除する

セッションを開始し、該当する行を探します。カウント対象のファイルが存在しないデフォルト値の場合、会話にno CLAUDE.md found; AGENTS.md loaded:に続いてパスが表示されます。claude-md-and-agents-mdを使用している場合、またはインポートを維持した場合は、/contextを実行し、Memory filesの下にCLAUDE.mdが表示されていることを確認します。これが、インポートおよびシンボリックリンクのルートにおけるドキュメント化された確認方法です。

その後、直感ではなくタイプ別にかつてのワークアラウンドを処理します。@AGENTS.mdインポートはそのまま残します。Claudeに対して言葉で別のファイルを読み込むよう指示しているだけのCLAUDE.mdは削除します。なぜなら「Claudeはファイルを開くことを決定した場合にのみAGENTS.mdを参照する」からです。シンボリックリンクは「何もしないか、シンボリックリンクを削除します。どちらの方法でも、Claudeはコンテンツを1回読み込みます」。ファイルを出力するSessionStartフックは削除する必要があります。

初めてシンボリックリンクのルートを選択する場合、2つの制約が適用されます。EditツールとWriteツールは「シンボリックリンクを介した書き込みを拒否」し、この拒否によって「ClaudeはリンクのターゲットであるAGENTS.mdを代わりに編集するよう指示されます」。また、Windowsでは「シンボリックリンクの作成に管理者権限または開発者モードが必要であり、Gitはcore.symlinksが有効になっていない限り、コミットされたシンボリックリンクをプレーンテキストファイルとしてチェックアウトします」。

MemoryLakeでのセットアップ

指示ファイルは「ここでどのように作業すべきか」に答えるものです。「何を、いつ決定したか」を保管する場所としては適していません。2つのファイル名と設定をやりくりするようになると、その違いはさらに鮮明になります。意図的にMemoryLakeのエントリを書き込む独立したストアを用意することで、決定事項とその理由を、今週どのファイル名が採用されたかに依存しない1つの場所に保管できます。エントリはあなた自身が自分の言葉で書き込みます。Anthropicのファイルや設定から何かが読み取られたり、書き込まれたり、削除されたりすることはありません。

ステップ 1:APIキーを作成する

サインインし、ワークスペースの設定からAPIキーを生成します。これはエージェントや統合機能が使用する認証情報であるため、何かを移行し始める前に作成してください。

エージェントで使用するために新しいキーが作成され、コピーされるAPIキー画面が表示されたMemoryLakeコンソール
エージェントで使用するために新しいキーが作成され、コピーされるAPIキー画面が表示されたMemoryLakeコンソール

ステップ 2:最初のメモリをアップロードする

何度も説明し直すことになるエントリから始めましょう。アーキテクチャの決定、かつて議論した規約、ファイル内では恣意的に見える制約の背後にある理由などです。これらは長いドキュメントとしてではなく、短く独立したメモとして記述することで、それぞれを個別に取得できるようになります。

最初のドキュメントがアップロードされ、各ファイルが検索可能なメモリとしてリストされているMemoryLakeワークスペース
最初のドキュメントがアップロードされ、各ファイルが検索可能なメモリとしてリストされているMemoryLakeワークスペース

ステップ 3:AIとエージェントを接続する

実際に使用しているアシスタントやコーディングエージェントを接続します。これにより、各ツールが今月どの指示ファイル名を好むかに関係なく、常設のストアがツールをまたいであなたに同行します。

メモリレイヤーに接続可能なAIクライアントとエージェントフレームワークがリストされているMemoryLakeの統合画面
メモリレイヤーに接続可能なAIクライアントとエージェントフレームワークがリストされているMemoryLakeの統合画面

実務における変化

オンボーディングが変わります。以前は「CLAUDE.mdを読んでください」が完全な指示でした。今では、同僚が同じリポジトリをクローンし、同じバージョンを実行しても、以前の仕事で使っていたCLAUDE.local.mdを保持しているために、異なるプロジェクト指示書が適用される可能性があります。エラーは発生しませんが、回答の精度が下がるだけです。リポジトリにこの設定を含めることはできないため、セットアップノートに期待されるProject instructionsの値を記述しておきましょう。

「すべてのツールに1つのファイル」が意味することが変わります。ファイルを共有するというアイデアは依然として優れていますが、それを巡るルールはツールごとに異なります。たとえば、Kiroのステアリングドキュメントには「AGENTS.mdファイルは包含モードをサポートしておらず、常に含まれます」と記載されています。同じファイル名であっても、読み込みの契約が異なります。複数のエージェント間で1つのファイルを維持する場合、ファイルは共有されますが挙動は共有されません。これは、なぜエージェントは指示ファイルを無視するのかで説明されているのと同じギャップです。

移行ノートの価値が変わります。CLAUDE.mdをAGENTS.mdに移行する方法のステップに従ってすでにコンテンツをAGENTS.mdに移動している場合、移動自体は有効ですが、「両方のファイルを保持する」という結末は、現在では一方しか読み込まれないケースに該当するため、まずこのステップを再確認する必要があります。

そして、静かなセッションの読み方が変わります。エラーを吐かないセッションが、すべてを読み込んだセッションとは限りません。これはレイヤー化されたセットアップと同じパターンであり、解決策はコンテンツを書き直すことではなく、競合するCLAUDE.mdレイヤーを調停する方法にあるように、どのレイヤーが優先されたかを突き止めることです。

複数のエージェントが読み込む指示ファイルのベストプラクティス

カウントのルールは、誰かの頭の中ではなく、リポジトリに記述しておきましょう。共有ファイルの先頭付近に、それをキャンセルするファイル名を記載したメモを残しておくだけで、次の人が混乱した午後を過ごさずに済みます。

常設の規約と、日付のある決定事項を分けましょう。規約はすべてのツールが読み込むファイルに属します。決定事項、トレードオフ、および制約が存在する理由は、検索可能な場所に属します。これは、プロジェクトドキュメントをAIメモリに変換する方法で示されている区別です。

プロジェクトごとではなく、環境ごとに1回読み込みを確認してください。ドキュメントに記載されている利用不可のケースは環境依存(プロバイダー、テレメトリ、フックポリシー、アップグレード後の最初のセッション)であるため、新しいマシンやCIイメージで1回確認すれば、その上のすべてのリポジトリをカバーできます。

起動時に他に何が届くかに注意を払ってください。サインインしたclaude.aiアカウントのスキルとプラグインがターミナルセッションに同期されるようになりました。これは、リポジトリ内のどのファイルも制御できない、常設の挙動の2つ目のソースです。これは、Claude Codeセッション間でコンテキストを共有する方法で説明されている境界に隣接しています。

他のエージェントも同様に変更されたと仮定しないでください。共有ファイルが約束するものと、各ツールが実際に読み込むものとの間のギャップは、CodexがAGENTS.mdのルールをスキップするのを防ぐ方法でドキュメント化されているのと同じ失敗です。

最後に、ファイルをアーカイブではなく概要書(ブリーフ)として扱ってください。長い指示ファイルは、セッションの残りのスペースと競合します。圧縮(コンパクション)を生き残るものは何かという問題は別個のものであり、Claude Codeの自動圧縮で残すべきものでカバーされています。

結論

主要なニュースは、Claude CodeがAGENTS.mdを読み込むようになったことです。しかし、実際に誰かの午後を変えることになるのは、作業ディレクトリおよびその上位のすべてのディレクトリから3つの特定のファイル名が排除されている場合にのみ読み込まれること、個人のCLAUDE.local.mdがそのうちの1つであること、そしてどのファイルが読み込まれたかの確認は/memoryリストではなくセッション内の1行で行うこと、という点です。

10分だけ時間を取ってください。カウント対象のファイルをリストアップし、意図的にProject instructionsを設定し、セッションを開始して読み込み行を確認します。そして、どのファイルがプロジェクトの常設の概要書であるかを決定し、それを説明する決定事項は、ファイル名が変わっても影響を受けない場所に保管してください。

よくある質問

リポジトリにCLAUDE.mdもある場合、Claude CodeはAGENTS.mdを読み込みますか?

デフォルトでは読み込みません。作業ディレクトリまたはその上位に「AGENTS.mdがあり、かつCLAUDE.mdまたはCLAUDE.local.mdがある」リポジトリについてドキュメント化されている挙動は、Claudeが「あなたのCLAUDE.mdファイルのみ」を読み込むというものです。両方を読み込ませるには、Project instructionsclaude-md-and-agents-mdに設定してください。

どのファイルがAGENTS.mdの読み込みを阻止しますか?

作業ディレクトリまたはその上位の任意の場所にある、CLAUDE.md.claude/CLAUDE.mdCLAUDE.local.mdの3つの名前です。あなたの~/.claude/CLAUDE.md、組織が管理するCLAUDE.md、および.claude/rules/ファイルは、カウント対象外であり「AGENTS.mdと並行して読み込まれ続ける」とドキュメントに記載されています。

セッションが実際にどの指示ファイルを読み込んだかを確認するにはどうすればよいですか?

セッションの行を探してください。カウント対象のファイルが存在しないデフォルト値の場合、インタラクティブセッションにはno CLAUDE.md found; AGENTS.md loaded: /home/you/repo/AGENTS.mdのような行が表示されます。設定を介して読み込まれたAGENTS.mdは、/memoryおよび/context内のMemory filesリストにおいて「リストに非表示」となるため、そのリストは確認場所としては適していません。

なぜ私の/configパネルにProject instructionsが表示されないのですか?

ドキュメントには以下のケースが挙げられています。v2.1.277より前のバージョン、Amazon Bedrock上やテレメトリが無効化されている場合などAnthropicから機能フラグを取得しないセッション、インストールまたはアップグレード後の最初のセッション、あるいはdisableAllHooksallowManagedHooksOnlyが設定されているか、組み込みのagents-mdプラグインが無効化されているセットアップです。

CLAUDE.mdのインポートやシンボリックリンクは今すぐ削除すべきですか?

セットアップによります。@AGENTS.mdインポートは、「インポートを維持しても、ClaudeがAGENTS.mdを2回読み込むことはない」ため、残しておいて構いません。シンボリックリンクは「何もしないか、シンボリックリンクを削除」します。Claudeに対して言葉でファイルを読み込むよう指示しているだけのCLAUDE.mdは、削除するかインポートに置き換えるべきであり、ファイルを出力するSessionStartフックは「コンテキストに2つ目のコピーを追加してしまう」ため削除する必要があります。

リポジトリ内でチーム全体に対してProject instructionsを設定することはできますか?

リポジトリ経由では設定できません。この値は、ユーザー設定ファイル、--settingsファイル、または組み込みのagents-mdプラグインのID配下の管理設定に置くことができますが、「Claude Codeは、プロジェクトおよびローカルの設定ファイル内のこの設定を無視します。」代わりに、セットアップ手順書に期待される値を記載してください。