一覧へ戻る v2.1.98

バックナンバー · BACK ISSUE

v2.1.98

6 新機能 13 改善 38 修正 · 57 件の変更

Vertex AI セットアップウィザード、Perforce モード、Monitor ツール、Linux のサブプロセスサンドボックスを追加した大型リリースで、Bash の権限バイパスの広範な強化や resume・権限・描画の多数の修正を含みます。

新機能 Feature 6
  • ログイン画面で「3rd-party platform」を選ぶとアクセスできる、対話的な Google Vertex AI セットアップウィザードを追加しました。GCP 認証・プロジェクトとリージョンの設定・認証情報の検証・モデルの固定を案内します。

    enterprisemodels

    詳しく
    Google Cloud の Vertex AI 経由で Claude を使うための対話的なセットアップウィザードが追加されました。ログイン画面で「3rd-party platform」を選ぶと起動し、GCP の認証・プロジェクトとリージョンの設定・認証情報の確認・使用モデルの固定までを順番に案内してくれます。以前は環境変数などを手作業で揃える必要がありましたが、画面の指示に沿って進めるだけで構成できるため、Vertex AI を初めて使う企業ユーザーの導入が楽になります。
  • CLAUDE_CODE_PERFORCE_MODE 環境変数を追加: 設定すると、Edit/Write/NotebookEdit が読み取り専用ファイルを無言で上書きせず、p4 edit のヒント付きで失敗します。

    toolsconfig

    詳しく
    バージョン管理システム Perforce 向けに、新しい環境変数 CLAUDE_CODE_PERFORCE_MODE が追加されました。これを設定すると、読み取り専用ファイルへの Edit/Write/NotebookEdit が無言で上書きするのをやめ、代わりに p4 edit(編集用にチェックアウトするコマンド)を促すヒント付きでエラーになります。Perforce では編集前にファイルをチェックアウトするのが前提なので、その手順を飛ばした変更を防ぎたいユーザーに役立ちます。
  • バックグラウンドスクリプトからのイベントをストリーミングする Monitor ツールを追加しました。

    tools

    詳しく
    バックグラウンドで動かしているスクリプトのイベントを逐次受け取れる Monitor ツールが追加されました。実行中のプロセスから出力やイベントを途中経過としてストリーミングで取得できるようになります。長時間動くスクリプトの状況を監視したい場合に使えます。
  • CLAUDE_CODE_SUBPROCESS_ENV_SCRUB が設定されているとき、Linux で PID 名前空間の分離を伴うサブプロセスサンドボックスを追加し、セッションごとのスクリプト呼び出しを制限する CLAUDE_CODE_SCRIPT_CAPS 環境変数を追加しました。

    sandboxsecurityconfig

    詳しく
    Linux 上でのサブプロセス(子プロセス)の隔離が強化されました。CLAUDE_CODE_SUBPROCESS_ENV_SCRUB を設定すると、PID 名前空間による分離を伴うサンドボックスでサブプロセスが実行され、他のプロセスから隔離されます。あわせて、1 セッションあたりのスクリプト呼び出し回数を制限する CLAUDE_CODE_SCRIPT_CAPS 環境変数も追加され、暴走的な実行を抑えたいセキュリティ重視の環境で役立ちます。
  • ユーザー間のプロンプトキャッシュを改善するため、print モードに --exclude-dynamic-system-prompt-sections フラグを追加しました。

    apiconfig

    詳しく
    print モード(対話画面を使わず結果を出力するモード)に --exclude-dynamic-system-prompt-sections フラグが追加されました。システムプロンプトのうち実行ごとに変わる動的な部分を除外でき、内容を共通化することで複数ユーザー間でのプロンプトキャッシュが効きやすくなります。同じ構成で多数の実行を回すような用途で、キャッシュ活用による効率化が期待できます。
  • ステータスラインの JSON 入力に workspace.git_worktree を追加しました。現在のディレクトリがリンクされた git worktree の中にあるとき設定されます。

    statuslineworktree

    詳しく
    ステータスラインをカスタマイズする際に渡される JSON 入力に、workspace.git_worktree という項目が追加されました。現在のディレクトリがリンクされた git worktree(同一リポジトリの作業ツリーを複数持つ仕組み)の中にあるときに値が設定されます。これにより、worktree で作業中かどうかをステータスラインに表示するといったカスタマイズが可能になります。
