一覧へ戻るv2.1.212

バックナンバー · BACK ISSUE

v2.1.212

破壊的変更
1破壊的変更2新機能17改善28修正· 48 件の変更

/fork を、会話を新しいバックグラウンドセッションへ複製する動作に刷新(従来のセッション内サブエージェントは /subtask に分離)。web 検索とサブエージェント起動にセッション全体の上限を追加し、長時間かかる MCP 呼び出しを自動でバックグラウンド化します。Task ツールの mode パラメータを非推奨化し、あわせてプランモード・worktree・フック・/ultrareview・バックグラウンドセッション・テレメトリ・web 検索/フェッチにわたる多数の修正を含みます。

破壊的変更Breaking1
  • Task ツールの mode パラメータを非推奨化しました(現在は無視されます)。サブエージェントは既定で親セッションの権限モードを継承します。

    subagentspermissions

    詳しく
    Task ツールでサブエージェントを起動する際の mode パラメータが非推奨になり、指定しても無視されるようになりました。以前はこのパラメータでサブエージェントの権限モードを個別に指定できましたが、今後はサブエージェントが親セッションの権限モードを既定で受け継ぎます。mode に依存していた呼び出し側は、親セッション側でモードを設定する形へ移行する必要があります。
新機能Feature2
  • auto モードの設定を既定に戻す claude auto-mode reset を追加しました。実行前に確認プロンプトが出ます(--yes を渡すと省略できます)。

    auto-modeconfig

    詳しく
    auto モード(確認を省いて自動でツールを実行するモード)の設定を、初期状態の既定値に一括で戻す claude auto-mode reset コマンドが追加されました。誤って戻さないよう実行前に確認プロンプトが表示され、スクリプトなどで確認を飛ばしたい場合は --yes を付けます。auto モードの設定をいじりすぎて挙動が分からなくなったときに、素早くリセットできます。
  • エージェントビューで /resume を入力すると、過去のセッション(一覧から削除したものも含む)の選択画面が開き、選んだものをバックグラウンドセッションとして再開できるようになりました。

    resumeagentsbackground

    詳しく
    エージェントビュー内で /resume を打つと、過去のセッションを一覧から選ぶピッカーが開くようになりました。一覧から削除済みのセッションも候補に含まれ、選んだものはバックグラウンドセッションとして再開されます。エージェントビューを離れずに、以前のやり取りを手早く呼び戻して続きを走らせたい人に便利です。
