Claude Code のエラー

Error during compaction: Conversation too long

結論

会話が長すぎて圧縮すらできない状態。/compact では解消せず /clear が要る。

確認した版 Claude Code v2.1.214
確認日 2026年8月21日
最終更新 2026年8月21日
根拠 一次情報で確認

エラー文字列

Claude Code
Error during compaction: Conversation too long

何が起きているか

会話の圧縮(compaction)そのものが失敗しました。

⚠️ 圧縮は「会話の内容を読んで要約する」処理です。 つまり圧縮するにも、いま溜まっている会話をモデルに読ませる必要があります。会話が長くなりすぎると、その要約作業自体がコンテキストに収まらなくなり、圧縮できなくなります。

ここが重要です。行き詰まっている状態なので、/compact を何度打っても状況は変わりません。

似たメッセージとの区別

表示 状態 /compact で直るか
Context limit reached · /compact or /clear to continue コンテキストが上限に達した ✅ 直る
Prompt is too long · automatic compaction failed: 自動圧縮に失敗した △ 手動で試す価値はある
Error during compaction: Conversation too long 圧縮すら不可能 直らない。/clear が必要

直し方

1. 会話をリセットする

このエラーが出た時点で、その会話は続行できません。

/clear

⚠️ 作業の文脈は失われます。 リセットする前に、次を済ませてください。

  • 途中まで書いたコードをファイルに保存する
  • 決めた方針や制約を CLAUDE.md などに書き出す
  • 次のセッションで再開できるよう、現在地を1〜2行でメモする

CLAUDE.md に前提を書いておくと、リセット後も同じ文脈で再開できます。 長い会話でやり取りした結論を、そのつどファイルに落としておく運用が最も効きます。

2. 作業を分割する

このエラーは、1つのセッションに詰め込みすぎているサインです。

やりがちなこと 分け方
1セッションで機能をまるごと実装 設計 → 実装 → テスト でセッションを分ける
大量のファイルを読ませてから作業を始める 触る範囲だけ読ませる
試行錯誤の履歴をそのまま引きずる 方針が決まった時点で一度リセットし、結論だけを渡し直す
長いログやデータを会話に貼る ファイルに置いて、パスだけを渡す

とくに最後が効きます。 ログやJSONを会話に直接貼ると、その全文がコンテキストに残り続けます。ファイルに保存して読ませれば、必要な部分だけを扱えます。

3. こまめに圧縮する

行き詰まる前に手を打つのが本質的な対処です。

/compact

区切りのよいタイミング(1つの機能が終わった、方針が決まった)で実行しておくと、この状態に陥りません。

4. コンテキストの残量を確認する

/context

現在の使用量が確認できます。⚠️ Context exceeds the ...-token limit by ... tokens と出ていたら、すでに危険域です。

5. 大きなコンテキストのモデルに切り替える

/model

より大きなコンテキストを持つモデルに変えると余裕ができます。

⚠️ [1m] が付いたモデルは従量課金です。 プランに含まれていない場合は Usage credits required for 1M context が出ます。切り替える前に確認してください。

そして、大きくしても根本解決にはなりません。 上限が遠のくだけで、詰め込み続ければ同じ場所に着きます。

再発防止

  • 決まったことは会話ではなくファイルに置く。 CLAUDE.md や設計メモに落としておけば、リセットしても失われません
  • ログ・データ・長い出力を会話に貼らない。 ファイルに保存してパスを渡す
  • 区切りのいいところで /compact行き詰まってからでは手遅れです
  • 1セッション=1つの目的。目的が変わったら /clear して始め直したほうが、結果的に速く終わります
  • /context を時々見る。残量を把握していれば、突然詰まることはありません

この手順で直りませんでしたか?

環境を添えて報告いただければ、追加の原因を検証してこのページに反映します。

エラーを報告する