Claude Code 2.1.132 リリース — 大規模バグ修正とターミナル操作性の改善
Claude Code 2.1.132では、ターミナル操作・セッション管理・MCP連携にまたがる30件超のバグ修正と機能追加が行われた。特にターミナルレンダリングの堅牢性と、エッジケースにおけるセッション継続性の向上が目立つリリースとなっている。
背景
今回のリリースは単一の機能追加ではなく、複数のサブシステムにわたる不具合の集中的な修正を主眼としている。ターミナルエミュレータの差異吸収、Unicode処理の正確性、セッション再開時の状態復元という3つの領域で問題が顕在化しており、それぞれに個別の対処が施された。
特に注目すべきは、ターミナル環境の多様性(Cursor、VS Code、JetBrains、Windows Terminal、iTerm2など)に起因する動作差異への対応が多数含まれている点で、Claude Codeが広範なIDE・ターミナル環境で利用されるようになったことを反映している。
技術的な変更
新機能の追加
今回のリリースでは、運用・UX面での3つの機能追加が行われた。
CLAUDE_CODE_SESSION_ID 環境変数がBashツールのサブプロセス環境に追加され、フックに渡される session_id と同じ値が利用できるようになった。これにより、Bashツール内のスクリプトからセッション識別子を参照できる。CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1 環境変数も新設され、フルスクリーンの代替スクリーンレンダラーを無効化してターミナルネイティブのスクロールバックを維持できるようになった。また、Ctrl+Vによる画像ペースト読み込み中に「Pasting…」フッターヒントが表示されるようになり、処理中の視覚フィードバックが改善された。
セッション管理・シグナルハンドリングの修正
セッションの継続性に関わる複数のバグが修正された。外部からの SIGINT(IDEのStopボタンや kill -INT など)でグレースフルシャットダウンが実行されず、ターミナルモードが未復元のまま突然終了していた問題が修正された。シャットダウン時にターミナルモードが適切に復元され、--resume ヒントが表示されるようになっている。
--resume 使用時に no low surrogate in string エラーで失敗する問題も解消された。ツールエラーのトランケーション処理が絵文字の途中でサロゲートペアを分断してしまうケースが原因で、セッションロード時に既存の破損データをサニタイズする処理が追加された。さらに、--permission-mode フラグがプランモードセッションを -p --continue/--resume で再開した際に無視される問題と、同一セッション内で ExitPlanMode 後にプランモードが再適用されない問題も修正された。
ターミナルレンダリングの修正
フルスクリーンモードでのレンダリング品質に関する修正が複数含まれている。ラップトップのスリープ/ウェイク復帰後やCtrl+Z/fg 操作後にブランク画面が表示される問題が修正され、次のキー入力やストリーム出力まで待たなくても画面が正常に描画されるようになった。
Unicode処理の精度も向上した。Ctrl+E/A/K/U/矢印キー使用時に Indic合字(conjunct) やZWJ絵文字が行をまたいで折り返す場合にカーソルがグラフェームクラスタの途中に着地していた問題、およびvimオペレーターが NFD(分解済み正規形) のアクセント付き文字を含むテキストを破壊していた問題が修正された。いずれも、ターミナル上でのマルチバイト文字・合成文字の扱いに起因するエッジケースである。
ペースト処理の修正
/ で始まるテキストのペーストが入力を無音で飲み込むか未知のコマンド応答を返していた問題が修正された。また、ブラケットペースト 処理中にフォーカスイベントやマウストラッキングレポートが割り込むと、プロンプトにエスケープシーケンスが混入していた問題も解消された。
IDE・ターミナル固有の互換性修正
特定環境向けの互換性修正も複数行われた。Cursor および VS Code 1.92〜1.104 でのマウスホイールスクロールが xterm.js の上流バグ に起因して過速になっていた問題、JetBrains IDE 2025.2 のターミナルでのスクロールホイール処理(不正な矢印キー送出・逆方向イベント・暴走加速)が修正された。macOSの iTerm2 や Terminal.app のデフォルト設定(「Option as Meta」未設定)では Alt+T(思考トグル)が機能しない問題も解消されている。
その他の修正
スラッシュコマンド・状態表示系のバグも複数修正された。主なものは以下の通り:
-
/usageの Ctrl+S がLinux/X11環境でクリップボードへのスクリーンショットコピー時にハングする問題 -
/terminal-setupがWindows Terminalで矛盾したエラーを表示する問題(Shift+Enterはネイティブサポート済み) -
/effortピッカーがCLAUDE_CODE_EFFORT_LEVEL環境変数のオーバーライドを反映しない問題 -
/statusが一部ユーザーで誤ったデフォルトモデルを表示する問題 - スラッシュコマンドオートコンプリートポップアップが3〜5件に上限固定され、ターミナル高さに応じてスケールしない問題
- ステータスラインの
context_windowトークンカウントが現在のコンテキスト使用量ではなくセッション累積合計を反映していた問題 -
claude agentsからバックグラウンドセッションを再開した後にWindowsでキーボード入力が無反応になる問題
MCP連携の修正
MCP(Model Context Protocol) サーバー関連の2件の修正が含まれる。stdio MCPサーバーがプロトコル外のデータをstdoutに書き込んだ場合にメモリが無制限に増大し(10GB以上のRSS)、プロセスが肥大化する問題が修正された。また、MCPサーバーが接続後に tools/list に失敗した場合、ツール数が0件としてサイレントに扱われていたが、一度リトライした上で /mcp に「connected · tools fetch failed」と表示されるようになった。さらに、未認証の claude.ai MCPコネクタが「failed」ではなく「needs auth」と表示されるよう改善され、ヘッドレス -p モードが非一時的な4xx接続失敗をリトライしなくなった。
あわせて、ENABLE_PROMPT_CACHING_1H 設定時にBedrockおよびVertexで発生していた400エラーも修正された。
設計判断
セッション破損への対応として、ロード時のサニタイズという防衛的修復(defensive repair)アプローチが採用された点が注目される。サロゲートペアが破損したセッションファイルに対して書き込み時の修正ではなく読み込み時の修復を行うことで、すでに存在する破損データも救済できる設計になっている。
MCPのメモリリーク修正では、プロトコル外データを無制限にバッファリングするのではなく、入力ストリームを適切に制御することで上限なしのメモリ増大を防ぐ方向での修正が行われていることが変更内容から読み取れる。10GB超のRSSという具体的な数値がCHANGELOGに記載されていることは、本番環境での実際の障害として認識されていたことを示している。
まとめ
バージョン2.1.132は、多様なターミナル・IDE環境での品質底上げと、長時間セッション・再開時の信頼性強化を中心としたリリースである。Unicode処理・シグナルハンドリング・MCP連携といった低レイヤーの問題に集中的に対処したことで、Claude Codeが本番ツールとして利用される際の安定性が向上している。