改善Improvement17
  • /fork が、作業を続けたまま会話を新しいバックグラウンドセッション(claude agents に独立した行として並ぶ)へ複製するようになりました。従来 /fork が起動していたセッション内サブエージェントは /subtask に分離されています。

    forkbackgroundsubagents

    詳しく
    会話を分岐させる /fork の動作が変わりました。以前はその場(セッション内)でサブエージェントを起動していましたが、今後は今の会話を丸ごと新しいバックグラウンドセッションへコピーし、claude agents に独立した行として並べつつ手元の作業を続けられます。従来のセッション内で分岐する使い方は /subtask という別コマンドに移りました。分岐した会話を並行で走らせたい人は /fork、その場で下位タスクを回したい人は /subtask を使い分けます。
  • WebSearch ツールの呼び出しにセッション全体の上限(既定 200、CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION で調整可能)を追加し、検索の暴走ループを止めるようにしました。

    websearchconfig

    詳しく
    1 つのセッション内で WebSearch(web 検索)ツールを呼べる回数に上限が設けられました。既定は 200 回で、環境変数 CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION で増減できます。モデルが検索を延々と繰り返す暴走ループに陥ってトークンや時間を浪費するのを防ぐための安全装置で、通常の利用ではまず到達しません。
  • サブエージェントの起動数にセッションごとの上限(既定 200、CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION で上書き可能)を追加し、委任の暴走ループを止めるようにしました。/clear で残数がリセットされます。

    subagentsconfig

    詳しく
    1 つのセッション内で起動できるサブエージェントの数に上限が設けられました。既定は 200 で、環境変数 CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION で変更できます。サブエージェントが際限なく次のサブエージェントを呼び続ける暴走(委任ループ)を防ぐための仕組みで、/clear で会話をクリアすると残り回数(バジェット)も戻ります。
  • 2 分を超えて実行される MCP ツール呼び出しが、セッションを操作可能に保つため自動でバックグラウンドへ移るようになりました。しきい値の変更や無効化は CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS で行えます。

    mcpbackgroundconfig

    詳しく
    MCP ツールの呼び出しが 2 分を超えて続くと、自動的にバックグラウンドへ回され、その間もセッションで別の操作を続けられるようになりました。以前は長時間かかる MCP 呼び出しの完了までセッションが待たされていました。しきい値(ミリ秒)は環境変数 CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS で調整でき、この機能を無効化することもできます。
  • 529 エラーやレート制限されたリクエストを、上限付きのバックオフで再試行するようにし、web 検索と web フェッチの信頼性を改善。

    websearchapi

    詳しく
    web 検索と web フェッチの安定性を改善しました。サーバ側が過負荷を示す 529 エラーや、レート制限にかかったリクエストに対して、待ち時間を段階的に延ばしつつ上限を設けた再試行(バックオフ)を行うようになりました。一時的な混雑で検索や取得が失敗していた場面でも、自動的にやり直して成功しやすくなります。
  • プロンプトキャッシュを改善。会話途中のシステムブロックが、LLM ゲートウェイやカスタム base URL(Bedrock・Vertex・1P)の背後でも効くようになりました。

    performanceapi

    詳しく
    プロンプトキャッシュ(繰り返し送る内容を再利用して費用と時間を抑える仕組み)を改善しました。会話の途中に挟まるシステムブロックのキャッシュが、これまでうまく効かなかった LLM ゲートウェイ経由やカスタムの base URL(Bedrock・Vertex・1P)の環境でも機能するようになりました。これらの経路で使う人のトークン消費と応答速度が改善します。
  • バックグラウンドエージェントへのアタッチを改善。コールドアタッチ時に、空白の待ち時間ではなく、セッション起動中でも整形済みのトランスクリプトをすぐ表示するようになりました。

    agentsbackgroundui

    詳しく
    停止していたバックグラウンドエージェントに接続(コールドアタッチ)する際の体験を改善しました。以前はセッションが起動し終わるまで画面が空白のまま待たされていましたが、今後は起動中でも、整形済みのこれまでのやり取り(トランスクリプト)を即座に表示します。接続直後から会話の内容を確認でき、待たされる感覚が減ります。
  • エージェント間メッセージングのトークン使用量を削減。SendMessage の本文が、再生される履歴やツール結果に重複して含まれなくなりました。

    agentsperformance

    詳しく
    エージェント同士がやり取りする際のトークン消費を削減しました。以前は SendMessage で送ったメッセージ本文が、再生される会話履歴とツール結果の両方に重複して入り、無駄にトークンを消費していました。今後は重複がなくなり、複数エージェントを連携させる作業でのコストが下がります。
  • セッションにタイトルが無いとき、/fork で作った複製をプロンプトの内容にちなんで命名するように変更し、エージェントビューで見分けやすくしました。

    forkagents

    詳しく
    /fork で会話を複製する際、元のセッションにタイトルが付いていない場合は、入力したプロンプトの内容をもとに複製へ名前を付けるようになりました。以前は無題のまま並んで区別しにくかったのが、今後はエージェントビューの行を見ただけで、どの分岐かを見分けやすくなります。
  • 引数なしの /btw が、直近のやり取りでサイド質問パネルを開き直し、以前の回答を見返せるように変更。

    btwui

    詳しく
    引数を付けずに /btw(本筋とは別の脇道の質問をする機能)を実行すると、直近のやり取りに対するサイド質問パネルを開き直すようになりました。これにより、これまでにその脇道で得た回答をさかのぼって見返せます。前に聞いた内容をもう一度確認したいときに便利です。
  • こちらの入力が不要な状態でバックグラウンドエージェントが完了したとき、フッターの ヒントが一瞬 N done と点滅するように変更。

    uibackgroundagents

    詳しく
    こちらの操作を待っているものが何も無い状態で、バックグラウンドのエージェントが処理を終えたとき、フッターの ヒントが一瞬だけ N done(N 件完了)と点滅して知らせるようになりました。画面をずっと見ていなくても、バックグラウンド作業が終わったことに気づきやすくなります。
  • Enterprise の forceLoginMethod を、ターミナルだけでなく VS Code 拡張・SDK・setup-tokeninstall-github-app のログインでも強制するように変更。

    enterpriseauth

    詳しく
    Enterprise 向けの forceLoginMethod(ログイン方法を組織で固定する設定)が、これまでターミナルのログインにしか適用されていませんでしたが、VS Code 拡張・SDK・setup-tokeninstall-github-app によるログインにも一貫して適用されるようになりました。組織が定めたログイン方法が、より多くの入り口で確実に守られます。これらの経路で別のログイン方法を使っていた場合は、指定された方法へ切り替える必要があります。
  • セッションのトランスクリプトが、アシスタントの各メッセージに推論の努力レベルを記録するように変更。

    telemetrymodel

    詳しく
    セッションのトランスクリプト(やり取りの記録)に、アシスタントの各メッセージがどの程度の推論の努力レベル(reasoning effort)で生成されたかを記録するようになりました。あとから記録を見返した際に、各応答がどの思考の深さで作られたのかを把握でき、分析やデバッグに役立ちます。
  • ヘッドレス/SDK セッションが、set_model 制御リクエストをターンの途中でも適用するように変更。次のモデルとの往復から、次のターンを待たずに新しいモデルが使われます。

    sdkmodel

    詳しく
    ヘッドレスや SDK のセッションで、モデルを切り替える set_model 制御リクエストが、ターンの途中でも反映されるようになりました。以前は次のターンまで切り替えが待たされていましたが、今後は次にモデルとやり取りする往復から新しいモデルが使われます。処理中に動的にモデルを変えたいプログラム連携で、切り替えが素早く効きます。
  • エージェントビュー / claude agents --json を変更。サンドボックス・MCP 入力・管理設定のプロンプト待ちのセッションが、「Working」ではなく「Needs input」と表示されるようになりました。

    agentssandboxmcp

    詳しく
    エージェントビューと claude agents --json の状態表示を変更しました。サンドボックスの確認、MCP への入力、管理設定(managed-settings)のプロンプトなど、ユーザーの入力を待って止まっているセッションが、これまで「Working(作業中)」と表示されていたのを「Needs input(入力が必要)」と正しく示すようになりました。手が止まっているセッションに気づきやすくなります。
  • 認証ステータスパネルのタイトルを「Cloud authentication」から「Authentication」に更新。

    authui

    詳しく
    認証状態を表示するパネルのタイトルを「Cloud authentication」から「Authentication」に変更しました。クラウド以外の認証方法も含む実態に合わせた、より適切な名称になっています。表示上の見直しで、機能自体は変わりません。
  • 以前のリリースノート(2.1.200)を訂正。tmux は 3.6 系まで同期出力(synchronized output)に非対応で、対応する新しい tmux は自動的に検出されます。

    tmuxdocs

    詳しく
    バージョン 2.1.200 のリリースノートの記述を訂正するものです。tmux は 3.6 系までは同期出力(synchronized output、描画のちらつきを抑える機能)に対応しておらず、対応しているのはそれより新しい tmux です。対応版かどうかは自動で判定されるため、利用者側で特別な設定は不要です。
