Skip to content

原文(日本語に翻訳)

ジェネレータが早期に終了した際にストリーミングAPIレスポンスバッファが解放されないメモリリークを修正。Node.js/npmコードパスでのRSSの無制限な増加を引き起こしていた問題

原文(英語)

Fixed memory leak where streaming API response buffers were not released when the generator was terminated early, causing unbounded RSS growth on the Node.js/npm code path

概要

Node.js/npmインストールのClaude Codeで発生していたメモリリークが修正されました。ストリーミングAPIレスポンスのジェネレータが早期終了した際に、レスポンスバッファが適切に解放されず、メモリ使用量(RSS)が際限なく増加する問題でした。長時間のセッションや大量のAPIリクエストを行う環境での安定性が向上します。

基本的な使い方

このバグ修正はユーザー側での操作は不要です。Claude Codeを最新版に更新することで自動的に適用されます。

bash
# npm でインストールしている場合
npm update -g @anthropic-ai/claude-code

# または
npm install -g @anthropic-ai/claude-code@latest

実践例

メモリ使用量の確認方法

修正前後のメモリ使用量を比較したい場合:

bash
# Claude Code のプロセスIDを取得
ps aux | grep claude

# メモリ使用量を監視(数秒ごとに更新)
watch -n 5 'ps aux | grep claude | grep -v grep | awk "{print \$6}" | head -1'

長時間セッションでの影響確認

修正前は長時間セッションやバッチ処理でメモリが増加し続けることがありました:

bash
# 大量のファイルを処理するタスク実行例
claude "src/**/*.ts ファイルを全て確認してバグを探してください"

# 修正後はメモリが安定して推移します

Node.js/npmインストールの確認

このバグはNode.js/npmコードパス特有の問題でした:

bash
# インストール方法を確認
which claude
# /usr/local/bin/claude など npm でインストールされている場合が対象

# バージョン確認
claude --version

注意点

  • このメモリリークはNode.js/npmコードパスでのみ発生していました(macOSネイティブバイナリは影響なし)
  • 修正は2.1.74以降のバージョンに含まれています
  • 長時間実行するスクリプトやCI/CDパイプラインでClaude Codeを使用している場合は、特に更新を推奨します
  • ストリーミングAPIを多用するワークフローでの安定性が向上しています

関連情報