AI最新ニュース 2026.06.04

Claude Codeでセッション中にCLAUDE.mdのルールが消える「コンパクション」問題【2026年版】

タグ:Claude Code / CLAUDE.md / コンパクション / トラブルシューティング / 生成AI

TL;DR

  • Claude Codeは会話が長くなると「コンパクション(会話の圧縮)」を自動で実行し、その際にCLAUDE.mdに書いたルールがセッション内で消えてしまう現象が報告されています。
  • 影響を受けるのはClaude Codeを使って長い作業セッションを続けているすべてのユーザーで、コーディング規約や出力形式などの指示が途中から無視される原因になります。
  • 2026年6月4日時点の最新バージョン v2.1.162 のリリースノートでもコンパクション関連の修正が継続して行われており、根本的な問題への対応が続いています。

コンパクションとは何か

Claude Codeは、ターミナル上でClaudeと会話しながらコードを書いたり修正したりできるツールです。会話のやり取りを重ねると、その内容が積み重なって「文字数の上限(コンテキストウィンドウ)」に近づいていきます。

この上限に近づいたとき、Claude Codeは会話の内容を自動的に要約・圧縮して続きを話せるようにします。この処理をコンパクションと呼びます。

コンパクションは会話を続けるために必要な仕組みですが、問題はその圧縮の過程でCLAUDE.mdに書いておいたルールや指示が「要約済み」として扱われ、実質的に忘れられる点にあります。

CLAUDE.mdとコンパクションの関係

CLAUDE.mdはプロジェクトのルートや特定のディレクトリに置くことで、Claude Codeが自動的に読み込む設定ファイルです。コーディングスタイルの指定、使用する言語、禁止事項、出力形式など、さまざまなルールをあらかじめ書いておけます。

セッション開始直後はCLAUDE.mdの内容がきちんと反映されます。しかしセッションが長引いてコンパクションが走ると、圧縮後の「要約」にはCLAUDE.mdの細かいルールが完全には引き継がれない場合があります。その結果、「最初はちゃんと守ってたのに途中から無視される」という現象が起きます。


現象の具体的なパターン

コンパクション後にルールが消えると、次のような形で気づくことが多いです。

  • セッション序盤は指定した言語(例:TypeScript)で書いていたのに、途中からJavaScriptに戻る
  • コメントを日本語で書くよう指定していたのに英語に切り替わる
  • 特定のライブラリを使わないよう指定していたのに使われ始める
  • 出力フォーマット(JSONの構造など)が途中から変わる

これらはすべて、コンパクションのタイミングでCLAUDE.mdの内容が薄れることが原因と考えられます。


v2.1.162での対応状況

GitHubのリリース履歴を確認すると、v2.1.162(2026年6月時点の最新)を含む複数のバージョンでコンパクション関連の修正が継続して入っています。

公式のリリースノート(https://github.com/anthropics/claude-code/releases/tag/v2.1.162)では、このバージョンで各種バグ修正と安定性の向上が図られていることが示されています。コンパクション処理そのものは会話を続けるために不可欠な機能であるため、完全に無効化するのではなく、動作の改善という形でアップデートが続いている状況です。

現時点では「コンパクションが発生してもCLAUDE.mdの内容が完全に保持される」という保証はなく、ユーザー側での対策が引き続き有効です。


既存ユーザー・既存システムへの影響

影響を受けやすいケース

長時間の連続セッションを行うユーザーほど影響を受けます。コンテキストウィンドウの上限に近づくほどコンパクションは発生しやすくなります。

また、CLAUDE.mdに細かいルールを多数記述しているプロジェクトほど、コンパクション後の「ルール抜け」が目立ちます。ルールが多いほど圧縮時に落ちやすいルールが増えるためです。

影響が出にくいケース

短いセッションで作業を区切り、こまめに新しいセッションを始めているユーザーはコンパクションが発生しにくいため、この問題の影響を受けにくいです。


必要な対応・現時点での回避策

根本的な修正はAnthropicによるアップデートを待つことになりますが、現時点でユーザー側が取れる対策をまとめます。

対策1:Claude Codeを最新バージョンに保つ

コンパクション関連の修正は継続的にリリースされているため、まず最新版に更新することが基本です。

npm update -g @anthropic-ai/claude-code

バージョンを確認するには次のコマンドを使います。

claude --version

対策2:セッションを短く区切る

コンパクションはコンテキストウィンドウが埋まりそうなときに発生します。作業を小さな単位に分けて、セッションをこまめに再起動することで発生頻度を下げられます。

# セッション終了後、新しいセッションで再開
claude

新しいセッションを始めるとCLAUDE.mdは再度読み込まれるため、ルールがリセットされた状態でスタートできます。

対策3:CLAUDE.mdの記述を整理・優先順位をつける

ルールが多いほどコンパクション時に落ちやすくなる可能性があります。CLAUDE.mdには絶対に守ってほしいルールだけを残し、優先度の低い補足情報は削除することで、圧縮後も重要ルールが残りやすくなります。

# CLAUDE.md の記述例(シンプルに絞る)

## 必須ルール
- コードはTypeScriptのみ使う
- コメントは日本語で書く
- 外部ライブラリは package.json に記載のものだけ使う

ルールを箇条書きで簡潔にまとめると、要約されても意味が残りやすいと考えられます。

対策4:セッション中にルールを再提示する

コンパクション後にルールが消えたと感じたら、チャット内で改めてルールを伝えると、その後のやり取りには反映されます。

これ以降、コメントは日本語で書いてください。また TypeScript のみ使ってください。

根本解決ではありませんが、作業を止めずに続けられます。

対策5:/memory コマンドでメモリを確認する

Claude Codeには /memory コマンドがあり、現在のセッションでClaudeが保持しているメモリの内容を確認できます。コンパクション後にCLAUDE.mdの内容が残っているかどうかをここで確認できます。

/memory

内容が失われていた場合は、上の対策4のようにチャットで再提示します。


背景:Uber社のClaude Code利用制限との関連

2026年6月時点では、Uber社がClaude CodeなどのAIツールの利用をコスト管理の観点から制限しているという報告もあります(Simon Willison氏のブログ経由)。長いセッションはそれだけ多くのトークン(文字数)を消費し、コストが増加します。コンパクションはそもそもコスト効率を高める目的もある機能であり、企業レベルでのAIツール活用においてもコスト管理が現実的な課題になっていることがわかります。

CLAUDE.mdのコンパクション問題は、ユーザー個人の不便さにとどまらず、組織がClaude Codeを業務に組み込む際の信頼性上の懸念点にもなります。ルールが途中で消えると、レビューなしでコードが意図と異なる形で生成され続けるリスクがあるためです。


関連リンク


あわせて読みたい

参考ソース