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.237〜v2.1.238|長時間セッションのメモリリークが直る|毎日Changelog解説

0
Posted at

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

サブエージェントを何度も回しながら同じセッションを開けっぱなしにしていると、メモリが増え続けていた。v2.1.238 でこれが止まり、直近の表示ウィンドウから外れたツール結果は解放されるようになった。同じリリースには Remote Control 関連の修正が 10 行並んでいる。

効いてくる変更

変更 何が変わるか バージョン
長時間セッションのメモリ解放 サブエージェントのツール結果が表示ウィンドウを出た時点で解放 v2.1.238
headersHelper プラグインと MCP のヘッダーをコマンドで都度発行 v2.1.238
Remote Control の一括修正 消えるメッセージ・切れる接続・届かない Stop がまとめて修正 v2.1.238
Ctrl+L の二度押し /clear 廃止 全画面の Ctrl+L と Cmd+K は再描画のみ v2.1.238
プロンプトキャッシュ LLM ゲートウェイ・カスタム base URL 経由で効いていなかった v2.1.237
Concise 出力スタイル 前置きと実況を省いて結果から返す組み込みスタイル v2.1.237

1 日開けっぱなしのセッションでメモリが膨らんでいた

サブエージェントのツール結果が、画面から消えたあとも解放されずに残り続けていました。 v2.1.238 では、直近の表示ウィンドウから外れた時点で解放されます。会話が伸びるほど積み上がる作りだったので、上限なくメモリを食う挙動。

影響が出るのは、朝から晩まで同じセッションを開いたまま Task を何度も投げる使い方。タスクごとに claude を立ち上げ直していれば、プロセスが終わるたびに解放されるため表面化しません。

対象読者: 1 つのセッションを長時間維持したまま、その中でサブエージェントを繰り返し呼んでいる人。

出力スタイルが 2 バージョンにまたがって動いた

v2.1.237 で組み込みの出力スタイル「Concise」が追加。前置きと実況を省いて結果から書き始める挙動で、作業の丁寧さ自体は落とさない、と原文には書かれています。/config の Output style から選択。

Added a built-in "Concise" output style: Claude leads with results and skips preamble and narration, while doing the work just as thoroughly.

v2.1.238 では、カスタム・プロジェクト・プラグインの出力スタイルがセッション途中で既定の口調に戻ってしまう不具合が直りました。スタイルを自作している場合、長い会話の後半だけ指定が効いていない状態になっていたもの。

headersHelper でヘッダーをコマンドから発行する

claude plugin install my-plugin
# headersHelper のコマンドが表示され、[y/N] の確認が入る

claude plugin install my-plugin -y

v2.1.238 のプラグインマーケットプレイスに headersHelper が入りました。url マーケットプレイスやカタログエントリに書いておくと、カタログ取得と同一オリジンのアーカイブ取得の前にコマンドが走り、HTTP ヘッダーを生成します。短命トークンをその場で発行して載せる、というのが原文に挙がっている例。カタログエントリ側の headersHelper が走るのはインストールと更新のときだけで、実行前にコマンドの中身が表示される作りになっています。

プロジェクトの .mcp.json に書いた headersHelper、および project や --add-dir の agent ファイルに書いたインライン MCP サーバーは、そのフォルダの信頼ダイアログを承認済みでないと動きません。claude -p でも同じ扱いです。

MCP 側の headersHelper は、プロジェクトの .mcp.json・プラグイン・agent ファイル由来であれば、認証情報系の環境変数を引き継がずに実行されます。user / managed / claude.ai スコープのヘルパーは Claude の設定ディレクトリで実行。あわせて、stdio の MCP サーバーが initialize より先に server/discover を受け取り、遅延起動のサーバーがセッションを開くたびにバックエンドを立ち上げていた問題も直っています。

Remote Control は修正の塊

直った症状 修正後の挙動
Web / Desktop からターン中に送ったメッセージが、ターン終了後にトランスクリプトから消える 消えずに残る
端末に表示されるモデル名が、スマホや Web でのモデル変更に追従しない 追従する
短いネットワーク断で「login expired」と出て切断される リトライして接続を維持
プロセスが落ちたセッションが claude remote-control の再起動まで使えない 次にメッセージを送った時点で再利用
タスクパネルの個別 Stop が CLI ホストのセッションで無反応 効く
claude remote-control 起動のセッションが、起動シェルのセッション環境変数を引き継ぐ 引き継がない
ListAgents / SendMessage が server モードや Desktop / IDE ホストで「not connected」を返す Remote Control のピアを列挙して到達できる

セッション間メッセージは、失敗が送信元に届くようになりました。crossSessionInbound: "refuse" のように受信を拒否している相手へ送ると「refused」が返り、レート制限やキュー溢れで相手の受信箱がメッセージを捨てた場合も送信元に伝わります。どちらも以前は黙って成功扱い。

全画面の Ctrl+L から二度押し /clear が消えた

v2.1.238 で、全画面表示の Ctrl+L と Cmd+K は常に再描画だけを行うようになりました。二度押しで /clear が走るショートカットは削除されています。1 行しかない nvim ターミナルで /clear が自動的に連発される問題も、これで止まります。

keybindingFlavor 設定も追加されました。"readline" にすると、プロンプト上の Ctrl+W が Bash と同じく直前の空白まで削除する挙動に変わります。既定の "classic" は変更なし。

ゲートウェイとプロキシ越しの環境

v2.1.237 で、LLM ゲートウェイやカスタム base URL を挟んだセッションのプロンプトキャッシュが直りました。キャッシュが乗らないまま毎ターン投げ直していた分、レイテンシとトークン消費の両方に出ていた部分。v2.1.238 では /model/effort のキャッシュミス警告が、プロンプトキャッシュの期限切れ後にも表示されていた件も直っています。

self-hosted runner にはフラグが増えました。

フラグ 挙動
--proxy-authorization-command / --proxy-authorization-file 接続ごとに新しい Proxy-Authorization ヘッダーを求める egress プロキシ向け
--defer-shutdown-max-min <minutes> SIGTERM 後もアタッチ中のセッションを指定分だけ維持し、残りを park して終了

v2.1.238 は 39 行中 23 行が Fixed

v2.1.238 の changelog は 39 行、そのうち Fixed で始まる行が 23 行。修正先は Remote Control と、セッションを長く維持したときの挙動に寄っています。新設定は keybindingFlavor と self-hosted runner の 2 系統だけで、v2.1.237 は 2 行、プロンプトキャッシュの修正と Concise 出力スタイルの追加。

前回: Claude Code v2.1.236|.env を deny してもリネームで読めていた|毎日Changelog解説

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?