一覧へ戻る v2.1.121

バックナンバー · BACK ISSUE

v2.1.121

6 新機能 12 改善 21 修正 · 39 件の変更

MCP の alwaysLoadclaude plugin prune、スクロール可能なダイアログ、いくつかの SDK/OTel の項目を追加し、メモリリークや resume・起動の堅牢性の修正に重点を置いています。

新機能 Feature 6
  • MCP サーバー設定に alwaysLoad オプションを追加。true にすると、そのサーバーの全ツールがツール検索の遅延をスキップし常に利用可能になります。

    mcpconfig

    詳しく
    MCP サーバー設定に alwaysLoad オプションが追加されました。MCP はツールを外部から取り込む仕組みで、通常はツール数が多いと「ツール検索で必要なときだけ読み込む(遅延ロード)」挙動になります。true にすると、そのサーバーのすべてのツールが遅延を飛ばして常時利用可能になります。特定の MCP ツールを毎回確実に使いたい人に便利です。
  • 孤立した自動インストールのプラグイン依存を削除する claude plugin prune を追加しました。plugin uninstall --prune で連鎖的に削除されます。

    pluginscli

    詳しく
    不要になったプラグインの依存を片付ける claude plugin prune コマンドが追加されました。プラグインを入れると自動で一緒に入る依存プラグインがありますが、本体を消しても依存だけ取り残されることがあります。prune はこうした孤立した依存を削除し、plugin uninstall --prune を使えばアンインストール時に依存もまとめて連鎖削除されます。プラグインを多用する人の環境整理に役立ちます。
  • /skills に入力フィルタの検索ボックスを追加し、長いリストでもスクロールせずにスキルを探せるようにしました。

    skillsui

    詳しく
    /skills の一覧に、文字を入力すると候補を絞り込める検索ボックスが追加されました。これまでスキルが多いと目的のものを探すのにスクロールが必要でしたが、今はキーワードを打つだけで素早く見つけられます。多数のスキルを登録している人ほど操作が楽になります。
  • PostToolUse フックが、hookSpecificOutput.updatedToolOutput を介して全ツールのツール出力を置き換えられるようになりました(以前は MCP のみ)。

    hookstools

    詳しく
    ツール実行後に動く PostToolUse フックが、hookSpecificOutput.updatedToolOutput を使ってツールの出力を書き換えられる対象が、全ツールに広がりました。以前はこの差し替えが MCP ツールに限られていましたが、今は組み込みツールを含むすべてのツール出力に適用できます。フックで出力を整形・加工したい人に関係する変更です。
  • Vertex AI: X.509 証明書ベースのワークロード ID フェデレーション(mTLS ADC)に対応しました。

    enterpriseauth

    詳しく
    Vertex AI 経由で利用する際の認証方式が拡張され、X.509 証明書を使ったワークロード ID フェデレーション(mTLS ADC)に対応しました。これにより、証明書ベースの認証を求める環境でも Vertex AI に接続できます。Google Cloud の Vertex AI を企業の認証要件下で使う人向けの機能です。
  • SDK: mcp_authenticate が、カスタムスキームの完了や claude.ai コネクタ向けに redirectUri をサポートするようになりました。

    mcpapi

    詳しく
    SDK の mcp_authenticate(MCP の認証処理)が redirectUri を受け付けるようになりました。これにより、カスタムスキームを使った認証フローの完了や claude.ai コネクタの認証に対応できます。SDK で独自に MCP の OAuth 認証を組み込む開発者向けの追加です。
