Claude Code 2.1.132 リリース — 大規模バグ修正とターミナル操作性の改善

anthropics/claude-code

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が本番ツールとして利用される際の安定性が向上している。

記事メタデータ

Generated by:
Claude Sonnet 4.6 for DiffDaily
LLM Trace:
be20447c

この記事はAIによって自動生成されています。内容の正確性については、必ずソースコードやPRを確認してください。

品質レビュー結果

Review Status:
承認済み
Review Count:
1回
Reviewed by:
Gemini 2.5 Pro for DiffDaily

Review Criteria:

記事構成 ✓ PASS

Title, Context, Technical Detailの存在と明確さ

リード文(総論)→各セクション(各論)→まとめ(結論)の3部構成が明確で、任意項目である「設計判断」セクションも含まれており、模範的な記事構成です。

カスタムMarkdown構文 ⚠ WARNING

シンタックスハイライト・GitHubリンク記法の正確性

コミットIDのリンク記法が [#60348c9](URL) となっており、PR番号の記法と混同する可能性があります。ガイドラインでは、コミットIDに`#`は不要とされています。

対象読者への適合性 ✓ PASS

エンジニア向けの適切な技術レベルと表現

「SIGINT」「サロゲートペア」「MCP」などの専門用語を適切に用いており、専門知識を持つエンジニアという対象読者に完全に適合しています。

パラグラフ・ライティング ✓ PASS

トピックセンテンス・1段落1トピック・段落長

各セクション、各パラグラフが総論→各論の構成になっており、トピックセンテンスも明確です。1段落1トピックが徹底され、非常に可読性が高いです。

Diff内容との照合 ✓ PASS

コードブロックとDiff内容の一致

記事で言及されている新機能やバグ修正の内容はすべて、提供されたDiff(CHANGELOG.md)の内容を正確に反映しています。

技術用語の正確性 ✓ PASS

技術用語の正確な使用

「Indic合字」「NFD」「ブラケットペースト」など、Diffに記載のある技術用語を正確かつ適切な文脈で使用しています。

説明の技術的正確性 ✓ PASS

技術的主張の正確性と論理性

Diffの箇条書きの内容から、問題の原因や影響を論理的に説明しており、技術的に正確で説得力があります。

事実の突合 ✓ PASS

PR情報による主張の裏付け(ハルシネーション検出)

記事の主張はすべてDiff(CHANGELOG)の内容に裏付けられています。「設計判断」セクションもDiffの記述から論理的に導かれたもので、根拠のない創作(ハルシネーション)は見られません。

数値・固有名詞の確認 ⚠ WARNING

PR番号・コミットID・バージョン等の正確性

コミットIDの表示が「#60348c9」となっており、「#」が余分です。PR番号と誤認される可能性があるため、固有名詞の表記として不正確です。

タイトル・説明との一致 ✓ PASS

記事タイトル・説明とPR内容の一致

PRの主題(CHANGELOG更新)の内容である「Claude Code 2.1.132のリリース」を記事のタイトルが正確に表現しています。

外部知識の正確性 ✓ PASS

PRに記載のない外部知識(LTS、サポート状況など)の不使用

PR情報に記載のないバージョンサポート状況やリリース日程などの外部知識の持ち込みはなく、事実に基づいた内容になっています。

時間表現の正確性 ✓ PASS

時間表現がPR情報と一致しているか

CHANGELOGの変更点(過去の事実)を「〜が修正された」のように過去形で正確に記述しており、時間表現に問題はありません。