2.1.217

Claude Code 2.1.217 - リリースノート

2026年7月21日
Claude Code

日本語サマリー

本リリース(Claude Code 2.1.217)には、致命的な不具合の修正やリソース消費を抑えるための重要なセキュリティ・安定性にまつわる修正が含まれています。主な変更点は以下の通りです。

  • セキュリティ・安定性に関わる重要な修正

    • シンボリックリンクが設定されたディレクトリでのバックグラウンドセッション分離の問題を修正し、セッションがワークスペース外へ脱出できる脆弱性を解消しました。
    • --max-budget-usd で設定した上限に達した際、バックグラウンドの subagents が正常に停止しない問題を修正しました。
    • Windowsにおける auto-update 失敗時に claude.exe が消失する問題を修正し、失敗時には自動的に実行ファイルが復元されるようになりました。
  • 新機能・仕様変更

    • :heart: や :hea などの入力で絵文字をサジェスト・入力できる emoji shortcode autocomplete 機能を追加しました(設定: emojiCompletionEnabled)。
    • 同時に実行される subagents の上限をデフォルト20に制限しました(環境変数 CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS で変更可能)。
    • subagents がデフォルトでネストされた subagents を生成しないように変更しました(深いネストを許可するには CLAUDE_CODE_MAX_SUBAGENT_DEFAWN_DEPTH を設定)。
    • ログイン有効期限の警告を、5日前から 3日前 の表示に変更しました。
  • バグ修正

    • 切り詰められた MCP ツール出力がメモリに残り続ける memory leak を修正しました。
    • Claude Opus 4.8 (Bedrock) で auto-compact が機能しない問題と、上限超過時の /compact のエラーを修正しました。
    • CLAUDE.md や SKILL.md のパスに多数のブレース展開が含まれていると起動時にメモリ枯渇 (OOM) やフリーズを引き起こす問題を修正しました。
    • 不正な添付データを持つ transcript に対して --resume や /resume を実行すると TypeError で失敗する問題を修正しました。
    • トランスクリプトの保存失敗(ディスク容量不足など)時に暗黙的にデータが消去されるのを防ぎ、警告を表示するようにしました。
    • Windowsや高負荷な環境において、バックグラウンドに送られたシェルを停止できなくなる問題を修正しました。
    • その他、画面読み上げ機能のアナウンスやターミナルフッターのリンク(FORCE_HYPERLINK=0 で無効化可能)、Remote Control の権限プロンプト表示などのUI/UX改善を実施しました。

原文(Release Notes)

What's changed

  • Added emoji shortcode autocomplete in the prompt input: type :heart: to insert ❤️, or :hea for suggestions — disable with the emojiCompletionEnabled setting
  • Added warnings when transcript writes are failing (e.g. disk full) or when session saving is off due to an inherited environment variable, instead of losing transcripts silently
  • Fixed a memory leak where truncated MCP tool outputs kept the full untruncated result in memory for the rest of the session
  • Fixed Windows auto-update failures that could leave claude.exe missing; failed updates now restore the preserved executable automatically
  • Fixed background session isolation not canonicalizing symlinked working directories, which could let sessions escape their workspace folder
  • Fixed auto-compact never triggering for Claude Opus 4.8 on Bedrock and /compact failing once over the limit
  • Fixed corporate mTLS, TLS-verify, OAuth scope, and proxy settings being ignored in Claude Desktop sessions
  • Fixed screen reader mode's startup announcement being cut off by the first prompt render, and the thinking status row re-rendering every few seconds to update elapsed time and token counts
  • Fixed managed settings that set OTEL_EXPORTER_OTLP_ENDPOINT not governing all signals — lower-scope signal-specific overrides no longer redirect telemetry away from the managed endpoint
  • Fixed --resume/--continue and /resume failing with a TypeError when a transcript has a malformed attachment entry
  • Fixed Remote Control sessions not showing a pending permission prompt or dialog to viewers that connected after it appeared
  • Fixed background shells sometimes becoming impossible to stop after a session is sent to the background (/background or ←) or when the session exits on a heavily loaded machine, most visible on Windows
  • Fixed a CLAUDE.md or SKILL.md paths frontmatter value with many brace groups OOM-killing or stalling the CLI at startup — brace expansion is now budget-bounded
  • Fixed the transcript preview sitting flush against the input area when attaching to a starting background session; it now leaves the same one-line gap as the live layout, so the transcript no longer shifts when the session takes over
  • Improved footer PR badge links to be clickable hyperlinks even when terminal support can't be detected (e.g. over ssh/tmux); set FORCE_HYPERLINK=0 to opt out
  • Changed the login-expiry warning to appear 3 days before expiry instead of 5
  • Capped the frontend-design plugin suggestion tip at 3 lifetime impressions instead of repeating indefinitely
  • Added a cap on concurrently-running subagents (default 20, override with CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS) so one message can't fan out unbounded background agents
  • Changed subagents to no longer spawn nested subagents by default; set CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH to allow deeper nesting
  • Fixed --max-budget-usd not stopping background subagents: once the cap is reached, new spawns are denied and running background agents are halted