Claude Code 2.1.97 リリース:多数のバグ修正とUX改善

anthropics/claude-code

Claude Code 2.1.97では、NO_FLICKERモードの安定性向上、MCP接続のメモリリーク修正、セキュリティ関連のバグ修正など、49項目にわたる改善が一括でリリースされた。

背景

このリリースは、Claude Codeの複数の機能領域にまたがる問題を包括的に解消するものです。特にNO_FLICKERモード(ちらつきを抑えた描画モード)、セッション管理(/resume機能)、MCP(Model Context Protocol)接続まわりで報告されていた問題への対処が中心となっています。

各バグの多くは、特定の環境(Windows Terminal、Warp、zellij)や特定の操作フロー(セッション再開、コンテキスト圧縮)でのみ再現するものであり、広範なユーザー環境への対応が求められていた経緯が読み取れます。

技術的な変更

セキュリティと権限まわりの修正

権限管理に関わる複数の重大なバグが修正されています。--dangerously-skip-permissionsフラグが、保護パスへの書き込み承認後にサイレントにaccept-editsモードへダウングレードされていた問題が修正されました。また、settings.jsonが無視される問題が2件修正されています。1件目はJavaScriptのプロトタイププロパティ名(例:toString)と一致する名前の権限ルールが原因で、2件目は管理者がマネージドセッティングのAllowルールを削除してもプロセス再起動まで有効のままになっていた問題です。さらに、permissions.additionalDirectoriesのセッション中変更が反映されない問題と、そのディレクトリを削除すると--add-dirで渡した同じディレクトリへのアクセスまで失われる問題も修正されています。

Bashツールの権限チェックも強化されており、環境変数プレフィックスやネットワークリダイレクトまわりの検証が厳格化され、一般的なコマンドでの誤った権限プロンプト表示が削減されました。

MCP接続の安定性改善

MCPのHTTP/SSE接続で、サーバー再接続時に約50MB/時の速度で未解放バッファが蓄積していたメモリリークが修正されました。長期稼働セッションでは無視できない規模の問題であり、接続の再確立処理における後始末の不備が原因と見られます。

MCP OAuthまわりでは、oauth.authServerMetadataUrlが再起動後のトークンリフレッシュ時に無視されていた問題が修正されました。これにより、ADFSなどのIdPを使用した環境での認証が正常に機能するようになります。

リトライとレート制限の改善

429レート制限エラーのリトライ挙動が修正されました。サーバーが小さなRetry-After値を返した場合に、全リトライ試行を約13秒で消費してしまっていた問題が解消され、指数バックオフが下限として適用されるようになりました。また、コンテキスト圧縮後にレート制限のアップグレードオプションが消えてしまう問題も修正されています。

セッション再開(/resume)の修正

/resume機能に関して複数の問題が修正されました。主な修正内容は以下のとおりです:

  • --resume <name>で開いたセッションが編集不可になる問題
  • Ctrl+Aによる再読み込みで検索内容が消える問題
  • リスト空状態でナビゲーション操作が飲み込まれる問題
  • タスクステータステキストが会話サマリーを上書きする問題
  • クロスプロジェクトの陳腐化検出の問題
  • 10KBを超えるファイルを編集した際に差分表示が消える問題
  • アタッチメントメッセージのトランスクリプト未保存によるキャッシュミスと入力消失

NO_FLICKERモードの安定性

NO_FLICKERモードで報告されていた複数の問題が修正されています。クラッシュ(MCPツール結果へのホバー時)、メモリリーク(APIリトライで残存するストリーミング状態)、スクロールアーティファクト(zellij内での実行時)、マウスホイールの動作(Windows Terminal)が修正されました。また、24行未満の端末でカスタムステータスラインが表示されない問題、Warp端末でのShift+EnterおよびAlt/Cmd+矢印ショートカットが動作しない問題、Windowsでのコピー時にCJKテキストが文字化けする問題も修正されています。

新機能と改善

今回のリリースには修正だけでなく、いくつかの機能追加と改善も含まれています。主なものは以下のとおりです:

  • フォーカスビュートグルCtrl+O)をNO_FLICKERモードに追加。プロンプト、ツールサマリー(差分統計付き)、最終レスポンスを表示
  • refreshIntervalステータスライン設定の追加。N秒ごとにコマンドを再実行可能
  • workspace.git_worktreeをステータスラインのJSON入力に追加。gitワークツリー内での検出をサポート
  • Cedarポリシーファイル(.cedar.cedarpolicy)へのシンタックスハイライト追加
  • Bashツールのトレーシング改善:サブプロセスがW3C準拠のTRACEPARENT環境変数を継承するように
  • 画像ハンドリング改善:貼り付けおよび添付画像をReadツール経由の画像と同じトークンバジェットに圧縮
  • CJK入力改善:句読点後に/@を入力する際にスペース不要になり、日本語・中国語入力が改善