改善 Improvement 12
  • ターミナルからあふれるダイアログが、フルスクリーンと非フルスクリーンの両モードで矢印キー・PgUp/PgDn・home/end・マウスホイールでスクロールできるようになりました。

    ui

    詳しく
    ターミナルの高さに収まりきらないダイアログをスクロールできるようになりました。矢印キー・PgUp/PgDn・home/end・マウスホイールに対応し、フルスクリーンと非フルスクリーンの両方で使えます。これまで画面外に切れていた長い内容も、全体を確認できるようになります。
  • --dangerously-skip-permissions が、.claude/skills/.claude/agents/.claude/commands/ への書き込みでプロンプトを出さなくなりました。

    permissionsskills

    詳しく
    権限確認を省略する --dangerously-skip-permissions を付けた場合の挙動が改善されました。これまでは .claude/skills/.claude/agents/.claude/commands/ への書き込み時に依然として確認プロンプトが出ていましたが、今はこれらでも確認を求められなくなりました。このフラグで一気に作業する人の手間が減ります。
  • /terminal-setup が iTerm2 の「Applications in terminal may access clipboard」設定を有効化し、tmux 経由を含めて /copy が機能するようにしました。

    ui

    詳しく
    /terminal-setup が iTerm2 の「Applications in terminal may access clipboard(ターミナル内のアプリがクリップボードにアクセスできる)」設定を自動で有効にするようになりました。これにより /copy でのコピーがきちんと機能し、tmux 経由でも使えます。iTerm2 ユーザーがコピー機能を使う際の事前設定が不要になります。
  • 起動時に一時的なエラーに当たった MCP サーバーが、切断されたままにならず最大 3 回まで自動再試行するようになりました。

    mcp

    詳しく
    起動時に一時的なエラーで接続に失敗した MCP サーバーが、最大 3 回まで自動的に再接続を試みるようになりました。以前は一度失敗すると切断されたままで、手動で対処する必要がありました。一時的なネットワーク不調などで MCP サーバーがつながらない事象が減ります。
  • ターミナルタブのセッションタイトルが、設定した language で生成されるようになりました。

    ui

    詳しく
    ターミナルのタブに表示されるセッションタイトルが、設定した language の言語で生成されるようになりました。これまでは設定言語が反映されていませんでしたが、今は表示言語に合わせたタイトルになります。日本語など英語以外で使っている人に関係する小さな改善です。
  • 同じ上流 URL を持つ claude.ai のコネクタが、重複表示されずに統合されるようになりました。

    mcp

    詳しく
    claude.ai のコネクタ(外部サービス連携)の表示が整理されました。これまでは同じ接続先 URL を持つコネクタが重複して一覧に並ぶことがありましたが、今は同一 URL のものは1つにまとめて表示されます。コネクタを多く登録している人の一覧が見やすくなります。
  • アップグレード後の起動を高速化: リリースノートのスプラッシュから Recent Activity パネルを削除しました。

    uiperformance

    詳しく
    バージョンアップ直後の起動が速くなりました。アップグレード後に表示されるリリースノートの画面から、Recent Activity(最近のアクティビティ)パネルが削除されています。この情報収集が起動を遅らせていたため、削除により立ち上がりが軽くなります。
  • LSP の診断サマリーが、クリックや Ctrl+O で展開でき、展開ヒントを表示するようになりました。

    ideui

    詳しく
    LSP(エディタの言語サーバーによるコード診断)の要約表示が改善されました。診断のサマリーをクリックまたは Ctrl+O で展開でき、展開できることを示すヒントも表示されるようになりました。エラーや警告の詳細をその場で確認しやすくなります。
  • OpenTelemetry: LLM リクエストのスパンに stop_reasongen_ai.response.finish_reasonsuser_system_prompt(OTEL_LOG_USER_PROMPTS で制御)を追加しました。

    telemetry

    詳しく
    OpenTelemetry(分散トレースなどの計測基盤)で、LLM リクエストのスパンに記録される情報が増えました。stop_reasongen_ai.response.finish_reasons(応答の終了理由)、さらに user_system_prompt が追加され、最後の項目は OTEL_LOG_USER_PROMPTS を有効にした場合のみ記録されます。Claude Code の利用状況をテレメトリで分析している人にとって、応答の挙動を細かく追えるようになります。
  • [VSCode] Claude Code の言語が未設定のとき、音声ディクテーションが accessibility.voice.speechLanguage 設定を尊重するようになりました。

    idevoice

    詳しく
    VSCode 拡張の音声ディクテーション(音声入力)の言語判定が改善されました。Claude Code 側で言語が設定されていない場合に、VSCode の accessibility.voice.speechLanguage 設定を参照するようになりました。音声入力を使う VSCode ユーザーが、想定した言語で認識されやすくなります。
  • [VSCode] /context がネイティブのトークン使用量ダイアログを開くようになりました。

    idecontext

    詳しく
    VSCode 拡張で /context を実行すると、トークン使用量をネイティブのダイアログで表示するようになりました。コンテキストとして何にどれだけのトークンが使われているかを、エディタに馴染んだ見やすい形で確認できます。VSCode で使用量を把握したい人向けの改善です。
  • 大きなディレクトリツリーでの Bash ツールの find 実行中の、ファイルディスクリプタのピーク使用量を削減しました。

    bashperformance

    詳しく
    Bash ツールで find を実行する際のファイルディスクリプタ(OS が開いているファイルの管理単位)のピーク使用量が削減されました。大きなディレクトリツリーを探索すると一度に多くのディスクリプタを消費し、上限に達する恐れがありましたが、今は使用量が抑えられています。巨大なリポジトリやフォルダ構成で検索を多用する人に効果のある改善です。