改善 Improvement 13
  • OTEL トレースが有効なとき、Bash ツールのサブプロセスに W3C の TRACEPARENT 環境変数を追加し、子プロセスのスパンが Claude Code のトレースツリーに正しく親子付けされるようにしました。

    telemetrybash

    詳しく
    OpenTelemetry(OTEL)によるトレースを有効にしている場合、Bash ツールが起動するサブプロセスに W3C 標準の TRACEPARENT 環境変数が渡されるようになりました。これにより、子プロセス側で記録されるスパン(トレースの単位)が Claude Code のトレースツリーに正しく親子付けされます。分散トレーシングで実行の流れを追っている運用者にとって、子プロセスの計測が正確につながるようになります。
  • LSP: Claude Code が、initialize リクエストの clientInfo で自身を言語サーバーに識別させるようになりました。

    ide

    詳しく
    Language Server Protocol(LSP、コード補完や診断を提供する言語サーバーとの通信仕様)で、Claude Code が初期化リクエストの clientInfo を通じて自身の名前を言語サーバーに伝えるようになりました。これまではクライアントが何かを名乗っていませんでしたが、今後は接続元として識別されます。言語サーバー側のログやクライアント別の挙動制御で役立ちます。
  • /resume のフィルタヒントのラベルを改善し、フィルタインジケータにプロジェクト/worktree/ブランチ名を追加しました。

    agentsui

    詳しく
    会話を再開する /resume のフィルタ表示が改善されました。フィルタのヒントとして表示されるラベルが分かりやすくなり、フィルタインジケータにプロジェクト名・worktree 名・ブランチ名が表示されるようになりました。どの範囲の会話を絞り込んでいるかが一目で分かり、選びやすくなります。
  • フッターのインジケータ(Focus、通知)を、狭いターミナル幅で折り返さずモードインジケータの行に留まるよう改善しました。

    ui

    詳しく
    画面下部のフッターの表示が改善されました。Focus や通知などのインジケータが、ターミナルの幅が狭いときに別の行へ折り返さず、モードインジケータと同じ行に収まるようになりました。狭い画面でもフッターの見た目が崩れにくくなります。
  • /agents をタブ式レイアウトに改善: Running タブが稼働中のサブエージェントを表示し、Library タブに Run agent と View running instance のアクションを追加しました。

    agentsui

    詳しく
    エージェントを管理する /agents がタブ形式のレイアウトに改善されました。Running タブでは現在稼働中のサブエージェントを一覧でき、Library タブには「Run agent(エージェントを起動)」と「View running instance(稼働中インスタンスを表示)」のアクションが加わりました。複数のエージェントを使い分けるユーザーが、起動状況の確認や操作をまとめて行えるようになります。
  • /reload-plugins が、再起動なしでプラグイン提供のスキルを反映するよう改善しました。

    pluginsskills

    詳しく
    プラグインを再読み込みする /reload-plugins が改善されました。これまでプラグインが提供するスキルを反映するには再起動が必要でしたが、コマンドを実行するだけで取り込まれるようになりました。プラグインやスキルを開発・調整しているユーザーが、変更を素早く試せるようになります。
  • Accept Edits モードを改善し、安全な環境変数やプロセスラッパーが前置されたファイルシステムコマンドを自動承認するようにしました。

    permissionsbash

    詳しく
    編集を自動承認する Accept Edits モードが改善されました。安全な環境変数やプロセスラッパー(コマンドを別のコマンドでくるんで起動する形)が前に付いたファイルシステム操作のコマンドも、自動承認の対象になりました。これにより、こうした書き方をしたコマンドでも毎回確認を求められず、作業がスムーズになります。
  • vim モードを改善: NORMAL モードの j/k が履歴を移動し、入力の境界でフッターのピルを選択するようになりました。

    ui

    詳しく
    Vim モードの操作性が改善されました。NORMAL モードでの j/k キーが、入力の上下の端まで来たときに履歴を移動し、フッターのピル(ボタン状の表示)を選択できるようになりました。Vim 風のキー操作で、入力欄と履歴・フッターの間をシームレスに移動できます。
  • トランスクリプトのフックエラーを改善し、--debug なしで自己診断できるよう stderr の最初の行を含めるようにしました。

    hooksui

    詳しく
    トランスクリプト(会話ログ)に表示されるフックのエラー表示が改善されました。エラーに stderr(標準エラー出力)の最初の1行が含まれるようになり、--debug を付けて再実行しなくても原因の手がかりが得られます。フックがうまく動かないときに、その場で問題を切り分けやすくなります。
  • OTEL トレースを改善: インタラクションのスパンが、並行 SDK 呼び出しでもターン全体を正しく包むようになり、ヘッドレスのターンはターンごとにスパンを終了するようになりました。

    telemetryapi

    詳しく
    OpenTelemetry(OTEL)によるトレースが改善されました。SDK を並行して呼び出している状況でも、インタラクションのスパンがやり取りの1ターン全体を正しく包むようになり、ヘッドレス(画面なし)実行のターンではスパンがターンごとに終了します。トレースで実行の流れを計測している運用者にとって、計測区間が実際のターンと正確に対応するようになります。
  • トランスクリプトのエントリが、ストリーミングのプレースホルダーではなく最終的なトークン使用量を持つよう改善しました。

    telemetryagents

    詳しく
    トランスクリプト(会話ログ)のエントリが改善されました。これまでストリーミング中の暫定値(プレースホルダー)が記録されていたトークン使用量が、確定した最終値を保持するようになりました。ログからトークン消費量を集計・分析する際に、正確な数値が得られます。
  • /claude-api スキルを更新し、Claude API に加えて Managed Agents もカバーするようにしました。

    skillsapi

    詳しく
    /claude-api スキルが更新され、Claude API に加えて Managed Agents(Anthropic が提供する管理されたエージェント機能)も扱えるようになりました。これまでは Claude API が中心でしたが、今後はこのスキルから Managed Agents に関する支援も受けられます。両方を使った開発を進めるユーザーに役立ちます。
  • DISABLE_COMPACT が設定されているとき、/compact のヒントを表示しないようにしました。

    contextui

    詳しく
    コンパクト化を無効にする DISABLE_COMPACT が設定されているときの表示が改善されました。今後はその状態では /compact(会話を圧縮するコマンド)の利用を促すヒントが表示されなくなります。コンパクト化を使わない設定にしているのに案内が出る、という不要な表示がなくなります。
