Claude Codeの「/compact エラー」の原因と対処法
Claude Codeの「/compact エラー」の原因と対処法
AI開発環境として注目を集めている Claude Code(Anthropic社製)ですが、長時間の作業や大規模なプロジェクトを扱っていると、突如として以下のようなエラーに遭遇することがあります。
1 2 3 4 |
Context low · Run /compact to compact & continue > /compact ⎿ Error during compaction: Error: Conversation too long. Press esc to go up a few messages and try again. |
この記事では、このエラーの正体と安全な回避方法、再発防止のベストプラクティスまでを解説します。
Contents
原因:Claude Codeのコンテキスト履歴が上限に達している
Claude Codeは、過去の会話やファイル内容を「コンテキスト」として保持しています。しかし、この履歴が長くなりすぎると、AIが新しい応答を生成する前に「縮小(コンパクション)」が必要になります。
このとき、/compact
コマンドを実行しても、すでに履歴が限界を超えていると、コンパクション自体が失敗してしまいます。GitHubでも同様の報告(Issue #2119)が挙がっており、特に大規模プロジェクトやAIチャットベースの開発で頻発しています。
対処法1:セッションを新規に立ち上げる
もっとも確実で簡単な対処は、現在のセッションを閉じて新しく始めることです。Claude Codeは会話ベースで動作しているため、新規セッションに切り替えることで履歴がリセットされ、再び快適に作業が行えます。
- 「Stop」や「Close」ボタンで現在のRunを終了
- 「New Run」や「New Session」で再開
対処法2:/clear コマンドで手動リセット
/clear
は会話履歴を手動でクリアするコマンドです。/compact
が失敗する場合でも、/clear
なら実行できることがあります。
対処法3:Escキーで戻る(動作が不安定な場合あり)
Claude Codeの案内に従ってEscキーで数メッセージ上に戻ることで、圧縮が再試行されることもあります。ただし、環境によってはEscが効かない場合もあるため、万能とは言えません。
再発防止のベストプラクティス
- 会話を短く分割する:機能単位やファイル単位でRunを切る
- ログや巨大ファイルを除外する:
.claudeignore
でnode_modules
やbuild
フォルダなどを除外 - 要約.md 形式で履歴を圧縮する:「ここまでの内容をMarkdownで要約して保存→/clear→要約を再読み込み」
- プロンプトや出力を小分けにする:一度に巨大なコードや指示を送らない
まとめ
Claude Codeは非常に強力なAI開発環境ですが、その内部では「トークン制限」や「会話履歴」が常に制約になります。今回紹介した方法を使えば、エラーに陥ってもすぐに復旧でき、再発も防げるようになります。
特にAIと連携したソフトウェア開発や大規模なコード生成を行う場合は、「セッションを適切に分ける」「ログを除外する」といった習慣が生産性に大きく影響します。
今後もClaude Codeを活用している開発者の皆さんに役立つTipsを発信していきます!
ディスカッション
コメント一覧
まだ、コメントがありません