修正Fix28
  • プランモードが、ファイルを変更する Bash コマンド(touchrm など)を、権限プロンプトや SDK の canUseTool コールバックを経ずに自動実行していた問題を修正。

    permissionssandbox

    詳しく
    調査・計画に徹するはずのプランモードで、touchrm のようにファイルを書き換える Bash コマンドが、確認プロンプトや SDK の canUseTool コールバックを通さずに勝手に実行されてしまう問題を修正しました。プランモードは本来ファイルを変更しない前提のため、これは意図しない副作用でした。今後は権限チェックが正しく働き、無断でファイルが変更されなくなります。
  • worktree の作成が、リポジトリにコミットされた .claude/worktrees のシンボリックリンクをたどり、リポジトリ外にファイルを作りうる問題を修正。

    worktreesecurity

    詳しく
    worktree を作成する際に、リポジトリにコミットされた .claude/worktrees のシンボリックリンク(別の場所を指す参照)をそのままたどってしまい、リポジトリの外にファイルが作られる恐れがある問題を修正しました。悪意あるリポジトリがこのリンクを仕込むことで、想定外の場所に書き込ませる攻撃につながりかねませんでした。今後はリンクをたどらず、リポジトリ内に安全に worktree を作成します。
  • ツールがストリーム途中で失敗・完了したときに continue:false フックの停止指示が無視される問題と、フック基盤側のエラーがユーザーによる拒否として誤報告される問題を修正。

    hooks

    詳しく
    フックが continue:false(処理を止める指示)を返しても、対象ツールがストリームの途中で失敗したり完了したりした場合に、その停止指示が握りつぶされてしまう問題を修正しました。あわせて、フックの仕組み自体で起きたエラーが「ユーザーが拒否した」と誤って報告される問題も直しています。フックによる制御が意図どおり効き、エラーの原因も正しく表示されます。
  • print/SDK モードで Bash ツールの実行中に SIGTERM を受けると、コマンドのプロセスツリーが孤立していた問題を修正。CLI はターンを中断してプロセスツリーを終了させ、143 で終了するようになりました。

    backgroundsdk

    詳しく
    print モードや SDK で Bash ツールを実行している最中に SIGTERM(終了シグナル)を受け取ると、そのコマンドから派生した子プロセス群(プロセスツリー)が親を失って残り続ける問題を修正しました。今後は CLI が進行中のターンを中断し、プロセスツリーごと確実に終了させ、終了コード 143 で抜けます。CI やスクリプトでプロセスを止めたときに、ゴミプロセスが残らなくなります。
  • グループポリシーが PowerShell 5.1 をブロックしている Windows で、/backgroundclaude --bg が「EUNKNOWN: unknown error, uv_spawn」で失敗する問題を修正。デーモンが PowerShell 7 を優先するようになりました。

    windowsbackground

    詳しく
    Windows でグループポリシー(組織の管理設定)が PowerShell 5.1 の実行をブロックしている環境で、/backgroundclaude --bg が「EUNKNOWN: unknown error, uv_spawn」というエラーで失敗する問題を修正しました。今後はバックグラウンド処理を担うデーモンが PowerShell 7 を優先して使うため、5.1 が制限された環境でもバックグラウンドセッションを起動できます。
  • パスの自動補完ポップアップが開いている間、シェルモード(!)がファイルパスを含むコマンドを実行しなかった問題を修正。

    uiinput

    詳しく
    先頭に ! を付けて直接コマンドを走らせるシェルモードで、ファイルパスを含むコマンドを入力するとパスの自動補完ポップアップが開き、その状態では Enter を押してもコマンドが実行されない問題を修正しました。今後は補完候補が出ていても、そのままコマンドを実行できます。
  • auto モードの拒否通知で、長い拒否理由が絵文字の途中で切り詰められると文字化けして表示される問題を修正。

    auto-modeui

    詳しく
    auto モードで操作が拒否された際の通知で、拒否理由の文章が長く、ちょうど絵文字の途中で切り詰められると、その部分が文字化けして表示される問題を修正しました。今後は絵文字の境界を考慮して切り詰められ、崩れた文字が出なくなります。
  • 拡張キーレポートに対応したターミナルで、エージェントビューのディスパッチ入力欄で Ctrl+J が改行を挿入しない問題を修正。あわせて改行のショートカットを ? ヘルプオーバーレイに表示するようにしました。

    agentsinput

    詳しく
    拡張キーレポート(キー入力を細かく通知する機能)に対応したターミナルで、エージェントビューのディスパッチ入力欄において Ctrl+J を押しても改行が入らない問題を修正しました。あわせて、この改行ショートカットを ? で開くヘルプ一覧にも載せ、存在に気づきやすくしました。複数行の指示を入力したい人に役立ちます。
  • /ultrareview#123PR 123・貼り付けた PR の URL といった PR 参照を受け付けない問題を修正。エラーヒントが、実際に入力したコマンド名を示すようになりました。

    ultrareview

    詳しく
    コードレビュー用の /ultrareview が、#123PR 123、貼り付けた PR の URL といった書き方の PR 指定をうまく解釈できず弾いてしまう問題を修正しました。今後はこれらの形式で PR を指定できます。あわせて、エラー時のヒントが実際に入力したコマンド名を反映するようになり、案内が分かりやすくなりました。
  • /ultrareview <branch> が、リモートに存在するブランチを origin から取得しない問題を修正。タイプミス時には最も近いブランチ名を提案するようになりました。

    ultrareview

    詳しく
    /ultrareview <branch> でブランチを指定したとき、そのブランチがリモート(origin)にはあるのにローカルに無いと取得しに行かず失敗する問題を修正しました。今後はリモートから自動で取得します。さらに、ブランチ名を打ち間違えた場合には、最も近い名前のブランチを候補として提案するようになりました。
  • /clear の後の新しい会話で、/ultrareview が課金確認をスキップしていた問題を修正。

    ultrareviewcost

    詳しく
    /clear で会話をクリアした直後の新しい会話で /ultrareview を実行すると、本来出るはずの課金(billing)確認が表示されずに処理が進んでしまう問題を修正しました。今後はクリア後の会話でも確認が正しく挟まれ、費用が発生する操作を意図せず走らせてしまうことがなくなります。
  • Claude Desktop での /ultrareview の「not a git repository」エラーが、ターミナルコマンドではなくプロジェクトのリポジトリフォルダを案内するように修正。

    ultrareview

    詳しく
    Claude Desktop で /ultrareview を使った際に出る「not a git repository(git リポジトリではない)」エラーの案内文を修正しました。以前はターミナルで打つコマンドを提案していましたが、Desktop 環境ではそぐわないため、今後はプロジェクトのリポジトリフォルダを指定するよう促します。Desktop 利用者が、状況に合った対処法を得られます。
  • リポジトリ設定が mTLS 証明書・追加 CA バンドル・OAuth スコープを構成しているとき、ホスト管理(hosted)セッションが起動時に失敗する問題を修正。これらの通信設定は警告を出して無視されるようになりました。

    hostedauth

    詳しく
    ホスト側で管理される hosted セッションで、リポジトリの設定に mTLS 証明書や追加の CA バンドル、OAuth スコープといった通信(transport)設定が書かれていると、起動時に失敗する問題を修正しました。これらの設定は hosted 環境では適用できないため、今後は警告を表示したうえで無視して起動を続けます。該当設定を含むリポジトリでも hosted セッションが立ち上がるようになります。
  • セッション再開前に offset/limit 付きで読んだファイルを編集しようとすると「File has not been read yet」という誤ったエラーが出る問題を修正。

    filesresume

    詳しく
    セッションを再開する前に、offset/limit を指定して一部だけ読み込んだファイルを、再開後に編集しようとすると「File has not been read yet(まだ読み込まれていません)」という誤ったエラーが出る問題を修正しました。今後は範囲指定で読んだファイルも読み込み済みとして正しく扱われ、再開後にそのまま編集できます。
  • print/SDK モードで --continue/--resume を使ってセッションを再開した後、ExitWorktree が「no active EnterWorktree session」で失敗する問題を修正。

    worktreesdk

    詳しく
    print モードや SDK で --continue--resume を使ってセッションを再開した後に ExitWorktree(worktree から抜ける操作)を呼ぶと、「no active EnterWorktree session(有効な EnterWorktree セッションがない)」というエラーで失敗する問題を修正しました。今後は再開後も worktree の状態が引き継がれ、正しく抜けられます。
  • 実行途中のセッションに参加したリモートコントロールのクライアントで、ワークフローのエージェントグリッドが空のままになる問題を修正。

    agentsworkflows

    詳しく
    セッションが動いている途中からリモートコントロールで参加したクライアントで、ワークフローのエージェントグリッド(各エージェントを並べた表示)が空のままになり、進行中のエージェントが見えない問題を修正しました。今後は途中参加でもグリッドに現在のエージェントが表示されます。
  • ストリーミングモードの制御リクエストが、ハンドラの処理完了前に完了扱いされ、セッション再起動時にリクエストを取りこぼしうる問題を修正。

    sdkbackground

    詳しく
    ストリーミングモードで送られる制御(control)リクエストが、それを処理するハンドラが終わる前に「完了した」と記録されてしまい、その隙にセッションが再起動するとリクエストが失われる問題を修正しました。今後はハンドラの処理が本当に終わってから完了扱いになるため、再起動をまたいでも取りこぼしません。
  • /fork で作られたバックグラウンドセッションが、状態の書き込み失敗の後に親セッションとの保護関係を失う問題を修正。

    forkbackground

    詳しく
    /fork で作成したバックグラウンドセッションには、実行中の親セッションを守るための保護(live-parent protection)が働いています。状態(state)の書き込みに失敗すると、この保護が外れてしまう問題を修正しました。今後は書き込みに失敗しても保護が維持され、親セッションが意図せず影響を受けなくなります。
  • エージェントビューから停止済みのバックグラウンドセッションを開き直すと黙って失敗する問題を修正。今後はセッションを再開するか、再開できない場合はその理由を表示し、強制的に再起動できるようにしました。

    agentsbackground

    詳しく
    エージェントビューで、すでに停止したバックグラウンドセッションを開き直そうとすると、何のフィードバックもなく黙って失敗する問題を修正しました。今後は正常なら再開し、再開できない場合はその理由を表示したうえで、強制的に再起動する選択肢を提示します。止まったセッションを復帰させたいときに、状況が分かって対処できます。
  • エージェントチームで、セッション内でチーム初期化が再実行されると、停止中のメンバーがリーダーに重複したアイドル通知を送りうる問題を修正。

    agents

    詳しく
    複数のエージェントが協調して動くエージェントチームで、セッションの途中でチームの初期化が再実行された場合に、停止しかけているメンバーがリーダーに対して同じアイドル(待機)通知を重複して送ってしまう問題を修正しました。今後は通知が二重にならず、リーダー側が状態を正しく把握できます。
  • ファイルパスが長いとき、プラン承認ダイアログのフッターで「ctrl+g to edit in <editor>」が分断される問題を修正。

    ui

    詳しく
    プラン(計画)を承認するダイアログのフッターに表示される「ctrl+g to edit in <editor>」という案内が、エディタのファイルパスが長い場合に途中で折り返されてバラバラに分断されてしまう問題を修正しました。今後は長いパスでも案内が読みやすい形で表示されます。
  • フルスクリーンモードで幅と高さを同時に変えるターミナルのリサイズ後、ウェルカムバナーが古いパネル幅のままになる問題を修正。

    ui

    詳しく
    フルスクリーンモードで、ターミナルの幅と高さを同時に変更するリサイズを行った後、起動時のウェルカムバナーが以前のパネル幅のままになり、新しいサイズに合わない表示になる問題を修正しました。今後はリサイズに追従して幅が更新され、崩れずに表示されます。
  • 幅の狭いレイアウトで、差分プレビューの行番号と +/- マーカーが失われる問題を修正。

    ui

    詳しく
    画面やペインの幅が狭いレイアウトで、差分(diff)プレビューの行番号や、追加・削除を示す +/- のマーカーが表示されなくなる問題を修正しました。今後は狭い表示でもこれらが保たれ、どこがどう変わったのかを読み取れます。
  • ファイルを部分的に読んだ後に @メンションが何も添付しない問題、プラグインのアンインストールが誤ったマーケットプレイスを対象にする問題、終了コード 143 で誤って「Command timed out」と表示される問題をまとめて修正。

    uiplugins

    詳しく
    3 つの不具合をまとめて修正しました。ファイルを一部だけ読み込んだ後に @メンションで参照しても何も添付されない問題、プラグインをアンインストールする際に誤ったマーケットプレイスを対象にしてしまう問題、そしてコマンドが終了コード 143(外部からの停止)で終わったときに誤って「Command timed out(タイムアウト)」と表示される問題です。いずれも意図どおりの動作・表示に直っています。
  • チャンク転送エンコーディングを受け付けない Azure Monitor などのエンドポイントで、OpenTelemetry の HTTP エクスポートが 411/400 で拒否される問題を修正。

    telemetry

    詳しく
    OpenTelemetry(計測データの送信規格)で HTTP を使ってデータをエクスポートする際、チャンク転送エンコーディング(内容を分割して送る方式)を受け付けない Azure Monitor などのエンドポイントで、リクエストが 411 や 400 エラーで拒否される問題を修正しました。今後はこれらの送信先にもテレメトリを正しく送れます。
  • SDK/ヘッドレスモードで TRACEPARENT が設定されているとき、OTLP のイベントログレコードに trace_id/span_id が欠落する問題を修正。

    telemetrysdk

    詳しく
    SDK やヘッドレスモードで環境変数 TRACEPARENT を設定してトレース情報を引き継ぐ場合に、OTLP(OpenTelemetry の送信形式)で出力されるイベントログのレコードに trace_idspan_id が付かない問題を修正しました。今後はこれらの識別子が正しく記録され、ログを分散トレースと突き合わせて追跡できます。
  • 画像を多く含む会話が誤って「Request too large」エラーで失敗する問題を修正し、実際の原因を説明するようエラーメッセージを改善。

    imagesapi

    詳しく
    画像を多数含む会話が、実際には送信可能なのに「Request too large(リクエストが大きすぎる)」エラーで誤って失敗してしまう問題を修正しました。あわせて、こうしたエラーが出た場合のメッセージを、本当の原因が分かる内容に改善しています。画像を多く扱う人が、無用なエラーに悩まされにくくなります。
  • API が過負荷のとき、web 検索と web フェッチが「API Error」という文字列を検索結果やページ内容として返す問題を修正。

    websearchapi

    詳しく
    API が過負荷状態のときに、web 検索や web フェッチが失敗を正しく扱わず、「API Error」という文字列をそのまま検索結果やページの中身として返してしまう問題を修正しました。以前はモデルがこのエラー文を本物の内容と誤解する恐れがありましたが、今後は失敗として適切に処理されます。