修正 Fix 38
  • バックスラッシュでエスケープしたフラグが読み取り専用として自動許可され、任意コード実行につながりうる Bash ツールの権限バイパスを修正。

    permissionssecuritybash

    詳しく
    Bash ツールの権限チェックの抜け穴が修正されました。これまではバックスラッシュでエスケープしたフラグが読み取り専用コマンドと誤判定されて自動的に許可され、結果として任意のコードが実行されうる状態でした。セキュリティ上重要な修正で、確認なしに危険なコマンドが通ってしまうリスクがなくなります。
  • 複合 Bash コマンドが、Auto モードと bypass-permissions モードで安全チェックや明示的な ask ルールの強制プロンプトをバイパスする問題を修正。

    permissionssecuritybash

    詳しく
    複数のコマンドを連結した複合 Bash コマンドが、権限プロンプトを回避できてしまう問題が修正されました。Auto モードや bypass-permissions モードで、安全チェックや明示的な ask(確認を求める)ルールによる強制プロンプトを複合コマンドがすり抜けていましたが、これらでも正しく確認が出るようになります。権限ルールに頼って運用しているユーザーにとって、想定どおりの保護が働くようになる重要な修正です。
  • 環境変数の接頭辞を持つ読み取り専用コマンドが、変数が安全とわかっている場合(LANGTZNO_COLOR など)以外はプロンプトを出さない問題を修正。

    permissionsbash

    詳しく
    環境変数を前置きした読み取り専用コマンドの扱いが修正されました。以前はこうしたコマンドが無条件に通っていましたが、今後は LANGTZNO_COLOR など安全だと分かっている変数の場合のみプロンプトなしで許可され、それ以外の変数が付いていると確認が求められます。環境変数を悪用して権限チェックを抜けるのを防ぐための変更です。
  • /dev/tcp/.../dev/udp/... へのリダイレクトが、自動許可されるのではなくプロンプトを出すように修正。

    permissionssecuritybash

    詳しく
    Bash コマンドで /dev/tcp/.../dev/udp/... へリダイレクトする操作の扱いが修正されました。これらは実質的にネットワーク通信を行う特殊なパスですが、以前は自動的に許可されていました。今後は確認のプロンプトが出るようになり、意図しない外部通信を防ぎやすくなります。
  • 停止したストリーミング応答が、非ストリーミングモードにフォールバックせずタイムアウトする問題を修正。

    apinetwork

    詳しく
    ストリーミング(逐次受信)の応答が途中で止まったときの挙動が修正されました。以前は応答が滞るとそのままタイムアウトしていましたが、今後は非ストリーミングモードに切り替えて処理を続けようとします。通信が不安定な環境でも、応答が途切れて失敗する場面が減ります。
  • サーバーが小さな Retry-After を返すと 429 の再試行が約 13 秒で全試行を使い切る問題を修正。指数バックオフが最低値として適用されるようになりました。

    api

    詳しく
    レート制限(HTTP 429)時の再試行ロジックが修正されました。サーバーが短い Retry-After(再試行までの待ち時間)を返すと、約 13 秒で全リトライ回数を使い切ってしまっていましたが、今後は指数バックオフ(待ち時間を段階的に伸ばす方式)が最低値として適用されます。これにより、すぐに諦めて失敗するのではなく、十分に間隔を空けて再試行されるようになります。
  • 再起動後のトークン更新で MCP OAuth の oauth.authServerMetadataUrl の上書きが尊重されない問題を修正(ADFS などの IdP に影響)。

    mcpauth

    詳しく
    MCP サーバーの OAuth 認証における設定の不具合が修正されました。oauth.authServerMetadataUrl(認可サーバーのメタデータ取得先を上書きする設定)が、再起動後のトークン更新時に反映されていませんでした。ADFS など一部の IdP(認証基盤)を使う環境で認証が通らなくなる問題が解消されます。
  • kitty キーボードプロトコルが有効なとき、xterm と VS Code 統合ターミナルで大文字が小文字に落ちる問題を修正。

    uiide

    詳しく
    kitty キーボードプロトコル(キー入力を詳細に扱う拡張仕様)が有効なときの入力の不具合が修正されました。xterm や VS Code の統合ターミナルで、入力した大文字が小文字になってしまう問題が起きていました。これらのターミナルで文字化けなく正しく入力できるようになります。
  • macOS のテキスト置換が、置換を挿入せずトリガーの単語を削除する問題を修正。

    macosui

    詳しく
    macOS のテキスト置換機能(あらかじめ登録した短い語を自動で別の語に変換する機能)に関する不具合が修正されました。以前は置換後の語が挿入されず、トリガーとなる単語だけが消えてしまっていました。macOS でこの機能を使っているユーザーが、登録した変換を正しく入力できるようになります。
  • Bash 経由で保護パスへの書き込みを承認した後、--dangerously-skip-permissions が無言で accept-edits モードに格下げされる問題を修正。

    permissions

    詳しく
    権限をすべて省略する --dangerously-skip-permissions モードの不具合が修正されました。Bash 経由で保護されたパスへの書き込みを一度承認すると、その後モードが無言で accept-edits(編集のみ自動承認)に格下げされていました。今後は意図したモードが維持され、途中で権限の挙動が勝手に変わることがなくなります。
  • 管理者が削除した後も、プロセスを再起動するまで管理設定の許可ルールが有効なままになる問題を修正。

    permissionsenterprise

    詳しく
    組織が配布する管理設定(managed settings)の権限ルールに関する不具合が修正されました。管理者が許可ルールを削除しても、プロセスを再起動するまでそのルールが有効なまま残っていました。今後は削除が速やかに反映され、管理者がポリシーを変更した内容がすぐ効くようになります。
  • permissions.additionalDirectories の変更がセッション中に適用されない問題を修正。削除したディレクトリは即座にアクセスを失い、追加したものは再起動なしで機能します。

    permissionsconfig

    詳しく
    アクセスを許可する追加ディレクトリを指定する permissions.additionalDirectories の設定変更が、セッション中に反映されない問題が修正されました。今後は削除したディレクトリは即座にアクセスできなくなり、追加したディレクトリは再起動なしで使えるようになります。作業中に対象ディレクトリを調整したいユーザーにとって扱いやすくなります。
  • additionalDirectories からディレクトリを削除すると、--add-dir で渡した同じディレクトリへのアクセスも失効する問題を修正。

    permissionsconfig

    詳しく
    ディレクトリのアクセス管理に関する不具合が修正されました。additionalDirectories からディレクトリを削除すると、同じディレクトリを --add-dir で別途渡していてもそのアクセスまで失われていました。今後は両者が独立して扱われ、コマンドライン引数で指定したアクセスが意図せず取り消されることがなくなります。
  • Bash(cmd:*)Bash(git commit *) のワイルドカード権限ルールが、余分な空白やタブを含むコマンドにマッチしない問題を修正。

    permissionsbash

    詳しく
    ワイルドカードを使った Bash の権限ルールのマッチング不具合が修正されました。Bash(cmd:*)Bash(git commit *) のようなルールが、コマンド中に余分な空白やタブが含まれているとマッチに失敗していました。今後は空白の数に左右されず正しく一致するため、許可したはずのコマンドが通らない事態が減ります。
  • cd と他のセグメントを混ぜたパイプコマンドで、Bash(...) の拒否ルールがプロンプトに格下げされる問題を修正。

    permissionsbash

    詳しく
    Bash の拒否(deny)ルールの不具合が修正されました。cd と他のコマンドをパイプで混ぜたコマンドでは、本来ブロックすべき Bash(...) の拒否ルールが、単なる確認プロンプトに格下げされていました。今後は拒否ルールがそのまま適用され、禁止したコマンドが確認次第で実行できてしまう抜け穴がなくなります。
  • cut -d /paste -d /column -s /awk '{print $1}' file、および % を含むファイル名に対する誤った Bash 権限プロンプトを修正。

    permissionsbash

    詳しく
    無害なコマンドに対して誤って権限プロンプトが出る問題が修正されました。cut -d /paste -d /column -s /awk '{print $1}' file といったコマンドや、% を含むファイル名で不要な確認が表示されていました。今後はこれらが読み取り専用として正しく扱われ、余計な確認に煩わされなくなります。
  • JavaScript のプロトタイププロパティ(例: toString)と一致する名前の権限ルールが、settings.json を無言で無視させる問題を修正。

    permissionsconfig

    詳しく
    権限ルールの名前が原因で設定全体が壊れる不具合が修正されました。toString のように JavaScript のプロトタイププロパティと同名のルール名を使うと、settings.json が無言で丸ごと無視されていました。こうした名前を使っていても設定が正しく読み込まれるようになります。
  • --dangerously-skip-permissions を使うとき、Agent Teams のメンバーがリーダーの権限モードを継承しない問題を修正。

    agentspermissions

    詳しく
    Agent Teams(複数のエージェントが連携して作業する機能)での権限の引き継ぎ不具合が修正されました。--dangerously-skip-permissions を使っているとき、メンバーのエージェントがリーダーの権限モードを引き継いでいませんでした。今後はリーダーと同じ権限モードでメンバーも動くため、チーム全体で一貫した挙動になります。
  • フルスクリーンモードで MCP のツール結果にホバーするとクラッシュする問題を修正。

    mcpui

    詳しく
    フルスクリーンモードでの表示に関するクラッシュが修正されました。MCP ツールの実行結果にマウスカーソルを重ねるとアプリが落ちることがありました。MCP を使いながらフルスクリーンで作業するユーザーが、安定して操作できるようになります。
  • フルスクリーンモードで折り返した URL をコピーすると、改行位置に空白が挿入される問題を修正。

    ui

    詳しく
    フルスクリーンモードでの URL コピーの不具合が修正されました。画面幅で折り返して表示された URL をコピーすると、折り返し位置に余計な空白が混入していました。今後はそのまま貼り付けても壊れない URL がコピーされます。
  • 編集したファイルが 10KB を超えるとき、--resume で UI からファイル編集の差分が消える問題を修正。

    agentsui

    詳しく
    セッションを再開する --resume での表示不具合が修正されました。編集したファイルが 10KB を超える場合、再開後に画面からファイル編集の差分(diff)が消えていました。大きめのファイルを扱った会話を再開しても、変更内容が正しく表示され続けるようになります。
  • /resume ピッカーの複数の問題を修正: --resume <name> が編集不可で開く、フィルタの再読込で検索状態が消える、空のリストが矢印キーを飲み込む、プロジェクト間で古い、過渡的なタスクステータスのテキストが会話の要約を置き換える。

    agentsui

    詳しく
    会話を選んで再開する /resume ピッカーの複数の不具合がまとめて修正されました。--resume <name> で開いた会話が編集不可になる、フィルタの再読み込みで検索状態が消える、空のリストで矢印キーが効かない、別プロジェクトの古い情報が残る、一時的なタスクステータスの文字が会話の要約を上書きする、といった問題が解消されます。/resume を頻繁に使うユーザーにとって選択・操作が安定します。
  • /export が絶対パスと ~ を尊重せず、ユーザー指定の拡張子を無言で .txt に書き換える問題を修正。

    ui

    詳しく
    会話を書き出す /export コマンドの不具合が修正されました。以前は絶対パスやホームディレクトリを表す ~ が正しく扱われず、さらにユーザーが指定した拡張子を無言で .txt に書き換えていました。今後は指定したパスと拡張子がそのまま尊重され、意図した場所・形式で保存できます。
  • 未知または将来のモデル ID に対して /effort max が拒否される問題を修正。

    models

    詳しく
    推論の労力を最大にする /effort max の不具合が修正されました。未知のモデル ID や将来追加されるモデル ID に対しては、この設定が拒否されていました。今後はそうしたモデルでも /effort max を指定できるようになります。
  • プラグインのフロントマターの name が YAML の真偽値キーワードのとき、スラッシュコマンドピッカーが壊れる問題を修正。

    pluginscommands

    詳しく
    スラッシュコマンドの一覧を表示するピッカーの不具合が修正されました。プラグインのフロントマター(定義ファイル冒頭のメタ情報)の name が、YAML で真偽値と解釈されるキーワード(yes / no / true など)だと、ピッカーが壊れていました。今後はそうした名前のコマンドがあっても一覧が正しく表示されます。
  • メッセージの再マウント後にレート制限のアップセルテキストが隠れる問題を修正。

    apiui

    詳しく
    レート制限に関する案内表示の不具合が修正されました。メッセージが再描画(remount)されると、上位プランを勧めるアップセルのテキストが消えてしまっていました。今後は再描画後も案内が表示され続けます。
  • _meta["anthropic/maxResultSizeChars"] を持つ MCP ツールが、トークンベースの永続化層をバイパスしない問題を修正。

    mcp

    詳しく
    MCP ツールの結果保存に関する不具合が修正されました。_meta["anthropic/maxResultSizeChars"] で結果サイズの上限を文字数で指定しているツールが、トークン数を基準とする永続化層を回避できていませんでした。今後は指定どおりに扱われ、文字数ベースの上限が正しく機能します。
  • 前の文字起こしの処理中にプッシュ・トゥ・トークのキーを押し直すと、音声モードが入力に多数の空白文字を漏らす問題を修正。

    voiceui

    詳しく
    音声入力モードの不具合が修正されました。前の発話の文字起こしがまだ処理中のうちにプッシュ・トゥ・トーク(押している間だけ録音する)のキーを押し直すと、入力欄に大量の空白文字が紛れ込んでいました。音声で素早く連続入力するユーザーにとって、余計な空白が混入しなくなります。
  • npm ベースのインストールで、DISABLE_AUTOUPDATER が npm レジストリのバージョンチェックとシンボリックリンクの変更を完全に抑制しない問題を修正。

    updater

    詳しく
    自動更新を無効にする DISABLE_AUTOUPDATER の不具合が修正されました。npm でインストールした環境では、これを設定しても npm レジストリへのバージョン確認やシンボリックリンクの変更が完全には止まっていませんでした。今後はこれらも抑制され、更新を確実に無効化したい環境で意図どおり動きます。
  • リモートコントロールの権限ハンドラのエントリがセッションのライフタイム中ずっと保持されるメモリリークを修正。

    agentsperformance

    詳しく
    メモリリークが修正されました。Remote Control(リモート操作)機能の権限ハンドラのエントリが解放されず、セッションが続く間ずっとメモリに残り続けていました。今後は不要になった時点で破棄され、長時間使うセッションでのメモリ消費が抑えられます。
  • エラーで失敗するバックグラウンドのサブエージェントが、親エージェントに部分的な進捗を報告しない問題を修正。

    agents

    詳しく
    バックグラウンドで動くサブエージェントのエラー処理が修正されました。サブエージェントがエラーで失敗したとき、そこまでの途中経過が親エージェントに報告されていませんでした。今後は失敗時でも部分的な進捗が伝わるため、親側が状況を把握して対応しやすくなります。
  • prompt 型の Stop/SubagentStop フックが長いセッションで失敗する問題と、フック評価器の API エラーが本当のメッセージではなく「JSON validation failed」を表示する問題を修正。

    hooksagents

    詳しく
    フック(特定のタイミングで自動実行する仕組み)に関する2つの不具合が修正されました。prompt 型の Stop / SubagentStop フックが長いセッションで失敗していた問題と、フック評価器の API エラーが本当の原因ではなく「JSON validation failed」という誤ったメッセージを表示していた問題が解消されます。フックの不調を診断しやすくなります。
  • 却下したときのフィードバックアンケートの描画を修正。

    feedbackui

    詳しく
    フィードバックアンケートの表示不具合が修正されました。アンケートを閉じた(却下した)際の描画がおかしくなっていました。今後はアンケートを閉じても画面が正しく表示されます。
  • 作業ディレクトリ外のパターンファイルを読むとき、Bash の grep -f FILE / rg -f FILE がプロンプトを出さない問題を修正。

    permissionsbash

    詳しく
    Bash の権限チェックの抜けが修正されました。grep -f FILErg -f FILE で、検索パターンを記したファイルを作業ディレクトリの外から読み込むとき、確認プロンプトが出ていませんでした。今後はこうした外部ファイルの読み込みでも確認が求められ、作業範囲外へのアクセスを意図せず許してしまうことを防げます。
  • 古いサブエージェント worktree のクリーンアップが、追跡されていないファイルを含む worktree を削除する問題を修正。

    agentsworktree

    詳しく
    古くなったサブエージェント用 worktree の自動削除に関する不具合が修正されました。以前は、追跡対象外(untracked)のファイルを含む worktree もクリーンアップで削除していました。今後はそうした worktree は削除せず残すため、まだコミットしていないファイルが消えてしまう事故を防げます。
  • sandbox.network.allowMachLookup が macOS で有効にならない問題を修正。

    sandboxmacos

    詳しく
    macOS でのサンドボックス設定の不具合が修正されました。sandbox.network.allowMachLookup(macOS の Mach ルックアップという仕組みでの通信を許可する設定)が反映されていませんでした。今後はこの設定が正しく効くようになり、macOS でサンドボックス環境を調整しているユーザーに関係します。
  • [VSCode] CLAUDE_CODE_GIT_BASH_PATH が設定されているか Git が既定の場所にインストールされているとき、Windows で誤検出の「requires git-bash」エラーが出る問題を修正。

    idewindows

    詳しく
    VS Code 拡張で、Windows での誤ったエラー表示が修正されました。CLAUDE_CODE_GIT_BASH_PATH を設定しているか Git が既定の場所にインストールされているにもかかわらず、「requires git-bash」(git-bash が必要)という誤検出のエラーが出ていました。今後は環境が整っていれば正しく認識され、Windows ユーザーが不要なエラーに悩まされなくなります。
  • CLAUDE_CODE_MAX_CONTEXT_TOKENS が、設定されている DISABLE_COMPACT を尊重するよう修正。

    contextconfig

    詳しく
    コンテキストの最大トークン数を指定する CLAUDE_CODE_MAX_CONTEXT_TOKENS の挙動が修正されました。コンパクト化(会話の自動圧縮)を無効にする DISABLE_COMPACT が設定されている場合に、その設定が尊重されるようになりました。コンパクト化を意図的にオフにしているユーザーにとって、自動圧縮が走らない想定どおりの動作になります。
