一覧へ戻る v2.1.85

バックナンバー · BACK ISSUE

v2.1.85

3 新機能 10 改善 17 修正 · 30 件の変更

MCP の headers ヘルパー環境変数、条件付きフック if フィルタ、RFC 9728 の OAuth ディスカバリを追加し、コンパクト化・プラグインの有効/無効化・描画の修正やスクロール性能の向上を含みます。

新機能 Feature 3
  • MCP の headersHelper スクリプトに CLAUDE_CODE_MCP_SERVER_NAMECLAUDE_CODE_MCP_SERVER_URL 環境変数を追加し、1 つのヘルパーが複数のサーバーに対応できるようにしました。

    mcpauth

    詳しく
    MCP サーバーへのリクエストに付ける HTTP ヘッダーを動的に生成する headersHelper スクリプトに関する変更です。実行時に、対象サーバーの名前を示す CLAUDE_CODE_MCP_SERVER_NAME と URL を示す CLAUDE_CODE_MCP_SERVER_URL という環境変数が渡されるようになり、スクリプト側でどのサーバー向けかを判別できます。これまでサーバーごとにヘルパーを用意する必要があった場面でも、1 つのヘルパーで複数サーバーに対応できるため、複数の MCP サーバーに認証ヘッダーを付ける運用がシンプルになります。
  • 権限ルール構文(例: Bash(git *))を使ってフックの実行条件を絞る if フィールドを追加し、プロセス起動のオーバーヘッドを削減しました。

    hooksperformance

    詳しく
    フック(特定のツール実行などのタイミングで自動実行されるスクリプト)に、実行条件を指定する if フィールドが追加されました。権限ルールと同じ構文(例: Bash(git *))で条件を書けるため、たとえば git コマンドのときだけフックを動かす、といった絞り込みができます。これまでは該当タイミングごとに毎回フックのプロセスを起動していましたが、条件に合わないときは起動を省けるため、無駄なプロセス起動のオーバーヘッドが減り動作が軽くなります。
  • PreToolUse フックが permissionDecision: "allow" とともに updatedInput を返すことで AskUserQuestion を満たせるようになり、独自の UI で回答を集めるヘッドレス連携が可能になりました。

    hookspermissions

    詳しく
    ツール実行前に動く PreToolUse フックが、ユーザーへの質問ツール AskUserQuestion に自動で回答を与えられるようになりました。フックが permissionDecision: "allow" と一緒に回答内容を含む updatedInput を返すと、その入力で質問が満たされます。これにより、画面のないヘッドレス環境でも独自の UI で回答を集めて差し込めるようになり、自動化や外部連携を組む開発者に役立ちます。
