Claude Code 2.1.88 リリース:多数のバグ修正と機能改善
Claude Code 2.1.88では、フリッカーフリーレンダリングや新しいフック機能の追加に加え、Windows環境・音声モード・長期セッションにまたがる広範なバグ修正が行われました。
背景
本リリースは単一の機能追加ではなく、実運用で発見された問題の修正を中心とした改善リリースです。修正対象は長期セッションでのメモリ管理、Windows環境の互換性、フック機能の動作精度、UIのレンダリング品質など多岐にわたります。変更の広さから、日常的にClaude Codeを使用するエンジニアが遭遇しやすい問題が優先的に対処されていることが読み取れます。
技術的な変更
新機能
本バージョンでは3つの新機能が追加されました。
CLAUDE_CODE_NO_FLICKER=1 環境変数を設定することで、仮想スクロールバックを使用したフリッカーフリーのオルタネートスクリーンレンダリングをオプトインできます。これはtmuxやiTerm2など複数のターミナルエミュレータで発生していた描画ちらつきへの対処です。
PermissionDeniedフックが新たに追加されました。オートモードのクラシファイアが拒否した後に発火し、{retry: true} を返すことでモデルにリトライを指示できます。これにより、自動拒否の後処理をプログラマブルに制御できるようになります。
@ メンションの候補補完に名前付きサブエージェントが表示されるようになりました。
長期セッションの安定性改善
長期セッションで蓄積する問題が複数修正されました。ツールスキーマのバイト数がセッション中に変化することでプロンプトキャッシュがミスしていた問題が解消されます。また、多数のファイルを読み込む長期セッションで CLAUDE.md が数十回再インジェクトされていたバグも修正されています。
メモリ管理面では、大きなJSONインプットがLRUキャッシュのキーとして保持され続けるメモリリークが修正されました。さらに、Editツールを1GiB超のファイルに使用した際のOOMクラッシュ、50MB超のセッションファイルからのメッセージ削除時のクラッシュも修正されています。
Windows環境の修正
Windows固有の問題が集中的に修正されています。
- Edit/WriteツールがWindowsでCRLFを二重にしたり、Markdownのハードラインブレーク(末尾スペース2つ)を除去する問題
-
PowerShellツールが
git pushなどのコマンドでstderrに進捗を書き込む際に誤って失敗と報告する問題(Windows PowerShell 5.1) - Windows Terminal Preview 1.25でShift+Enterが改行挿入ではなくサブミットとして扱われる問題
- 音声モードでWebSocketアップグレードが「HTTP 101」で拒否される問題
また、PowerShellツールのプロンプトがバージョン(5.1 vs 7+)に応じた適切な構文ガイダンスを提供するよう改善されました。
フック機能の精度向上
フックの if 条件フィルタリングが、ls && git push のような複合コマンドや FOO=bar git push のような環境変数プレフィックス付きコマンドにマッチしない問題が修正されました。また、Write/Edit/Readツールに対してPreToolUse/PostToolUseフックが file_path を絶対パスとして提供するよう修正されています。
UIとレンダリングの修正
ターミナルUIに関連する修正も多く含まれます。長期セッションでのスクロールバック消失、並列ツール使用時のバッジ重複表示、/btw の長いレスポンスがスクロール不可でクリップされる問題、デーヴァナーガリーや結合文字テキストのトランケートなどが修正されました。
/stats コマンドでは、30日を超える履歴データがキャッシュフォーマット変更時に失われる問題と、サブエージェント/フォークの使用量が集計から除外されトークン数が少なく表示される問題が修正されています。
その他の動作変更
Thinkingサマリーはインタラクティブセッションでデフォルト非生成になりました。以前の動作に戻すにはsettingsで showThinkingSummaries: true を設定する必要があります。/env 設定がPowerShellツールのコマンドにも適用されるようになり(従来はBashのみ)、CJK・絵文字を含むプロンプト履歴エントリが ~/.claude/history.jsonl の4KBバウンダリ上に位置する際にサイレントに削除されていた問題も修正されました。
設計判断
フリッカーフリーレンダリングをオプトイン方式にした点は注目に値します。仮想スクロールバックを用いた新しいレンダリング方式は全環境で安全と確認されていないため、CLAUDE_CODE_NO_FLICKER=1 という明示的なオプトインを要求することで、デフォルトの動作を変えずに段階的な展開を可能にしています。
PermissionDenied フックの設計においては、{retry: true} を返すというシンプルなインターフェースを採用することで、既存のフックシステムと一貫したパターンを維持しています。フック機構の拡張点として自動拒否への介入を可能にしつつ、インターフェースの複雑さを最小限に抑えた判断です。
まとめ
Claude Code 2.1.88は、新機能の追加よりも実用品質の向上に重点を置いたリリースです。特にWindows環境・長期セッション・フック機能の信頼性向上は、エンタープライズ環境での実用的な利用を支える改善として重要な意味を持ちます。