修正 Fix 21
  • フルスクリーンモード: 以前の出力を読むために上にスクロールした後、プロンプトに入力してもスクロールが最下部に戻らなくなりました。

    ui

    詳しく
    フルスクリーンモードでのスクロール挙動の不具合が修正されました。これまでは過去の出力を読もうと上にスクロールしても、プロンプトに何か入力した途端に表示が最下部へ戻ってしまっていました。今は入力してもスクロール位置が維持されるため、過去のやり取りを参照しながら入力できます。
  • フルスクリーンモードで複数行に折り返した長い URL のどの行をクリックしても、URL 全体が開くようになりました。

    ui

    詳しく
    フルスクリーンモードで複数行に折り返して表示された長い URL のクリック挙動が改善されました。以前はどの行をクリックしても URL 全体が正しく開くとは限りませんでしたが、今はどの行をクリックしても URL 全体が開きます。長い URL をクリックで開くことが多い人に便利です。
  • SDK と claude -p: CLAUDE_CODE_FORK_SUBAGENT=1 が非対話セッションでも動作するようになりました。

    agentsapi

    詳しく
    環境変数 CLAUDE_CODE_FORK_SUBAGENT=1 が、非対話的な実行でも効くようになりました。SDK 経由や claude -p(プロンプトを渡して対話なしで実行するモード)では以前この設定が機能しませんでしたが、今は対話セッションと同様に動作します。自動化やスクリプトでサブエージェントの fork を使う人に関係します。
  • セッションで多数の画像を処理するときにメモリが際限なく増加する(RSS が数 GB)問題を修正。

    performance

    詳しく
    1つのセッション内で多数の画像を扱うとメモリが際限なく増え続ける不具合が修正されました。以前は RSS(実メモリ使用量)が数 GB に達することもあり、動作が重くなったりクラッシュの原因になっていました。スクリーンショットなど画像を多く渡す使い方をする人に効果のある修正です。
  • 大きなトランスクリプト履歴のあるマシンで /usage が最大約 2GB のメモリをリークする問題を修正。

    usageperformance

    詳しく
    /usage の実行で大量のメモリがリークする不具合が修正されました。トランスクリプト(会話履歴)が大きいマシンでは、最大で約 2GB ものメモリが解放されずに残ることがありました。長く使い込んで履歴が膨らんでいる人ほど効果が大きい修正です。
  • 長時間実行されるツールが明確な進捗イベントを出さないときのメモリリークを修正。

    performance

    詳しく
    長時間動くツールが進捗イベントをきちんと出さないときに発生していたメモリリークが修正されました。明確な進捗の通知が来ないケースで内部状態が解放されずメモリが少しずつ増えていました。時間のかかるツール実行を多用する人の安定性が向上します。
  • Claude を起動したディレクトリがセッション中に削除・移動されると、Bash ツールが恒久的に使用不能になる問題を修正。

    bash

    詳しく
    Claude を起動したディレクトリがセッションの途中で削除・移動されると、Bash ツールが二度と使えなくなる不具合が修正されました。以前は起動時のディレクトリが失われると、それ以降コマンドが一切実行できませんでした。作業中にフォルダを整理・移動することがある人の安定性が改善します。
  • 外部ビルドで --resume が起動時にクラッシュする問題を修正。

    agents

    詳しく
    --resume(前回のセッションを再開するオプション)が、外部ビルドにおいて起動時にクラッシュする不具合が修正されました。これにより、外部ビルド版でも過去のセッションを問題なく再開できます。--resume を使ってセッションを引き継ぐ人に関係する修正です。
  • 不正な終了でトランスクリプトの行が破損したとき、大きなセッションで --resume が失敗する問題を修正。破損した行はスキップされるようになりました。

    agents

    詳しく
    --resume でセッションを再開する際の堅牢性が向上しました。クラッシュなどの異常終了でトランスクリプトの一部の行が壊れていると、大きなセッションでは再開に失敗していましたが、今は壊れた行を読み飛ばして再開を続行します。予期せぬ終了の後でもセッションを救出しやすくなります。
  • Bedrock のアプリケーション推論プロファイル ARN を使うときの thinking.type.enabled is not supported エラーを修正。

    enterprisemodels

    詳しく
    Amazon Bedrock のアプリケーション推論プロファイル ARN を指定して使う際に出ていた thinking.type.enabled is not supported というエラーが修正されました。以前はこの構成だと拡張思考(thinking)の指定が原因でリクエストが弾かれていました。Bedrock を推論プロファイル経由で利用している人が正常に使えるようになります。
  • Microsoft 365 の MCP OAuth が、重複または未対応の prompt パラメータで失敗する問題を修正。

    mcpauth

    詳しく
    Microsoft 365 の MCP 連携で OAuth 認証が失敗する不具合が修正されました。原因は認証リクエストに重複したり未対応だったりする prompt パラメータが含まれていたことでした。Microsoft 365 をMCPで接続して使う人がスムーズに認証できるようになります。
  • tmux・GNOME Terminal・Windows Terminal・Konsole の非フルスクリーンモードで Ctrl+L を押したり再描画を起こしたりしたときに、スクロールバックが重複する問題を修正。

    ui

    詳しく
    非フルスクリーンモードで画面が再描画される際に、スクロールバック(過去の表示履歴)が重複する不具合が修正されました。Ctrl+L を押したときなどに、tmux・GNOME Terminal・Windows Terminal・Konsole で同じ内容が二重に残る現象が起きていました。これらの環境を使う人の表示が乱れなくなります。
  • 起動時にコネクタ一覧の取得が一時的な認証エラーに当たると、claude.ai の MCP コネクタが無言で消える問題を修正。

    mcpauth

    詳しく
    起動時に claude.ai のコネクタ一覧の取得が一時的な認証エラーに当たると、コネクタが何の通知もなく消えてしまう不具合が修正されました。以前は一時的な失敗で連携が使えなくなり、原因も分かりにくい状態でした。claude.ai のコネクタを使う人の安定性が向上します。
  • リモートセッションでの組み込みツールの「Always allow」ルールが、ワーカーの再起動をまたいで残らない問題を修正。

    agentspermissions

    詳しく
    リモートセッションで組み込みツールに対して設定した「Always allow(常に許可)」ルールが、ワーカーの再起動後に消えてしまう不具合が修正されました。以前は再起動のたびに許可が失われ、同じツールで再度確認を求められていました。リモート環境で作業する人が許可設定を繰り返さずに済みます。
  • ネイティブビルドで managed-settings.json を介して設定したとき、すべての HTTP クライアントで NO_PROXY が尊重されない問題を修正。

    networkenterprise

    詳しく
    ネイティブビルドで managed-settings.json(管理者向けの設定ファイル)経由で NO_PROXY を指定したとき、一部の HTTP クライアントでその設定が無視される不具合が修正されました。NO_PROXY はプロキシを通さない宛先を指定する環境変数で、今はすべての通信で正しく尊重されます。プロキシ環境下で特定ホストを除外したい組織のユーザーに関係します。
  • 管理設定の承認プロンプトが、承認してもセッションを終了する問題を修正。設定を適用して続行するようになりました。

    enterpriseui

    詳しく
    管理設定(管理者が配布する設定)の承認プロンプトの不具合が修正されました。以前は承認しても、なぜかセッションがそのまま終了してしまっていましたが、今は承認すると設定を適用して作業を続行します。組織から管理設定が配られる環境で使う人がスムーズに開始できます。
  • 古い OAuth トークンの後に /usage が「rate limited」を返す問題を修正。自動的に更新されるようになりました。

    usageauth

    詳しく
    /usage が誤って「rate limited(レート制限)」と表示する不具合が修正されました。原因は古くなった OAuth トークンで、本来はレート制限ではないのにエラー扱いになっていました。今はトークンが自動的に更新されるため、しばらく使い続けても使用状況を正しく確認できます。
  • settings.json の無効な旧 enum 値が、設定ファイル全体を無効化する問題を修正。

    config

    詳しく
    settings.json に古い形式の無効な列挙値(enum)が1つ含まれているだけで、設定ファイル全体が無効と扱われる不具合が修正されました。以前は1箇所の古い値のせいで他の正しい設定まで読み込まれませんでした。長く使っていて古い設定が残っている人でも、設定が無駄に無効化されなくなります。
  • no-flicker モードが無効のとき、/usage ダイアログの内容が切れる問題を修正。

    usageui

    詳しく
    /usage ダイアログの表示崩れが修正されました。ちらつき防止(no-flicker)モードがオフのときに、ダイアログの内容が途中で切れて見えなくなることがありました。今はモードの設定にかかわらず内容が最後まで表示されます。
  • フルスクリーンレンダラーが無効のとき /focus が「Unknown command」を表示する問題を修正。有効化の方法を説明するようになりました。

    uicommands

    詳しく
    /focus を実行したときの案内が分かりやすくなりました。フルスクリーンレンダラーが無効だと、以前は「Unknown command(不明なコマンド)」とだけ表示され原因が分かりませんでしたが、今は有効化の方法を説明するようになりました。/focus が使えず戸惑っていた人の助けになります。
  • 実行中のバイナリがセッション中に削除されると、埋め込みの grep/find/rg のシェルラッパーが失敗する問題を修正。インストール済みのツールにフォールバックするようになりました。

    bashtools

    詳しく
    Claude Code に内蔵された grep/find/rg のシェルラッパーに関する不具合が修正されました。実行中のバイナリがセッション中に削除されると、これらの内蔵ツールが動かなくなっていましたが、今はシステムにインストール済みの同等ツールへ自動的に切り替えて動作を継続します。アップデートなどでバイナリが入れ替わる場面でも検索系コマンドが止まりにくくなります。