原文 Markdown を表示
## 2.1.212

- `/fork` now copies your conversation into a new background session (its own row in `claude agents`) while you keep working; the in-session subagent it used to launch is now `/subtask`
- Added `claude auto-mode reset` to restore the default auto-mode configuration, with a confirmation prompt (pass `--yes` to skip)
- Added a session-wide limit on WebSearch tool calls (default 200, tunable via `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION`) to stop runaway search loops
- Added a per-session cap on subagent spawns (default 200, override with `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION`) to stop runaway delegation loops; `/clear` resets the budget
- MCP tool calls running longer than 2 minutes now move to the background automatically so the session stays usable; configure the threshold or disable with `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS`
- Typing `/resume` in the agent view now opens a picker of past sessions — including sessions deleted from the list — and resumes your pick as a background session
- Fixed plan mode auto-running file-modifying Bash commands (e.g. `touch`, `rm`) without a permission prompt or SDK `canUseTool` callback
- Fixed worktree creation following a repository-committed symlink at `.claude/worktrees`, which could create files outside the repository
- Fixed a `continue:false` hook's halt being dropped when the tool fails or completes mid-stream, and hook infrastructure errors being misreported as user rejections
- Fixed SIGTERM during a running Bash tool orphaning the command's process tree in print/SDK mode; the CLI now aborts the turn, kills the tree, and exits 143
- Fixed `/background` and `claude --bg` failing with "EUNKNOWN: unknown error, uv_spawn" on Windows when Group Policy blocks PowerShell 5.1; the daemon now prefers PowerShell 7
- Fixed shell mode (`!`) not executing commands containing file paths while the path autocomplete popup was open
- Fixed auto-mode denial notifications rendering broken characters when a long denial reason was truncated mid-emoji
- Fixed Ctrl+J not inserting a newline in the agent view dispatch input on terminals with extended key reporting, and surfaced the newline shortcut in the `?` help overlay
- Fixed `/ultrareview` rejecting PR references like `#123`, `PR 123`, and pasted PR URLs; error hints now name the command you actually typed
- Fixed `/ultrareview <branch>` not fetching the branch from origin when it exists remotely; it now suggests the closest branch name on typos
- Fixed `/ultrareview` skipping the billing confirmation in a new conversation after `/clear`
- Fixed `/ultrareview`'s "not a git repository" error on Claude Desktop now suggesting the project's repository folder instead of terminal commands
- Fixed hosted (host-managed) sessions failing at startup when repository settings configured mTLS certs, extra CA bundles, or OAuth scopes; these transport settings are now ignored with a warning
- Fixed a spurious "File has not been read yet" error when editing a file that had been read with offset/limit before resuming a session
- Fixed `ExitWorktree` failing with "no active EnterWorktree session" after resuming a session with `--continue`/`--resume` in print/SDK mode
- Fixed the workflow agent grid staying empty for Remote Control clients that join a session mid-run
- Fixed streaming-mode control requests being marked complete before their handler finished, which could lose the request on session restart
- Fixed background sessions created with `/fork` losing their live-parent protection after a state write failure
- Fixed reopening a stopped background session from the agent view failing silently — it now resumes the session, or shows why it can't and lets you force a restart
- Fixed agent teams: a stopping teammate could send the leader duplicate idle notifications when team initialization re-ran within a session
- Fixed the plan-approval dialog footer splitting "ctrl+g to edit in <editor>" apart when the file path is long
- Fixed the welcome banner keeping its old panel widths after a combined width+height terminal resize in fullscreen mode
- Fixed diff previews losing their line numbers and +/- markers in narrow layouts
- Fixed @-mentions attaching nothing after a partial file read, plugin uninstall targeting the wrong marketplace, and false "Command timed out" on exit code 143
- Fixed OpenTelemetry HTTP exports being rejected with 411/400 by Azure Monitor and other endpoints that don't accept chunked transfer encoding
- Fixed OTLP event log records missing `trace_id`/`span_id` when `TRACEPARENT` is set in SDK/headless mode
- Fixed conversations with many images incorrectly failing with "Request too large" errors, and improved the error message to explain the actual cause
- Fixed web search and web fetch returning "API Error" text as search results or page content when the API was overloaded
- Improved web search and web fetch reliability by retrying 529 errors and rate-limited requests with bounded backoff
- Improved prompt caching: the mid-conversation system block now works behind LLM gateways and custom base URLs (Bedrock, Vertex, 1P)
- Improved background agent attach: cold-attaching now instantly shows the formatted transcript while the session boots, instead of a blank wait
- Reduced token usage in inter-agent messaging: `SendMessage` bodies are no longer duplicated into replayed history and tool results
- Changed `/fork` to name the copy after your prompt when the session has no title, so the row is recognizable in the agent view
- Changed bare `/btw` to reopen the side-question panel on your most recent exchange so you can browse earlier answers
- Changed the `←` footer hint to pulse `N done` for a moment when a background agent finishes while nothing needs your input
- Deprecated the Task tool's `mode` parameter (now ignored); subagents inherit the parent session's permission mode by default
- Changed Enterprise `forceLoginMethod` to be enforced for VS Code extension, SDK, `setup-token`, and `install-github-app` logins, not just the terminal
- Changed session transcripts to record the reasoning effort level on each assistant message
- Changed headless/SDK sessions to apply a `set_model` control request mid-turn; the next model round-trip uses the new model instead of waiting for the next turn
- Changed agent view / `claude agents --json`: sessions waiting on a sandbox, MCP-input, or managed-settings prompt now show as "Needs input" instead of "Working"
- Updated the auth status panel title from "Cloud authentication" to "Authentication"
- Corrected an earlier release note (2.1.200): tmux through the 3.6 series lacks synchronized output; newer tmux with support is detected automatically