Skip to content

原文(日本語に翻訳)

完了したタスクの出力がメモリから解放されないメモリリークを修正し、多数のタスクを持つ長いセッションのメモリ使用量を削減しました。

原文(英語)

Fixed a memory leak where completed task output was not freed from memory, reducing memory usage in long sessions with many tasks

概要

Claude Codeで実行したタスク(コマンド実行、ファイル操作など)の出力データが、タスク完了後もメモリから解放されない問題が修正されました。多数のタスクを実行する長時間セッションでは、この問題によりメモリ使用量が増加し続けていました。修正後はタスク完了後に出力データが適切に解放されます。

基本的な使い方

この修正は自動的に適用されます。多数のタスクを実行するセッションで効果が現れます。

bash
# 多数のタスクを実行するセッション
claude

> リポジトリ全体のテストを実行して(テスト出力がメモリに保存)
# テスト完了 → 出力が解放される

> ビルドを実行して最適化して(ビルド出力がメモリに保存)
# ビルド完了 → 出力が解放される

# 前のタスクの出力がメモリに残らない
> 次のタスクを実行して

実践例

ユースケース1: テストスイートの継続的実行

大量のテスト出力を生成するセッション。

bash
claude

> 全テストスイートを実行してレポートを生成して
# 数千行のテスト出力 → テスト完了後にメモリ解放

> 失敗したテストを修正して再実行して
# 再度のテスト出力 → 完了後にメモリ解放

> カバレッジレポートを生成して
# カバレッジ出力 → 完了後にメモリ解放

# 修正前: 各テスト実行の出力がメモリに蓄積
# 修正後: 完了後に解放され安定

ユースケース2: CI/CDパイプラインのような大量タスク処理

多数の独立したタスクを順番に実行する場合。

bash
claude

# 複数の検証タスクを順番に実行
> ESLintを実行して全ての警告を修正して
# ESLint出力 → 解放

> TypeScriptのコンパイルを実行してエラーを修正して
# tsc出力 → 解放

> セキュリティ脆弱性スキャンを実行して
# npm audit出力 → 解放

> パフォーマンステストを実行して結果を分析して
# パフォーマンステスト出力 → 解放

# 各タスクの出力が解放されてメモリが安定

ユースケース3: 並行バックグラウンドタスク

複数のバックグラウンドタスクが完了する場合。

bash
claude

# バックグラウンドタスクを起動
> @analyzer フロントエンドのコードを分析して
> @tester バックエンドのテストを実行して
> @builder プロジェクトをビルドして

# 各タスクが完了するとその出力がメモリから解放される
# 修正前: すべての完了タスクの出力が残り続けた

注意点

  • この修正はタスクの「出力データ」に関するものです。タスクの「状態情報」は別の修正(AppStateのクリーンアップ)で対応されています。
  • タスク出力はClaudeが参照し終わった後に解放されます。実行中のタスクの出力はメモリに保持されます。
  • この修正とTaskOutput関連の別の修正(TaskOutput retained recent lines after cleanup)は異なる問題に対処しています。
  • v2.1.50では複数のメモリリーク修正が同時に行われており、相乗効果で長時間セッションの安定性が向上しています。

関連情報