原文 Markdown を表示
## 2.1.98

- Added interactive Google Vertex AI setup wizard accessible from the login screen when selecting "3rd-party platform", guiding you through GCP authentication, project and region configuration, credential verification, and model pinning
- Added `CLAUDE_CODE_PERFORCE_MODE` env var: when set, Edit/Write/NotebookEdit fail on read-only files with a `p4 edit` hint instead of silently overwriting them
- Added Monitor tool for streaming events from background scripts
- Added subprocess sandboxing with PID namespace isolation on Linux when `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` is set, and `CLAUDE_CODE_SCRIPT_CAPS` env var to limit per-session script invocations
- Added `--exclude-dynamic-system-prompt-sections` flag to print mode for improved cross-user prompt caching
- Added `workspace.git_worktree` to the status line JSON input, set whenever the current directory is inside a linked git worktree
- Added W3C `TRACEPARENT` env var to Bash tool subprocesses when OTEL tracing is enabled, so child-process spans correctly parent to Claude Code's trace tree
- LSP: Claude Code now identifies itself to language servers via `clientInfo` in the initialize request
- Fixed a Bash tool permission bypass where a backslash-escaped flag could be auto-allowed as read-only and lead to arbitrary code execution
- Fixed compound Bash commands bypassing forced permission prompts for safety checks and explicit ask rules in auto and bypass-permissions modes
- Fixed read-only commands with env-var prefixes not prompting unless the var is known-safe (`LANG`, `TZ`, `NO_COLOR`, etc.)
- Fixed redirects to `/dev/tcp/...` or `/dev/udp/...` not prompting instead of auto-allowing
- Fixed stalled streaming responses timing out instead of falling back to non-streaming mode
- Fixed 429 retries burning all attempts in ~13s when the server returns a small `Retry-After` — exponential backoff now applies as a minimum
- Fixed MCP OAuth `oauth.authServerMetadataUrl` config override not being honored on token refresh after restart, affecting ADFS and similar IdPs
- Fixed capital letters being dropped to lowercase on xterm and VS Code integrated terminal when the kitty keyboard protocol is active
- Fixed macOS text replacements deleting the trigger word instead of inserting the substitution
- Fixed `--dangerously-skip-permissions` being silently downgraded to accept-edits mode after approving a write to a protected path via Bash
- Fixed managed-settings allow rules remaining active after an admin removed them, until process restart
- Fixed `permissions.additionalDirectories` changes not applying mid-session — removed directories lose access immediately and added ones work without restart
- Fixed removing a directory from `additionalDirectories` revoking access to the same directory passed via `--add-dir`
- Fixed `Bash(cmd:*)` and `Bash(git commit *)` wildcard permission rules failing to match commands with extra spaces or tabs
- Fixed `Bash(...)` deny rules being downgraded to a prompt for piped commands that mix `cd` with other segments
- Fixed false Bash permission prompts for `cut -d /`, `paste -d /`, `column -s /`, `awk '{print $1}' file`, and filenames containing `%`
- Fixed permission rules with names matching JavaScript prototype properties (e.g. `toString`) causing `settings.json` to be silently ignored
- Fixed agent team members not inheriting the leader's permission mode when using `--dangerously-skip-permissions`
- Fixed a crash in fullscreen mode when hovering over MCP tool results
- Fixed copying wrapped URLs in fullscreen mode inserting spaces at line breaks
- Fixed file-edit diffs disappearing from the UI on `--resume` when the edited file was larger than 10KB
- Fixed several `/resume` picker issues: `--resume <name>` opening uneditable, filter reload wiping search state, empty list swallowing arrow keys, cross-project staleness, and transient task-status text replacing conversation summaries
- Fixed `/export` not honoring absolute paths and `~`, and silently rewriting user-supplied extensions to `.txt`
- Fixed `/effort max` being denied for unknown or future model IDs
- Fixed slash command picker breaking when a plugin's frontmatter `name` is a YAML boolean keyword
- Fixed rate-limit upsell text being hidden after message remounts
- Fixed MCP tools with `_meta["anthropic/maxResultSizeChars"]` not bypassing the token-based persist layer
- Fixed voice mode leaking dozens of space characters into the input when re-holding the push-to-talk key while the previous transcript is still processing
- Fixed `DISABLE_AUTOUPDATER` not fully suppressing the npm registry version check and symlink modification on npm-based installs
- Fixed a memory leak where Remote Control permission handler entries were retained for the lifetime of the session
- Fixed background subagents that fail with an error not reporting partial progress to the parent agent
- Fixed prompt-type Stop/SubagentStop hooks failing on long sessions, and hook evaluator API errors showing "JSON validation failed" instead of the real message
- Fixed feedback survey rendering when dismissed
- Fixed Bash `grep -f FILE` / `rg -f FILE` not prompting when reading a pattern file outside the working directory
- Fixed stale subagent worktree cleanup removing worktrees that contain untracked files
- Fixed `sandbox.network.allowMachLookup` not taking effect on macOS
- Improved `/resume` filter hint labels and added project/worktree/branch names in the filter indicator
- Improved footer indicators (Focus, notifications) to stay on the mode-indicator row instead of wrapping at narrow terminal widths
- Improved `/agents` with a tabbed layout: a Running tab shows live subagents, and the Library tab adds Run agent and View running instance actions
- Improved `/reload-plugins` to pick up plugin-provided skills without requiring a restart
- Improved Accept Edits mode to auto-approve filesystem commands prefixed with safe env vars or process wrappers
- Improved Vim mode: `j`/`k` in NORMAL mode now navigate history and select the footer pill at the input boundary
- Improved hook errors in the transcript to include the first line of stderr for self-diagnosis without `--debug`
- Improved OTEL tracing: interaction spans now correctly wrap full turns under concurrent SDK calls, and headless turns end spans per-turn
- Improved transcript entries to carry final token usage instead of streaming placeholders
- Updated the `/claude-api` skill to cover Managed Agents alongside Claude API
- [VSCode] Fixed false-positive "requires git-bash" error on Windows when `CLAUDE_CODE_GIT_BASH_PATH` is set or Git is installed at a default location
- Fixed `CLAUDE_CODE_MAX_CONTEXT_TOKENS` to honor `DISABLE_COMPACT` when it is set.
- Dropped `/compact` hints when `DISABLE_COMPACT` is set.