原文 Markdown を表示
## 2.1.121

- Added `alwaysLoad` option to MCP server config — when `true`, all tools from that server skip tool-search deferral and are always available
- Added `claude plugin prune` to remove orphaned auto-installed plugin dependencies; `plugin uninstall --prune` cascades
- Added a type-to-filter search box to `/skills` so you can find a skill in long lists without scrolling
- PostToolUse hooks can now replace tool output for all tools via `hookSpecificOutput.updatedToolOutput` (previously MCP-only)
- Fullscreen mode: typing into the prompt no longer jumps scroll back to the bottom after you've scrolled up to read earlier output
- Dialogs that overflow the terminal are now scrollable with arrow keys, PgUp/PgDn, home/end, and mouse wheel in both fullscreen and non-fullscreen modes
- Clicking any line of a long URL that wraps across rows in fullscreen mode now opens the full URL
- SDK and `claude -p`: `CLAUDE_CODE_FORK_SUBAGENT=1` now works in non-interactive sessions
- `--dangerously-skip-permissions` no longer prompts for writes to `.claude/skills/`, `.claude/agents/`, and `.claude/commands/`
- `/terminal-setup` now enables iTerm2's "Applications in terminal may access clipboard" setting so `/copy` works, including from tmux
- MCP servers that hit a transient error during startup now auto-retry up to 3 times instead of staying disconnected
- The terminal tab session title is now generated in your configured `language` setting
- Claude.ai connectors with the same upstream URL are now deduplicated instead of appearing as duplicates
- Vertex AI: support X.509 certificate-based Workload Identity Federation (mTLS ADC)
- Faster startup after upgrading: removed the Recent Activity panel from the release-notes splash
- LSP diagnostic summaries now expand on click/ctrl+o and show the expand hint
- SDK: `mcp_authenticate` now supports `redirectUri` for custom scheme completion and claude.ai connectors
- OpenTelemetry: added `stop_reason`, `gen_ai.response.finish_reasons`, and `user_system_prompt` (gated behind `OTEL_LOG_USER_PROMPTS`) to LLM request spans
- [VSCode] Voice dictation now respects the `accessibility.voice.speechLanguage` setting when no Claude Code language is configured
- [VSCode] `/context` now opens a native token usage dialog
- Fixed unbounded memory growth (multi-GB RSS) when processing many images in a session
- Fixed `/usage` leaking up to ~2GB of memory on machines with large transcript histories
- Fixed memory leak when long-running tools fail to emit a clear progress event
- Fixed Bash tool becoming permanently unusable when the directory Claude was started in is deleted or moved mid-session
- Fixed `--resume` crashing on startup in external builds
- Fixed `--resume` failing on large sessions when a transcript line was corrupted by an unclean shutdown — the corrupt line is now skipped
- Fixed `thinking.type.enabled is not supported` error when using Bedrock application inference profile ARNs
- Fixed Microsoft 365 MCP OAuth failing with duplicate or unsupported `prompt` parameter
- Fixed scrollback duplication when pressing Ctrl+L or triggering a redraw in non-fullscreen mode on tmux, GNOME Terminal, Windows Terminal, and Konsole
- Fixed claude.ai MCP connectors silently disappearing when the connector-list fetch hits a transient auth error at startup
- Fixed "Always allow" rules for built-in tools in remote sessions not surviving worker restarts
- Fixed `NO_PROXY` not being respected for all HTTP clients when set via `managed-settings.json` under the native build
- Fixed managed settings approval prompt exiting the session even when accepted — now applies settings and continues
- Fixed `/usage` returning "rate limited" after a stale OAuth token — now refreshes automatically
- Fixed invalid legacy enum values in `settings.json` invalidating the entire settings file
- Fixed `/usage` dialog content being clipped when no-flicker mode is off
- Fixed `/focus` showing "Unknown command" when the fullscreen renderer is off — now explains how to enable it
- Fixed embedded grep/find/rg shell wrappers failing when the running binary is deleted mid-session — now falls back to installed tools
- Reduced peak file descriptor usage during `find` in the Bash tool on large directory trees