改善 Improvement 10
  • スケジュールタスク(/loopCronCreate)が発火したとき、トランスクリプトにタイムスタンプのマーカーを追加しました。

    agentsui

    詳しく
    /loopCronCreate で設定したスケジュールタスク(一定間隔やcronで自動実行される処理)が実行された際に、その時刻を示すタイムスタンプのマーカーがトランスクリプト(会話の記録)に挿入されるようになりました。これまでは発火タイミングが記録から分かりにくかったのが、いつ動いたかを後から追えるようになります。定期実行のタスクを使う人にとって、実行履歴の確認やデバッグがしやすくなります。
  • 画像を貼り付けるとき、[Image #N] プレースホルダーの後に末尾の空白を追加しました。

    ui

    詳しく
    画像を貼り付けたときに入力欄へ挿入される [Image #N] というプレースホルダー(画像を表す目印)の直後に、半角スペースが 1 つ追加されるようになりました。これまではプレースホルダーの直後に続けて文字を入力すると詰まってしまっていましたが、自動で空白が入るため続けて文章を書きやすくなります。画像とテキストを混ぜて入力する人にとっての細かな使い勝手の改善です。
  • ディープリンクのクエリ(claude-cli://open?q=…)が最大 5,000 文字をサポートし、長い事前入力のプロンプトには「scroll to review」の警告が出るようになりました。

    ui

    詳しく
    外部から Claude Code を開いてプロンプトを事前入力するディープリンク claude-cli://open?q=…q クエリが、最大 5,000 文字まで扱えるようになりました。あわせて、事前入力されたプロンプトが長い場合には全体を確認するよう促す「scroll to review」の警告が表示されます。リンク経由で長い指示を渡すツールや連携を作る人にとって、より長文を安全に渡せるようになります。
  • MCP OAuth が、認可サーバーを見つけるために RFC 9728 の Protected Resource Metadata ディスカバリに従うようになりました。

    mcpauth

    詳しく
    MCP サーバーへの OAuth 認証で、認可サーバー(ログインやトークン発行を担うサーバー)の場所を見つける方法が標準仕様の RFC 9728(Protected Resource Metadata)に従うようになりました。これにより、リソース側が公開するメタデータをたどって認可サーバーを自動的に特定できます。標準準拠の MCP サーバーに対して、認証の設定がより確実に通るようになる改善です。
  • 組織ポリシー(managed-settings.json)でブロックされたプラグインがインストール・有効化できなくなり、マーケットプレイスのビューから隠れるようになりました。

    pluginsenterprise

    詳しく
    組織の管理者が managed-settings.json(企業などで一括適用する管理設定)でブロックしたプラグインの扱いが強化されました。これまで隙があった可能性のあるインストールや有効化が完全にできなくなり、さらにマーケットプレイスの一覧からも非表示になります。会社の方針で利用を制限したいプラグインを確実に締め出せるため、企業環境の管理者にとってのガバナンス改善です。
  • OpenTelemetry の tool_result イベントの tool_parameters が、OTEL_LOG_TOOL_DETAILS=1 で制御されるようになりました。

    telemetry

    詳しく
    OpenTelemetry(動作の計測・ログ収集の仕組み)で出力される tool_result イベントに含まれていたツールの引数情報 tool_parameters の扱いが変わりました。これまでは常に出力されていましたが、今後は OTEL_LOG_TOOL_DETAILS=1 を設定したときだけ含まれます。ツールの入力にコードや機密が混じることがあるため、テレメトリを利用する人にとって不要な詳細の漏えいを防ぎやすくなります。
  • 大きなリポジトリでの @ メンションのファイルオートコンプリートのパフォーマンスを改善しました。

    uiperformance

    詳しく
    @ でファイルを指定する際の入力補完(オートコンプリート)の性能改善です。ファイル数の多い大きなリポジトリでは候補の絞り込みが重くなりがちでしたが、より高速に動くようになりました。大規模プロジェクトで @ メンションを多用する人ほど、入力時の待ち時間が減って快適になります。
  • PowerShell の危険なコマンドの検出を改善しました。

    windowspermissionssecurity

    詳しく
    PowerShell で実行しようとするコマンドのうち、危険なものを見分ける検出ロジックが改善されました。これにより、削除や上書きなどリスクのある操作をより的確に判別できます。主に Windows で PowerShell を使うユーザーにとって、意図しない破壊的操作の前に確認が入りやすくなり、安全性が高まります。
  • WASM の yoga-layout を純粋な TypeScript の実装に置き換えることで、大きなトランスクリプトでのスクロール性能を改善しました。

    uiperformance

    詳しく
    画面のレイアウト計算に使っていた WASM 版の yoga-layout を、純粋な TypeScript の実装に置き換えた性能改善です。これにより、会話の記録(トランスクリプト)が大きくなったときのスクロールが軽くなります。長いセッションを抱えるユーザーほど、上下スクロール時のカクつきが減って操作が滑らかになります。
  • 大きなセッションでコンパクト化が起きるときの UI のもたつきを軽減しました。

    contextuiperformance

    詳しく
    会話履歴を要約して縮めるコンパクト化が走るときの、画面のもたつきを軽減した改善です。これまで大きなセッションでコンパクト化が始まると UI が一時的にカクついていましたが、それが緩和されました。履歴が大きくなりやすい長時間の作業でも、要約処理中の操作感が引っかかりにくくなります。
修正 Fix 17
  • 会話が大きくなりすぎてコンパクトのリクエスト自体が収まらないとき、/compact が「context exceeded」で失敗する問題を修正。

    context

    詳しく
    会話履歴を要約して縮める /compact の不具合修正です。会話が膨れすぎると、縮める処理を依頼するリクエスト自体がコンテキスト上限を超えてしまい、「context exceeded」エラーで失敗していました。これが修正され、巨大なセッションでも /compact が動くようになります。長時間の作業で履歴が大きくなりがちな人に効果があります。
  • プラグインのインストール場所が設定で宣言された場所と異なるとき、/plugin enable/plugin disable が失敗する問題を修正。

    plugins

    詳しく
    プラグインを有効/無効にする /plugin enable/plugin disable の不具合修正です。プラグインの実際のインストール場所が設定ファイルに書かれた場所と食い違っている場合に、これらのコマンドが失敗していました。修正により、場所がずれていても正しく有効・無効を切り替えられるようになります。
  • 非 git リポジトリで、WorktreeCreate フックが実行される前に --worktree がエラーで終了する問題を修正。

    agentsworktreehooks

    詳しく
    git の作業ツリーを使う --worktree オプションの不具合修正です。git で管理されていないディレクトリで使うと、WorktreeCreate フックが実行される前にエラーで終了していました。修正により、非 git の場所でも途中で落ちずに処理が進むようになります。
  • deniedMcpServers 設定が claude.ai の MCP サーバーをブロックしない問題を修正。

    mcppermissions

    詳しく
    特定の MCP サーバーの利用を禁止する deniedMcpServers 設定の不具合修正です。これまで claude.ai 経由の MCP サーバーには効かず、ブロック対象に指定してもすり抜けていました。修正により claude.ai のサーバーも正しくブロックされるようになり、利用制限を設けている環境の安全性が高まります。
  • マルチモニター構成で、computer-use ツールの switch_display が「not available in this session」を返す問題を修正。

    tools

    詳しく
    画面操作を自動化する computer-use ツールの不具合修正です。複数のモニターを使う環境で、表示先を切り替える switch_display が「not available in this session」と返してしまい使えませんでした。修正により、マルチモニター構成でもディスプレイの切り替えが機能するようになります。
  • OTEL_LOGS_EXPORTEROTEL_METRICS_EXPORTEROTEL_TRACES_EXPORTERnone に設定されているときのクラッシュを修正。

    telemetryconfig

    詳しく
    OpenTelemetry のエクスポート先を指定する環境変数 OTEL_LOGS_EXPORTEROTEL_METRICS_EXPORTEROTEL_TRACES_EXPORTER に関するクラッシュの修正です。これらを「出力しない」を意味する none に設定するとアプリが落ちていました。修正により、特定の種類のテレメトリだけ無効化したい場合でも安定して動くようになります。
  • 非ネイティブビルドで差分の構文ハイライトが効かない問題を修正。

    ui

    詳しく
    差分(変更前後の比較)表示の構文ハイライトに関する不具合修正です。ネイティブビルド以外の環境では、差分のコードに色付けがされていませんでした。修正により、そうしたビルドでも差分が見やすく色分けされて表示されるようになります。
  • リフレッシュトークンがあるときに MCP のステップアップ認可が失敗する問題を修正。403 insufficient_scope で昇格スコープを要求するサーバーが、正しく再認可フローをトリガーするようになりました。

    mcpauth

    詳しく
    MCP のステップアップ認可(より強い権限を後から要求する仕組み)の不具合修正です。リフレッシュトークンが既にあると、サーバーが 403 insufficient_scope でより広い権限(スコープ)を求めても再認可が始まらず失敗していました。修正により、その場合でも正しく再認可フローが起動し、必要な権限を取り直せるようになります。
  • ストリーミング応答が中断されたときの、リモートセッションのメモリリークを修正。

    agentsperformance

    詳しく
    リモートセッションでのメモリリーク(使い終わったメモリが解放されず溜まる問題)の修正です。応答をストリーミング(逐次受信)している途中で中断したときに、メモリが解放されずに残っていました。修正により無駄なメモリ消費が抑えられ、リモートで長く使う場合の安定性が向上します。
  • エッジ接続の入れ替わり中の持続的な ECONNRESET エラーを、再試行時に新しい TCP 接続を使うことで修正。

    networkapi

    詳しく
    ネットワーク接続エラー ECONNRESET(接続が相手側から切られる現象)が続く問題の修正です。エッジサーバーの接続が入れ替わる(churn)タイミングで、使い回した接続のせいでエラーが繰り返し起きていました。修正では再試行時に新しい TCP 接続を張り直すようにし、こうした接続切れからスムーズに回復するようになります。
  • 特定のスラッシュコマンドを実行した後にプロンプトがキューで詰まり、上矢印で取り出せない問題を修正。

    ui

    詳しく
    入力待ち行列(キュー)に関する不具合修正です。特定のスラッシュコマンドを実行した後、続けて入力したプロンプトがキューに詰まったまま処理されず、しかも上矢印キーでも呼び出せない状態になっていました。修正により、コマンド実行後もプロンプトが正しく流れて履歴からも取り出せるようになります。
  • Python Agent SDK を修正: --mcp-config で渡した type:'sdk' の MCP サーバーが、起動時に落とされなくなりました。

    mcpapi

    詳しく
    Python 版 Agent SDK の不具合修正です。--mcp-config で渡した type:'sdk' の MCP サーバー設定が、起動処理の途中で読み捨てられて反映されないことがありました。修正により、この種類の MCP サーバーが起動時に確実に登録されるようになります。SDK でプログラム的に MCP サーバーを組み込む開発者に関係します。
  • SSH 越しや VS Code 統合ターミナルで実行するとき、生のキーシーケンスがプロンプトに現れる問題を修正。

    uiide

    詳しく
    キー入力の表示に関する不具合修正です。SSH 経由や VS Code の統合ターミナルで使うと、本来は操作として解釈されるべきキーが、エスケープシーケンスのような生の文字列として入力欄にそのまま現れることがありました。修正により、これらの環境でもキー入力が正しく処理され、不要な文字が混入しなくなります。
  • 権限が解決された後も、リモートコントロールのセッションステータスが「Requires Action」で止まる問題を修正。

    agentspermissions

    詳しく
    リモートコントロール(セッションを遠隔から操作・監視する機能)のステータス表示の不具合修正です。権限の確認を済ませた後も、ステータスが「Requires Action(対応が必要)」のまま固まって更新されませんでした。修正により、権限が解決されればステータスが正しく進むようになり、対応待ちかどうかを正確に把握できます。
  • shift+enter と meta+enter が、改行を挿入せず先読み候補に横取りされる問題を修正。

    ui

    詳しく
    改行操作の不具合修正です。入力中に候補がポップアップする先読み(typeahead)が表示されているとき、shift+enter や meta+enter のキーが候補確定に横取りされ、改行が入りませんでした。修正により、候補が出ていてもこれらのキーで正しく改行できるようになり、複数行の入力がしやすくなります。
  • ストリーミング中に上にスクロールすると古い内容が透けて見える問題を修正。

    ui

    詳しく
    画面描画の不具合修正です。応答がストリーミング表示されている最中に上へスクロールすると、前の古い内容が消えきらずに透けて見える(残像のように混ざる)ことがありました。修正により、スクロール中も表示が正しく更新され、画面が乱れなくなります。
  • Ghostty・Kitty・WezTerm など Kitty キーボードプロトコル対応のターミナルで、終了後にターミナルが拡張キーボードモードのまま残る問題を修正。終了後に Ctrl+C と Ctrl+D が正しく機能するようになりました。

    ui

    詳しく
    Kitty キーボードプロトコルに対応するターミナル(Ghostty・Kitty・WezTerm など)での終了処理の不具合修正です。Claude Code を終了した後もターミナルが拡張キーボードモードのまま残り、Ctrl+C や Ctrl+D が効かなくなることがありました。修正により終了時にモードが元へ戻され、終了後も通常どおりこれらのショートカットが使えるようになります。
原文 Markdown を表示
## 2.1.85

- Added `CLAUDE_CODE_MCP_SERVER_NAME` and `CLAUDE_CODE_MCP_SERVER_URL` environment variables to MCP `headersHelper` scripts, allowing one helper to serve multiple servers
- Added conditional `if` field for hooks using permission rule syntax (e.g., `Bash(git *)`) to filter when they run, reducing process spawning overhead
- Added timestamp markers in transcripts when scheduled tasks (`/loop`, `CronCreate`) fire
- Added trailing space after `[Image #N]` placeholder when pasting images
- Deep link queries (`claude-cli://open?q=…`) now support up to 5,000 characters, with a "scroll to review" warning for long pre-filled prompts
- MCP OAuth now follows RFC 9728 Protected Resource Metadata discovery to find the authorization server
- Plugins blocked by organization policy (`managed-settings.json`) can no longer be installed or enabled, and are hidden from marketplace views
- PreToolUse hooks can now satisfy `AskUserQuestion` by returning `updatedInput` alongside `permissionDecision: "allow"`, enabling headless integrations that collect answers via their own UI
- `tool_parameters` in OpenTelemetry tool_result events are now gated behind `OTEL_LOG_TOOL_DETAILS=1`
- Fixed `/compact` failing with "context exceeded" when the conversation has grown too large for the compact request itself to fit
- Fixed `/plugin enable` and `/plugin disable` failing when a plugin's install location differs from where it's declared in settings
- Fixed `--worktree` exiting with an error in non-git repositories before the `WorktreeCreate` hook could run
- Fixed `deniedMcpServers` setting not blocking claude.ai MCP servers
- Fixed `switch_display` in the computer-use tool returning "not available in this session" on multi-monitor setups
- Fixed crash when `OTEL_LOGS_EXPORTER`, `OTEL_METRICS_EXPORTER`, or `OTEL_TRACES_EXPORTER` is set to `none`
- Fixed diff syntax highlighting not working in non-native builds
- Fixed MCP step-up authorization failing when a refresh token exists — servers requesting elevated scopes via `403 insufficient_scope` now correctly trigger the re-authorization flow
- Fixed memory leak in remote sessions when a streaming response is interrupted
- Fixed persistent ECONNRESET errors during edge connection churn by using a fresh TCP connection on retry
- Fixed prompts getting stuck in the queue after running certain slash commands, with up-arrow unable to retrieve them
- Fixed Python Agent SDK: `type:'sdk'` MCP servers passed via `--mcp-config` are no longer dropped during startup
- Fixed raw key sequences appearing in the prompt when running over SSH or in the VS Code integrated terminal
- Fixed Remote Control session status staying stuck on "Requires Action" after a permission is resolved
- Fixed shift+enter and meta+enter being intercepted by typeahead suggestions instead of inserting newlines
- Fixed stale content bleeding through when scrolling up during streaming
- Fixed terminal left in enhanced keyboard mode after exit in Ghostty, Kitty, WezTerm, and other terminals supporting the Kitty keyboard protocol — Ctrl+C and Ctrl+D now work correctly after quitting
- Improved @-mention file autocomplete performance on large repositories
- Improved PowerShell dangerous command detection
- Improved scroll performance with large transcripts by replacing WASM yoga-layout with a pure TypeScript implementation
- Reduced UI stutter when compaction triggers on large sessions