設計判断

既存機能の堅牢化を優先する姿勢が今回のリリース全体から読み取れます。新機能追加よりも修正件数が上回っており、権限チェック、セッション管理、エラーリカバリーといった基盤部分の信頼性向上が重点的に行われています。

特に、Bashツール権限の「誤った安全側への倒れ方」(false prompts on common commands)の修正と、--dangerously-skip-permissionsの意図しないダウングレードの修正は、セキュリティと使い勝手のバランスを明示的に再調整した判断として注目されます。サイレントな挙動変更をなくし、設定が意図通りに動作することを保証する方向での修正です。

また、レート制限リトライに指数バックオフの下限を設けた変更は、サーバー側のRetry-Afterヘッダーが不適切に小さい値を返すケースへの防御的対処であり、クライアント側でサーバーの指示を無条件に信頼しない設計判断を示しています。

まとめ

Claude Code 2.1.97は、複数の環境・機能領域にまたがる問題を一括解消するメンテナンス中心のリリースです。セキュリティ関連の権限バグ修正、MCPのメモリリーク、セッション再開の信頼性など、日常的な利用で踏みやすい問題が包括的に対処されており、実運用環境での安定性が大きく向上するリリースといえます。

記事メタデータ

Generated by:
Claude Sonnet 4.6 for DiffDaily
LLM Trace:
1a7866ff

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

品質レビュー結果

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

Review Criteria:

記事構成 ✓ PASS

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

リード文(総論)→背景・技術詳細(各論)→まとめ(結論)という構成が明確に守られています。また、任意項目である「設計判断」セクションも含まれており、記事に深みを与えています。

カスタムMarkdown構文 ✓ PASS

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

コミットIDがリンク化されており、技術的なキーワードが太字で強調されるなど、可読性を高めるための適切なMarkdown使用がなされています。ファイル名付きシンタックスハイライトの使用箇所はありませんが、記事の性質上不要であり問題ありません。

対象読者への適合性 ✓ PASS

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

MCP、レート制限、セッション管理といった専門用語が前提知識として扱われており、専門知識を持つエンジニアという対象読者に完全に適合しています。

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

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

各セクション、各パラグラフが「総論→各論」の構造で書かれており、見出しと各段落の1文目だけで内容を把握できる高い可読性を実現しています。1段落1トピックの原則も守られています。

Diff内容との照合 ✓ PASS

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

記事で言及されている49項目の修正・改善点は、すべて提供されたCHANGELOGのDiff内容と一致しています。Diffの内容を正確に反映し、分かりやすくカテゴリ分けして解説できています。

技術用語の正確性 ✓ PASS

技術用語の正確な使用

「指数バックオフ」「ADFS」「IdP」「CJK」など、CHANGELOGの内容を補足する技術用語が正確かつ適切に使用されており、専門家にとって理解しやすい記述になっています。

説明の技術的正確性 ✓ PASS

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

「MCP接続のメモリリーク」「429エラーのリトライ挙動」など、CHANGELOGに記載された事象に対する説明は、元の記述に忠実で技術的に正確です。

事実の突合 ⚠ WARNING

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

「設計判断」セクションは、CHANGELOGの事実から開発者の意図を分析・推測した内容です。これは根拠のある優れた分析ですが、PR情報に明示されていない「意図」に言及しているため、ガイドラインの「推測は許容しない」という厳格な基準に基づきWARNINGと評価します。

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

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

記事末尾のコミットIDリンクの表記が「#22fdf68」となっています。これはPR番号で使われる形式であり、コミットIDの場合は「22fdf68」または「`22fdf68`」と表記するのがより正確です。ただし、リンク自体は正しく機能します。その他の数値(50MB/hr, 13秒など)は正確です。

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

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

タイトル「Claude Code 2.1.97 リリース:多数のバグ修正とUX改善」は、CHANGELOGに記載された多数の「Fixed」と「Improved」を的確に要約しており、PRの内容と完全に一致しています。

外部知識の正確性 ✓ PASS

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

LTSやEOL、リリース日程といった、PR情報(CHANGELOG)に記載のない外部知識の追加は見られませんでした。

時間表現の正確性 ✓ PASS

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

CHANGELOGの修正内容は過去の事実であり、記事も「〜が修正されました」といった過去・完了形で記述されており、時間表現は正確です。