Claude Codeの「/compact エラー」の原因と対処法

Claude Codeの「/compact エラー」の原因と対処法

AI開発環境として注目を集めている Claude Code(Anthropic社製)ですが、長時間の作業や大規模なプロジェクトを扱っていると、突如として以下のようなエラーに遭遇することがあります。

この記事では、このエラーの正体と安全な回避方法、再発防止のベストプラクティスまでを解説します。



原因: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を切る
  • ログや巨大ファイルを除外する.claudeignorenode_modulesbuild フォルダなどを除外
  • 要約.md 形式で履歴を圧縮する:「ここまでの内容をMarkdownで要約して保存→/clear→要約を再読み込み」
  • プロンプトや出力を小分けにする:一度に巨大なコードや指示を送らない

まとめ

Claude Codeは非常に強力なAI開発環境ですが、その内部では「トークン制限」や「会話履歴」が常に制約になります。今回紹介した方法を使えば、エラーに陥ってもすぐに復旧でき、再発も防げるようになります。

特にAIと連携したソフトウェア開発や大規模なコード生成を行う場合は、「セッションを適切に分ける」「ログを除外する」といった習慣が生産性に大きく影響します。

今後もClaude Codeを活用している開発者の皆さんに役立つTipsを発信していきます!

最後までお読みいただきありがとうございます。
よろしければブログやTwitterでのシェアをお願いしております。
コメントもお待ちしております。
誤植や勘違いなどございましたらコメント欄にて教えていただけると幸いです。

ITパスポート、基本情報技術者、応用情報技術者などIPAが提供する国家資格の過去問を学べるモバイルアプリをリリースしました。
詳しくは下記のプレスリリースをご覧ください。
https://prtimes.jp/main/html/rd/p/000000008.000073303.html

Youtubeチャンネル開設いたしました。
チャンネル登録者10,000人を目指しているので、良いと思った方はチャンネル登録をお願いしたいです。
https://www.youtube.com/channel/UC219XhmSRxmXltTy6COxSMw






Claude Code

Posted by ちこ