0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Code v2.1.208〜v2.1.209|長時間セッションのメモリリーク一掃|毎日Changelog解説

0
Posted at

Claude Codeの公式Changelogをリリースから最速で翻訳・解説しています。

v2.1.208 は長時間つけっぱなしのセッションで積み上がっていたメモリリークをまとめて潰した回。tool 実行は最大 7 倍速く、transcript は最大 79 倍小さくなった。続く v2.1.209 は背景セッションで /model などのダイアログが開けなくなっていた回帰を戻しただけの hotfix です。

今回の注目ポイント

  1. メモリリークを総ざらい MCP stdio の stderr が最大 64MB/server 積む、LSP ドキュメントが開きっぱなしになる、といった長時間セッションの複数リークを修正 (v2.1.208)
  2. ツール実行が最大 7 倍 MCP ツールを多く積んだ print/SDK セッションで、tool-pool の組み立てをキャッシュ (v2.1.208)
  3. transcript が最大 79 倍小さく 編集の多いセッションで、上書き済みの file-history バックアップを剪定 (v2.1.208)
  4. 偽の「context 100% 使用」を修正 auto-update 直後に context window が一瞬 200k に戻り、長い履歴の再開で誤検知していた (v2.1.208)
  5. スクリーンリーダーモード追加 プレーンテキスト描画を opt-in で有効化。フラグ・環境変数・設定のどれでも切り替えられる (v2.1.208)
  6. rm -rf の抜け道が塞がる $(…) やバッククォート内の破滅的削除も、skip/auto モードで確認が出るように (v2.1.208)

長時間セッションが重くなっていた問題

v2.1.208 の変更は、その多くが長時間セッションのメモリとレイテンシに集中しています。 一日中 Claude Code をつけっぱなしにすると、メモリと描画が少しずつ重くなる。その原因がまとめて直りました。

積み上がっていたリークは 1 つではありません。

  • MCP stdio サーバの stderr がサーバあたり最大 64MB まで溜まる
  • LSP ドキュメントが開きっぱなしになる (今回から 50 件上限の LRU に)
  • backgrounding のあとも async hook の出力が保持される
  • headless/SDK セッションで大きな tool 結果が無制限に膨らむ

これに加えて、file edit の read キャッシュが最大 1,000 ファイルをまるごと保持していたのを 16MB 上限に変更。編集の多いセッションでは transcript 自体が最大 79 倍小さくなり、checkpoint のディスク使用量も上書き済みバックアップの剪定で抑えられます。

速度面の修正も入っています。MCP ツールを大量に積んだ print/SDK セッションでは、tool-pool の組み立てをキャッシュしてツールのラウンドが最大 7 倍速く。permission の deny/ask ルールが多いセッションで毎ターン数秒遅くなっていた件は、matcher を 1 回だけコンパイルしてキャッシュする形になりました。

スクリーンリーダーモードはフラグ・環境変数・設定で入れられる

# 起動フラグ
claude --ax-screen-reader

# 環境変数
CLAUDE_AX_SCREEN_READER=1

# settings.json
{ "axScreenReader": true }

スクリーンリーダー利用者向けに、プレーンテキストで描画する opt-in モードが v2.1.208 で入りました。TUI の装飾を読み上げノイズにしないための描画切り替えです。

同じ v2.1.208 で vim モードにも手が入り、vimInsertModeRemaps で insert 中の jj を Escape に割り当てる、といった 2 キー列のマップができます。

skip/auto モードでも rm -rf が止まるように

--dangerously-skip-permissions や auto モードで CI やスクリプトを回している場合、これまで素通りしていたコマンドが確認待ちで止まる可能性があります。アップデート後に一度挙動を確認してください。

rm -rf ~ のような破滅的削除は元々プロンプトの対象でした。ただしコマンドが $(…)・バッククォート・<(…) を含むと、その中身がガードをすり抜けていた。v2.1.208 でこの抜け道が塞がり、プレーンな形と同じように skip/auto モードでも確認が出るようになりました。

その他の変更

バージョン カテゴリ 変更点 概要
v2.1.209 修正 背景セッションの /model 過剰なガードを revert し、ダイアログが開くように
v2.1.208 新機能 vimInsertModeRemaps insert 中の jj → Escape など 2 キー列をマップ
v2.1.208 新機能 CLAUDE_CODE_PROCESS_WRAPPER 全 self-spawn を企業向けラッパー経由で起動
v2.1.208 改善 巨大 markdown テーブル 200 行超は先頭 200 行 +「… N more rows」表示に
v2.1.208 改善 /release-notes の Show all 全 changelog が毎リクエストの context に注入される件を修正
v2.1.208 修正 CLAUDE_CODE_MAX_OUTPUT_TOKENS 1e61 になる科学表記の取りこぼしを修正
v2.1.208 修正 fast mode 対応モデルに戻すと設定次第で自動復帰するように

まとめ

v2.1.208 は新機能より、長時間セッションのメモリ・速度・ディスクを地道に削った回でした。tool ラウンド最大 7 倍、transcript 最大 79 倍、MCP stderr 64MB 上限。続く v2.1.209 は背景セッションのダイアログを塞いでいた回帰の戻しでした。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?