まず確認すること — Claude Code本体を最新版に更新し、/compactでコンテキストを削る
Claude Codeのメモリが肥大化したとき、最初に疑うべきはCLAUDE.mdや設定ではなく、本体のバージョンとコンテキスト量です。自動アップデートのダウンロード中に大量のメモリを消費する不具合はユーザーから報告されており(GitHub issue #33480、クローズ済み)、巨大なテーブルの再レンダリングで再開時に固まる問題(v2.1.208より前)はドキュメントで修正済みと確認できます。まずは最新版(2.1系)へ更新してください。それだけで収まることがあります。
次に、会話とファイルを保持する「コンテキストウィンドウ」を削ります。/compactで圧縮し、不要になったら/clearで捨てる。大規模タスクの合間にはClaude Code自体を一度閉じて再起動すると効きます。ビルド生成物のディレクトリを.gitignoreに加えておけば、走査対象から外れて負荷が下がります。コンテキスト側の詰まりが疑わしいときはContext lowが出たときの確認ポイントも参照してください。
それでも減らないとき — –safe-modeと/heapdumpで原因を特定する
ここまでで高止まりするなら、原因がカスタマイズかリークかを切り分けます。まず--safe-modeで外部要因を除外し、それでも減らなければ/heapdumpで中身を見る。コストの低い操作から試すのが定石です。
プラグイン・MCPサーバー・hookが原因かを–safe-modeで切り分ける
claude --safe-modeで起動すると、プラグイン・MCPサーバー・hook(特定のタイミングで自動実行される仕組み)といった、そのセッションのカスタマイズがすべて無効になります。これで使用量が下がれば、犯人は素のClaude Codeではなくカスタマイズ側です。どれが原因かは設定を一つずつ戻して特定します。逆に--safe-modeでも変わらなければカスタマイズは無関係と判断し、次の/heapdumpへ進みます。
報告済みの肥大化パターンと、-diagnostics.jsonだけを添えて報告する手順
/heapdumpを実行すると、JavaScriptヒープのスナップショットとメモリ分析が~/Desktop(Linuxでデスクトップがなければホームディレクトリ)に書き出されます。増加分がJavaScriptオブジェクトなのか、説明のつかないネイティブメモリなのかは、ここで判別できます。保持者を追いたければ.heapsnapshotをChrome DevToolsの Memory → Load で開きます。
GitHubへ報告するときは、添付するファイルを間違えないでください。
-diagnostics.json … 統計のみ。これだけを添付する
.heapsnapshot … 全文字列を含む。公開厳禁
.heapsnapshotにはプロセス内の全文字列が入り、会話内容や認証情報まで含みうるため、公開のissueに添付してはいけません。添付してよいのはメモリ統計だけの-diagnostics.jsonです。数十GB規模まで膨らむ症状は過去に複数報告されており(多くはクローズ済み、複数のIntelliJプロジェクト併用時の高消費は未クローズ)、既知の問題です。報告の前に既存issueを確認しましょう。
EC-CUBE公式パートナー