一覧へ戻るv2.1.251

バックナンバー · BACK ISSUE

v2.1.251

破壊的変更
▲3破壊的変更✦5新機能✚22改善◆41修正· 71 件の変更

大型リリース。PreModelSwitch/PostModelSwitch フック、フォアグラウンドサブエージェントの Remote Control へのライブ配信、/usage・/cost での支出・プロンプトキャッシュの可視化などの新機能に加え、多数のセキュリティ・信頼性修正を含みます。サンドボックスを弱める管理設定・ANTHROPIC_CUSTOM_HEADERS・env からの CLAUDE_CONFIG_DIR/TMPDIR 設定は承認必須化または無効化され、破壊的変更となります。

▲破壊的変更Breaking3
  • サンドボックスの TLS を終端したり、サンドボックスの通信を独自プロキシ経由にしたり、認証情報を注入したり、サンドボックスの分離を弱めたりするサーバー管理設定を、適用前に承認を求めるよう変更。

    sandboxsecurity

    詳しく
    サーバー側で配布される管理設定のうち、サンドボックスの TLS を終端する、通信を独自プロキシ経由にする、認証情報を注入する、あるいはサンドボックスの分離を弱める、といったセキュリティに関わるものは、適用される前にユーザーの承認が必要になりました。以前はこれらが自動で適用されていました。これらの設定を管理設定で配布している組織では、各ユーザーが承認するまで有効にならない点に注意が必要です。
  • 管理設定やプロジェクト設定由来の ANTHROPIC_CUSTOM_HEADERS が、認証情報・組織/テナント・ルーティング・API 挙動に関わるヘッダ(例: Authorization、Host)を設定する場合、適用前に承認を求めるよう変更。

    configsecurity

    詳しく
    管理設定やプロジェクト設定から与えられる ANTHROPIC_CUSTOM_HEADERS が、Authorization や Host のように認証情報・組織/テナント・ルーティング・API の挙動に関わるヘッダを設定するとき、適用前にユーザーの承認が必要になりました。以前は自動で適用されていました。これらのヘッダを設定で配布している場合、承認されるまで反映されないため、運用の見直しが必要になることがあります。
  • プロジェクトレベルの .claude/settings.json の env が CLAUDE_CONFIG_DIR・CLAUDE_CODE_TMPDIR・TMPDIR/TMP/TEMP を設定しないよう変更。これらはシェル・ユーザー設定・管理設定で設定してください。

    configsecurity

    詳しく
    プロジェクト単位の .claude/settings.json の env セクションから、CLAUDE_CONFIG_DIR・CLAUDE_CODE_TMPDIR・TMPDIR/TMP/TEMP を設定できなくなりました。以前はこれらもプロジェクト設定で指定できましたが、今後は無視されます。これらを設定していた場合は、シェル、ユーザー設定、または管理設定へ移す必要があります。プロジェクト設定でこれらの環境変数に頼っていた構成は動作が変わるため、移行してください。
✦新機能Feature5
  • モデル切り替えをブロック・確認・注釈できる PreModelSwitch / PostModelSwitch フックイベントを追加。SessionStart の resume フックはセッションの陳腐化度合いと再キャッシュ推定コストを受け取るようになりました。

    hooksmodel

    詳しく
    モデルを切り替える前後で処理を挟める PreModelSwitch・PostModelSwitch という2つのフックイベントが追加されました。これらを使うと、モデル切り替えをブロックしたり、確認を求めたり、注釈を付けたりできます。あわせて SessionStart の resume(再開)フックには、セッションがどれだけ古いか(staleness)と、再キャッシュにかかる推定コストが渡されるようになりました。フックで自動化やガードを組んでいる人が、モデル切り替えを細かく制御できるようになります。
  • フォアグラウンドのサブエージェントのツール呼び出しと結果を、Remote Control クライアントへライブ配信するようになりました(既定のバックグラウンドサブエージェントは引き続きステータスのみ表示)。

    agentsbackground

    詳しく
    フォアグラウンドで動くサブエージェントのツール呼び出しとその結果が、Remote Control(遠隔操作)クライアントにリアルタイムで流れて見えるようになりました。既定であるバックグラウンドのサブエージェントは、これまでどおりステータス表示のみです。遠隔からサブエージェントの作業を細かく追いたい人が、進行内容を逐一確認できます。
  • 支出上限(spend limit)が設定された Claude apps ゲートウェイ配下の開発者向けに、/usage へ支出上限バーと rate_limits.spend_limit ステータスライン項目を追加。

    ui

    詳しく
    支出上限(spend limit)が設定された Claude apps ゲートウェイ経由で使う開発者向けに、/usage に支出上限の使用状況を示すバーが追加されました。あわせて、ステータスラインスクリプトから参照できる rate_limits.spend_limit という項目も加わりました。上限までどれくらい使ったかを一目で把握でき、使いすぎを防ぎやすくなります。
  • /cost にセッション単位のプロンプトキャッシュ行(ヒット率、ミス、再キャッシュされたトークン、warm/cold)と、ステータスラインスクリプト向けの prompt_cache オブジェクトを追加。

    performance

    詳しく
    /cost の表示に、そのセッションのプロンプトキャッシュの状況を示す行が追加されました。ヒット率・ミス数・再キャッシュされたトークン数・warm/cold(温まっているか)といった内訳がわかります。あわせてステータスラインスクリプト用に同等の prompt_cache オブジェクトも提供されます。キャッシュの効き具合を把握し、コストを見直したい人に役立ちます。
  • claude --help に attach・logs・stop・respawn・rm を追加。実行中のバックグラウンドセッションに対する --resume メッセージが、具体的な claude attach <id> コマンドを示すようになりました。

    backgroundui

    詳しく
    claude --help の一覧に、バックグラウンドセッションを操作する attach・logs・stop・respawn・rm のサブコマンドが表示されるようになりました。さらに、実行中のバックグラウンドセッションに対して --resume したときのメッセージが、そのまま実行できる claude attach <id> コマンドを具体的に示します。バックグラウンドセッションの操作方法を調べやすく、再接続の手順も迷わなくなります。
✚改善Improvement22
  • 対話セッションでの UI の冗長な再描画を減らし、ターン中の CPU 使用率を改善。

    performance

    詳しく
    対話セッションでのやり取り中に、UI を無駄に何度も描き直していたのを減らし、ターン処理中の CPU 使用率を下げました。以前より動作が軽くなり、応答中でも操作がもたつきにくくなります。長時間の対話や非力なマシンで使う人ほど効果を感じられます。
  • ネイティブバイナリを約5MB小さくし、インストールサイズを改善。

    performance

    詳しく
    配布されるネイティブバイナリのサイズを約5MB削減し、インストールに必要な容量を減らしました。ダウンロードや更新が少し軽くなります。ディスク容量や回線が限られた環境で使う人に有利です。
  • クラウドセッションで、Bash コマンド中にセッションのネットワークプロキシが接続を切ったとき、ツール結果が「connection reset」だけでなくホスト名と理由を示すようになりました。

    cloud

    詳しく
    クラウドセッションで Bash コマンドを実行中に、セッションのネットワークプロキシが接続を切断した場合、これまでは「connection reset」としか表示されませんでした。今後はどのホストへの接続がなぜ切れたのかがツールの結果に示されます。接続トラブルの原因を切り分けやすくなります。
  • /schedule が、Claude Code に設定した MCP サーバーはクラウドのルーティンに接続できないことを説明するようになりました(素っ気ない「No MCP connectors」ではなく)。

    mcp

    詳しく
    /schedule で、Claude Code 側に設定した MCP サーバーはクラウドのルーティン(定期実行)には紐づけられない、という点をきちんと説明するようになりました。以前は「No MCP connectors(MCP コネクタなし)」とだけ表示され理由が分かりませんでした。なぜ接続できないのかが伝わり、無駄に悩まずに済みます。
  • 自分のサブエージェントからのメッセージの提示方法を改善。送信者が無関係な別の Claude セッションではなく、このセッション内のワーカーであると Claude に伝えるようになりました。

    agents

    詳しく
    自分が起動したサブエージェントから届くメッセージについて、Claude への伝え方を改善しました。送信者が無関係な別の Claude セッションではなく、このセッション内で働くワーカー(部下)であることが伝わるようになります。サブエージェントとのやり取りを、Claude が文脈に沿って正しく扱えるようになります。
  • サブエージェントパネルや /tasks から開いたバックグラウンドサブエージェントやフォークのトランスクリプトを見ているとき、プロンプトのプレースホルダが「Message @name…」と表示されるようになりました。

    uiagents

    詳しく
    サブエージェントパネルや /tasks から開いた、バックグラウンドサブエージェントやフォーク(分岐)のトランスクリプトを表示しているとき、入力欄のプレースホルダが「Message @name…」(その相手への送信)と表示されるようになりました。今どの相手に話しかけているのかが一目でわかります。宛先を取り違えにくくなります。
  • エラーメッセージ・メニュー・コマンド結果における MCP サーバー名のサニタイズを改善。

    mcpsecurity

    詳しく
    エラーメッセージやメニュー、コマンドの結果に表示される MCP サーバー名の無害化(サニタイズ)を強化しました。サーバー名に含まれる制御文字などが、表示を崩したり悪用されたりしないよう処理されます。信頼できない MCP サーバーを扱う際の安全性が高まります。
  • CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST(Claude Desktop など)下での Amazon Bedrock のセッション開始を改善。Bedrock のモデル ID や ARN を与えられたセッションが、推論プロファイルの探索を待たなくなりました。

    model

    詳しく
    CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST(Claude Desktop などがプロバイダを管理する構成)で Amazon Bedrock を使う際のセッション起動を改善しました。Bedrock のモデル ID や ARN が指定されている場合、これまで行っていた推論プロファイルの探索(inference-profile discovery)を待たずに始められます。Bedrock 利用時のセッション開始が速くなります。
  • 管理設定の承認ダイアログが、前回承認したときから変わった設定だけを一覧表示するよう改善。

    configsecurity

    詳しく
    管理設定(managed-settings)の承認ダイアログが、前回あなたが承認したときから実際に変更された設定だけを一覧に表示するようになりました。以前は関係のない項目まで並んでいましたが、今後は差分に集中できます。何が変わったのかを確認しやすく、承認の判断が容易になります。
  • モデルのツール呼び出しが不正だったときの再試行を改善。壊れた出力が再試行のコンテキストから取り除かれるようになりました(Bedrock・Vertex・Foundry を含む)。

    model

    詳しく
    モデルが生成したツール呼び出しが壊れていた(不正な形式だった)場合の再試行処理を改善しました。今後は、その壊れた出力を再試行時のコンテキストから取り除いてからやり直します。Bedrock・Vertex・Foundry でも同様に働きます。壊れた出力に引きずられて再試行も失敗する事態が減ります。
  • /radio を Bedrock・Vertex AI・Foundry・AWS 上の Claude Platform、およびテレメトリ無効時にも利用できるように変更。

    radio

    詳しく
    /radio コマンドが、Bedrock・Vertex AI・Foundry・AWS 上の Claude Platform でも、さらにテレメトリを無効化している場合でも使えるようになりました。以前はこれらの環境では利用できませんでした。より多くの構成のユーザーがこの機能を使えます。
  • Claude in Chrome を変更し、ブラウザ操作が常に Claude Code の許可チェックを通るようにしました(テレメトリ無効のセッションを含む)。以前は Chrome 拡張独自のプロンプトを使っていました。

    permissionssecurity

    詳しく
    Claude in Chrome(ブラウザ連携)で、ブラウザ操作が常に Claude Code の許可チェックを経由するように変更しました。テレメトリを無効にしているセッションでも同様です。以前は Chrome 拡張が独自の確認プロンプトを出していましたが、今後は Claude Code の許可の仕組みに一本化されます。許可の扱いが統一され、安全性と一貫性が高まります。
  • CLAUDE_CODE_SUBAGENT_MODEL を、すべてを上書きするのではなく既定のサブエージェントモデルを設定するものに変更。エージェント定義の model: や起動時の明示指定が優先されるようになりました。

    agentsmodel

    詳しく
    環境変数 CLAUDE_CODE_SUBAGENT_MODEL の役割を変更しました。以前はすべてのサブエージェントのモデルを強制的に上書きしていましたが、今後はあくまで既定値として働き、エージェント定義の model: や起動ごとの明示的なモデル指定のほうが優先されます。個々のエージェントに応じたモデルを使いつつ、指定のないものだけ既定に揃えられます。以前この変数で全サブエージェントを一律に固定していた場合は、意図した挙動になるようエージェント定義を見直してください。
  • アクティブなモデルが既知の Claude モデルでないとき(カスタム ANTHROPIC_BASE_URL 経由のサードパーティモデルなど)、既定のコミットトレーラーを Co-Authored-By: Claude Code に変更。

    config

    詳しく
    コミットに付く既定のトレーラー(署名行)を、アクティブなモデルが認識可能な Claude モデルでない場合には Co-Authored-By: Claude Code にするよう変更しました。カスタム ANTHROPIC_BASE_URL 経由で使うサードパーティ製モデルなどが該当します。実際には使っていないモデル名がコミットに記されることを避けられます。
  • シートベースの Enterprise サブスクリプションの既定モデルを、他のプレミアムプランに合わせて Opus 5 に変更。

    model

    詳しく
    シート課金(seat-based)の Enterprise サブスクリプションで、既定で使われるモデルを Opus 5 に変更しました。これにより、他のプレミアムプランと既定モデルが揃います。Enterprise ユーザーが特に設定しなくても最新の上位モデルで始められます。
  • /effort を、既定の effort レベルをモデルごとに保存するよう変更。モデルを切り替えても各モデルが自分の設定を保つようになりました。

    model

    詳しく
    /effort(推論の力の入れ具合)の設定が、モデルごとに個別に保存されるよう変更されました。以前はモデルを切り替えると設定が共有・上書きされていましたが、今後は各モデルがそれぞれの effort 設定を覚えています。モデルによって力の入れ方を変えたい人に便利です。
  • アナリティクスを、管理設定がゲートウェイログインを強制する(または読めない)というだけでサインイン前に無効化しないよう変更。ゲートウェイにサインインするか DISABLE_TELEMETRY を設定すれば無効のままになります。

    telemetry

    詳しく
    アナリティクス(利用状況の計測)が、管理設定によってゲートウェイログインが強制されている(または管理設定が読めない)というだけの理由で、サインイン前に勝手に無効化されてしまう挙動を変更しました。今後は、ゲートウェイにサインインするか DISABLE_TELEMETRY を設定した時点で無効のままになります。テレメトリの有効・無効がより意図どおりに扱われます。
  • Bedrock・Vertex・Foundry、およびテレメトリ無効時に、フッターの PR バッジが gh pr view ではなく(gh auth token・GH_TOKEN・GITHUB_TOKEN を使って)GitHub API を直接呼ぶよう変更。

    github

    詳しく
    Bedrock・Vertex・Foundry を使う場合やテレメトリを無効にしている場合に、フッターに表示される PR(プルリクエスト)バッジの取得方法を変更しました。以前は gh pr view を使っていましたが、今後は gh auth token・GH_TOKEN・GITHUB_TOKEN の認証情報で GitHub API を直接呼び出します。これらの環境でも PR 情報が正しく表示されるようになります。
  • サンドボックスでコマンドを実行する際の Bash コマンド出力ファイルの作成・読み戻し方法を変更し、サンドボックス化されたコマンドがそれらをリダイレクトしたり置き換えたりできないようにしました。

    sandboxsecurity

    詳しく
    サンドボックス内で Bash コマンドを実行するとき、その出力ファイルの作り方と読み戻し方を変更しました。これにより、サンドボックス化されたコマンドが出力ファイルをリダイレクトしたり別のものに差し替えたりできなくなります。隔離された実行環境の安全性が高まり、出力の改ざんを防ぎます。
  • プラグイン/LSP のインストール提案と auto モードの既定案内を、入力中のテキストを送信または消去するまで待つよう変更。プロンプトを送信する Enter がそれらに誤って答えてしまわないようにしました。

    pluginsui

    詳しく
    プラグインや LSP のインストール提案、そして auto モードを既定にする案内が、あなたが入力中のテキストを送信するか消去するまで表示を待つように変更されました。以前はこれらが出ている最中にプロンプト送信の Enter を押すと、意図せず案内に「はい」と答えてしまうことがありました。今後は入力の Enter が誤って提案を承諾することがなくなります。
  • あまり使われない6言語(1c、gml、isbl、mathematica、maxima、sqf)のシンタックスハイライトを削除。バイナリが2.5MB小さくなりました。

    uiperformance

    詳しく
    あまり使われていない6つの言語(1c、gml、isbl、mathematica、maxima、sqf)のシンタックスハイライト(コードの色分け表示)を削除しました。これによりバイナリが2.5MB小さくなります。これらの言語のコードは色分けされなくなりますが、内容の表示や操作自体には影響しません。
  • [VSCode] Remote Control のバナーを、フッターのピル表示(Remote Control が有効なとき、または失敗したときに表示)に変更。押すと claude.ai/code でセッションを開き、/remote-control でオン/オフを切り替えます。

    vscodeui

    詳しく
    [VSCode] Remote Control(遠隔操作)の状態を示す表示を、目立つバナーから、フッターの小さなピル(丸いラベル)表示に変更しました。ピルは Remote Control が有効なとき、または失敗したときに表示され、押すと claude.ai/code でそのセッションが開きます。オン/オフは /remote-control で切り替えられます。画面上部の主張が控えめになり、状態も分かりやすくなります。
◆修正Fix41
  • ファイルツール(Read・Write・Edit)が、許可チェック後に作業ディレクトリ内ですり替えられたシンボリックリンクを辿り、承認された場所の外を読み書きしうる問題を修正。

    securitypermissions

    詳しく
    ファイル操作ツール(Read・Write・Edit)で、許可チェックが済んだ後に作業ディレクトリ内のシンボリックリンクがすり替えられると、承認された場所の外のファイルを読み書きできてしまう脆弱性を修正しました。これは許可の判定とファイルアクセスの間の隙を突く手口(いわゆる TOCTOU)です。今後はこうしたすり替えで承認範囲外へアクセスされることを防ぎます。
  • マーケットプレイスのエントリで宣言されたプラグインコマンドが、プラグインディレクトリの外を指せてしまう問題を修正。そうしたパスはパストラバーサルエラーとして拒否されるようになりました。

    pluginssecurity

    詳しく
    マーケットプレイスの登録エントリで宣言されたプラグインコマンドが、本来のプラグインディレクトリの外にあるファイルを指し示せてしまう問題を修正しました。今後は、ディレクトリの外へ抜け出そうとするパスはパストラバーサル(ディレクトリ横断)エラーとして拒否されます。悪意あるマーケットプレイス経由で想定外のファイルが実行される事態を防ぎます。
  • プロジェクト設定が詳細なベータトレースや API 本文の生ログを有効化できてしまう問題、および低スコープのベータトレースエンドポイントが管理設定やホストアプリで固定した OTLP コレクタを迂回する問題を修正。

    telemetrysecurity

    詳しく
    プロジェクト単位の設定から、詳細なベータトレースや API リクエスト本文の生ログを有効にできてしまう問題を修正しました。また、スコープの低いベータトレース用エンドポイントが、管理設定やホストアプリで固定された OTLP コレクタ(テレメトリ収集先)を迂回してしまう問題も直しました。組織が管理設定で送信先やログの取り扱いを制御している場合に、プロジェクト側から抜け穴を作られなくなります。
  • Workflow ツールが、許可チェックの前にセッションが読める範囲外の scriptPath を読み込み(エラーにその内容を引用し)うる問題を修正。

    workflowssecurity

    詳しく
    Workflow ツールが、許可チェックが走る前に、セッションが読み込めるはずの範囲を超えた scriptPath を読んでしまい、しかもエラーメッセージにその中身を引用してしまう問題を修正しました。今後は許可の判定を経てからアクセスされ、範囲外のファイル内容が漏れることを防ぎます。
  • Grep と Glob が、シンボリックリンク経由の検索パスで到達したファイルに Read(...) の拒否ルールを適用しない問題を修正。

    permissionssecurity

    詳しく
    Grep と Glob による検索で、シンボリックリンクを介して辿り着いたファイルに Read(...) の拒否(deny)ルールが適用されない問題を修正しました。今後は、リンク越しに見つかったファイルにも読み取り禁止設定が正しく効きます。検索結果から機密ファイルの内容が意図せず読まれることを防ぎます。
  • モデルが thinking(思考)だけを出力したターンの後に、会話が「text content blocks must be non-empty」エラーで止まってしまう問題を修正。

    model

    詳しく
    モデルがそのターンで thinking(内部の思考)だけを生成し、本文を出さなかった場合に、会話が「text content blocks must be non-empty(テキストブロックは空にできない)」というエラーで先に進まなくなる問題を修正しました。今後はそうしたターンの後も会話を続けられます。突然やり取りが行き詰まってしまう不具合が解消されます。
  • 起動時の既定が auto モードのアカウントで、新規インストール後の初回起動が auto モードではなく default モードで始まってしまう問題を修正。

    config

    詳しく
    起動時のモード既定が auto(自動)モードに設定されているアカウントで、新規インストール直後の初回起動だけ、なぜか default モードで始まってしまう問題を修正しました。今後は初回から設定どおり auto モードで立ち上がります。auto モードを既定にしている人が、毎回切り替え直す手間から解放されます。
  • effort が xhigh/max で thinking を無効にしているときに、Opus 5 のリクエストが「effort … is not supported when thinking is disabled」で失敗する問題を修正。この場合は effort を high として送るようになりました。

    model

    詳しく
    Opus 5 を使う際、effort(推論の力の入れ具合)を xhigh か max にしつつ thinking(思考)をオフにしていると、「effort … is not supported when thinking is disabled」というエラーでリクエストが失敗する問題を修正しました。今後はその組み合わせのとき、effort を自動的に high に落として送信します。設定の食い違いでリクエストが通らなくなる事態を避けられます。
  • Claude Desktop が別セッションから届けたメッセージへの返信を修正。そのセッション ID への SendMessage が「not reachable」で失敗せず、Claude Desktop 経由で届くようになりました。

    agents

    詳しく
    Claude Desktop が別のセッションから配信したメッセージに返信しようとすると、そのセッション ID 宛の SendMessage が「not reachable(到達不能)」で失敗する問題を修正しました。今後はその返信が Claude Desktop を経由して正しく相手に届きます。Claude Desktop をまたいだセッション間のやり取りが成立するようになります。
  • 多数のサブエージェントを並列実行した際の TUI の遅延を修正。毎秒の進捗更新がトランスクリプトに積み上がらず、前の表示を置き換えるようになりました。

    agentsperformance

    詳しく
    多数のサブエージェントを並列で走らせたときに、ターミナル UI(TUI)が重くなる問題を修正しました。これまでは毎秒の進捗表示がトランスクリプト(記録)に次々と積み上がっていましたが、今後は前の進捗表示を置き換える形で更新されます。並列作業が多い場面でも表示がもたつかなくなります。
  • エージェントチームで、チームメイトの最終回答がチームリードに届かない問題を修正。中身のない「available」通知ではなく、アイドル通知として届くようになりました。

    agents

    詳しく
    エージェントチーム機能で、チームメイト(部下エージェント)の最終回答がチームリード(取りまとめ役)に届かない問題を修正しました。以前は中身のない「available(手が空きました)」という通知だけが届いていましたが、今後は回答本体がアイドル通知として正しく届きます。チームで分担して作業させたときに、成果を取りこぼさなくなります。
  • バックグラウンドサブエージェントが、名前のない兄弟エージェントや親エージェントからのメッセージに返信できない問題を修正(from がアドレスではなくエージェント種別になっていた)。

    agentsbackground

    詳しく
    バックグラウンドのサブエージェントが、名前の付いていない兄弟エージェントや親エージェントから届いたメッセージに返信できない問題を修正しました。原因は、送信元を示す from がアドレス(宛先)ではなくエージェントの種別名になっていたことでした。今後はそうした相手にも正しく返信でき、エージェント間の連携が途切れなくなります。
  • セッション途中で届いた管理設定の disableAutoMode が、すでに動作中の auto モードセッションを default モードに戻さない問題を修正。

    config

    詳しく
    管理設定(managed-settings)の disableAutoMode(auto モード禁止)がセッションの途中で適用された際に、すでに auto モードで動いているセッションが default モードに切り替わらない問題を修正しました。今後は途中からでも設定が反映され、auto モードが止まります。組織のポリシーで auto モードを無効化する運用が確実に効くようになります。
  • 現在の Opus モデルがすでに 1M コンテキストなのに「switch to Opus 1M for 5x more context」というヒントが表示される問題を修正。

    modelui

    詳しく
    今使っている Opus モデルがすでに 1M(100万トークン)のコンテキストウィンドウを持っているのに、「Opus 1M に切り替えれば5倍のコンテキストに」というヒントが出てしまう問題を修正しました。今後はその条件では不要な案内が表示されません。すでに大容量コンテキストを使っている人が、無意味な促しに惑わされなくなります。
  • Claude apps ゲートウェイのセッションが、保存済みの Anthropic プロファイル(例: Console サインイン)を有効なものとして扱う問題を修正。/status に列挙したりゲートウェイの 401 で再試行に使ったりしていましたが、実際のリクエストには使われていませんでした。

    security

    詳しく
    Claude apps ゲートウェイ経由のセッションが、保存済みの Anthropic プロファイル(たとえば Console へのサインイン情報)をあたかも有効なものとして扱ってしまう問題を修正しました。以前は /status にそれが表示されたり、ゲートウェイが 401(認証エラー)を返した際にそのプロファイルで再試行したりしていましたが、実際のリクエストには使われていませんでした。今後は紛らわしい表示や無駄な再試行がなくなります。
  • ホストがセッションの初期モデルを設定しただけなのに、クラウドセッションが Claude にモデルが変わったと伝える問題を修正。

    model

    詳しく
    クラウドセッションで、ホスト側がセッションの初期モデルを設定しただけなのに、Claude に「モデルが変更された」と誤って伝えてしまう問題を修正しました。今後は初期設定と実際の変更が区別され、不要なモデル変更の通知が出なくなります。モデルが切り替わったという誤解に基づく挙動を防ぎます。
  • 組織のポリシーで Remote Control が無効化されているときに、失敗として報告される問題を修正。今後は静かな通知が一度だけ表示されます。

    background

    詳しく
    組織のポリシーによって Remote Control(遠隔操作)が無効化されている場合に、それがエラー(失敗)として繰り返し報告される問題を修正しました。今後は目立たない通知が一度だけ表示されます。ポリシーで無効にしている環境で、不要なエラー表示に煩わされなくなります。
  • 別セッションでサーバーが無効化されているとき、Remote Control 上の /mcp reconnect が実際の対処法ではなく詳細を伏せた汎用エラーを表示する問題を修正。

    mcp

    詳しく
    Remote Control 上で /mcp reconnect(MCP サーバーへの再接続)を実行した際に、そのサーバーが別のセッションで無効化されていると、本当の対処法が示されず詳細を伏せた汎用エラーだけが出る問題を修正しました。今後は実際の原因と対処法が示されます。なぜ再接続できないのか分からず困る状況が減ります。
  • --input-format stream-json で、メッセージ ID なしに送られたクライアント注入のアシスタントツール呼び出しが最初の1件にまとめられ、結果が失われる問題を修正(古いセッションの再開時を含む)。

    apisdk

    詳しく
    --input-format stream-json を使うとき、クライアント側から注入されたアシスタントのツール呼び出しがメッセージ ID なしで送られると、それらが最初の1件に統合されてしまい結果が失われる問題を修正しました。古いセッションを再開したときにも起きていました。SDK などでツール呼び出しを差し込むワークフローで、呼び出しと結果が正しく対応づくようになります。
  • ディレクトリ変更でセッションが同じ ID の既存トランスクリプト上に移されたとき、トランスクリプトが無言で上書きされる問題を修正。

    resume

    詳しく
    作業ディレクトリの変更によってセッションが、同じ ID を持つ既存のトランスクリプト(会話記録)の場所へ移されると、その記録が警告なく上書きされてしまう問題を修正しました。今後は既存の記録が黙って消されることがなくなります。過去の会話履歴を失わずに済みます。
  • バックグラウンドセッションとそのサブエージェントが、自身が git worktree add で作成した git worktree 内のファイルを編集できない問題を修正。

    worktreebackground

    詳しく
    バックグラウンドセッションやそのサブエージェントが、git worktree add で自分自身が作成した worktree(作業ツリー)の中のファイルを編集できない問題を修正しました。今後は自分で作った作業ツリー内のファイルを通常どおり編集できます。worktree を使うバックグラウンド作業が正しく進むようになります。
  • 別の Claude Code プロセスが同時にプラグインマーケットプレイスを更新していると、バックグラウンドセッションがプラグインスキルを一切読み込まないまま(そのまま)起動することがある問題を修正。

    pluginsbackground

    詳しく
    別の Claude Code プロセスがちょうどプラグインマーケットプレイスを更新している最中だと、バックグラウンドセッションがプラグインのスキルを1つも読み込まないまま起動し、その状態が続いてしまうことがある問題を修正しました。今後は同時更新と重なってもスキルが正しく読み込まれます。プラグインに依存した処理がバックグラウンドで抜け落ちなくなります。
  • SSH 越しの tmux 内で開いたバックグラウンドセッションのテキスト選択を修正。OSC 52 にフォールバックせず、フォアグラウンドと同様に tmux バッファへコピーするようになりました。

    tmuxbackground

    詳しく
    SSH 経由の tmux 内で開いたバックグラウンドセッションでテキストを選択したとき、フォアグラウンドセッションと同じように tmux のバッファへコピーされず、OSC 52(端末経由のコピー方式)に切り替わってしまう問題を修正しました。今後はフォアグラウンドと同様に tmux バッファへコピーされます。SSH+tmux 環境でのコピー操作が一貫した挙動になります。
  • SDK の MCP サーバーのハンドシェイク応答が失われたときに、SDK やクラウドセッションが無限に待ち続ける問題を修正。今後は70秒でタイムアウトし、そのサーバーのみ失敗として扱います。

    mcpsdk

    詳しく
    SDK 上の MCP サーバーとの接続確立(ハンドシェイク)の確認応答が失われると、SDK やクラウドのセッションがいつまでも待ち続けて固まる問題を修正しました。今後は70秒でタイムアウトし、そのサーバーだけを失敗として扱い、他は正常に進みます。1つの MCP サーバーの不調でセッション全体が止まらなくなります。
  • セルフホストランナーで、セッションを強制停止した後もそのセッションの Bash ツールのプロセスが残り続ける問題を修正。

    background

    詳しく
    セルフホスト型のランナー(実行環境)で、固まったセッションを強制停止した後も、そのセッションが起動した Bash ツールのプロセスが動いたまま残ってしまう問題を修正しました。今後は強制停止時にそれらのプロセスも片付けられます。放置されたプロセスがリソースを占有し続ける事態を防ぎます。
  • 管理者が組織の利用クレジット上限を $0 に設定した Team・Enterprise メンバー向けの /usage-credits を修正。上限到達と表示するのではなく、管理者への申請を促すようになりました。

    ui

    詳しく
    管理者が組織の利用クレジット上限を $0 に設定している Team・Enterprise のメンバーが /usage-credits を使ったとき、「上限に達しました」と表示される問題を修正しました。今後は上限到達ではなく、管理者に引き上げを依頼するよう促します。そもそも枠が割り当てられていないケースで、正しい対処に案内されます。
  • gitlab.com オリジンでマージリクエスト番号を指定した --worktree --tmux が、GitLab の ref を直接取得せず、まず失敗必至の GitHub 式 fetch を試みる問題を修正。

    worktree

    詳しく
    オリジンが gitlab.com のリポジトリで、マージリクエスト番号を付けて --worktree --tmux を使うと、GitLab のブランチ参照(ref)を直接取りに行かず、まず成功しない GitHub 流の取得を試みてしまう問題を修正しました。今後は最初から GitLab の ref を直接取得します。GitLab のマージリクエストを使う人の待ち時間と失敗が減ります。
  • /dev/tty を開くエディタ(emacs -nw や micro など)で、バックグラウンドセッション中に Ctrl+G が「Emacs quit unexpectedly」で失敗する問題を修正。

    background

    詳しく
    emacs -nw や micro のように /dev/tty を開くエディタを使う際、バックグラウンドセッション中に Ctrl+G を押すと「Emacs quit unexpectedly」というエラーで失敗する問題を修正しました。今後はバックグラウンドセッションでもこれらのエディタが正しく動きます。ターミナル内エディタを使う人の編集操作が中断されなくなります。
  • null バイトを含む additionalDirectories エントリが起動をクラッシュさせたり、SDK ホスト・IDE・フック由来のときに /add-dir や以降の設定更新を壊す問題を修正。今後はスキップされます。

    config

    詳しく
    additionalDirectories(追加で参照するディレクトリ)の項目に null バイトが含まれていると、起動がクラッシュしたり、SDK ホスト・IDE・フック経由で渡された場合に /add-dir やその後の設定更新が壊れてしまう問題を修正しました。今後はそうした不正な項目は読み飛ばされます。壊れた設定値のせいで起動できなくなる事態を防ぎます。
  • MCP サーバーメニューのコピーショートカットを修正。常に成功と表示するのではなく、サインイン URL がどのようにコピーされたかを示すようになりました。

    mcp

    詳しく
    MCP サーバーメニューでコピーのショートカットを使ったとき、実際の結果に関わらず常に「成功」と表示してしまう問題を修正しました。今後はサインイン URL がどの方法でコピーされたかを正しく示します。コピーが本当にできたのかどうかを判断しやすくなります。
  • GNU screen や screen 端末タイプの tmux セッションで、イタリック文字(セッションのおさらい行など)がハイライトブロックとして表示される問題を修正。

    tmuxui

    詳しく
    GNU screen や、端末タイプに screen を使う tmux セッションで、イタリック(斜体)のテキスト(セッションのおさらい行など)が斜体ではなくハイライトされたブロックとして表示される問題を修正しました。今後はこれらの環境でも斜体が正しく表示されます。表示が読みにくくなる問題が解消されます。
  • claude mcp add --header と claude mcp add-json のヘルプ文が誤ったトランスポートを示す問題を修正。

    mcp

    詳しく
    claude mcp add --header および claude mcp add-json のヘルプ(使い方の説明)が、対応するトランスポート(通信方式)を誤って記載していた問題を修正しました。今後はヘルプが正しいトランスポートを示します。MCP サーバーを追加する際に、説明を頼りに正しく設定できるようになります。
  • クラウドセッションの起動に失敗したときに、claude ultrareview と /ultrareview が30分間まるごと待ち続ける問題を修正。今後は早期に中止し理由を報告します。

    review

    詳しく
    claude ultrareview や /ultrareview を実行したとき、裏で使うクラウドセッションの起動に失敗しても、30分間まるまる待ち続けてしまう問題を修正しました。今後は起動失敗を検知すると早めに処理を打ち切り、その理由を知らせます。失敗しているのに無駄に待たされることがなくなります。
  • 整数のシェル変数に算術式を代入するコマンド(例: OPTIND=1/0、RANDOM=2+2)を Bash の許可チェックが自動承認する問題を修正。今後は承認を求めるようになりました。

    permissionssecurity

    詳しく
    Bash の許可チェックが、整数型のシェル変数に算術式を代入するコマンド(例: OPTIND=1/0 や RANDOM=2+2)を、確認なしに自動承認してしまう問題を修正しました。今後はこうしたコマンドも承認を求めます。許可判定の抜け穴を突いて意図しない処理が通ることを防ぎます。
  • バックグラウンド化したセッション(←、/background、--bg)が、シェルでエクスポートした Vertex/Bedrock ゲートウェイ(ANTHROPIC_*_BASE_URL + CLAUDE_CODE_SKIP_*_AUTH)を失い、すべてのリクエストが失敗する問題を修正。

    backgroundmodel

    詳しく
    ←・/background・--bg でバックグラウンド化したセッションが、シェルでエクスポートしていた Vertex/Bedrock ゲートウェイの設定(ANTHROPIC_*_BASE_URL と CLAUDE_CODE_SKIP_*_AUTH)を引き継げず、すべてのリクエストが失敗する問題を修正しました。今後はバックグラウンド化してもこれらの環境変数が保たれます。ゲートウェイ経由で使う人がバックグラウンドでも動かせるようになります。
  • Max プランで claude --bg --model fable が、同一アカウントの対話セッションにまだ Fable の枠が残っているのに利用クレジットを尋ねて止まる問題を修正。

    backgroundmodel

    詳しく
    Max プランで claude --bg --model fable を使うと、同じアカウントの対話セッションにまだ Fable モデルの利用枠が残っているにもかかわらず、利用クレジットの確認を求めて処理が止まってしまう問題を修正しました。今後は枠が残っていれば止まらずに進みます。バックグラウンドで Fable を使う際の無用な中断がなくなります。
  • 一度きりの「auto モードを既定にしますか」という案内が、無人のセッション(エージェントチームのメイトのペインなど)で表示され、誤ったキー入力で読まれないまま承諾されうる問題を修正。

    agentsconfig

    詳しく
    「auto モードを既定にしますか」という一度きりの案内が、無人で動くセッション(エージェントチームのメイト用ペインなど)にも表示され、たまたまのキー入力で内容を読まないまま承諾されてしまう問題を修正しました。今後は無人セッションではこの案内が出ません。意図しない設定変更が勝手に行われることを防ぎます。
  • 設定が変わっていないのに、同じ Claude apps ゲートウェイに再サインインした後で管理設定の承認プロンプトが再表示される問題を修正。

    configsecurity

    詳しく
    管理設定(managed-settings)の内容が変わっていないにもかかわらず、同じ Claude apps ゲートウェイに再びサインインすると承認プロンプトが再表示される問題を修正しました。今後は設定が同じなら再承認を求められません。サインインし直すたびに同じ確認を繰り返す煩わしさが解消されます。
  • 無効化された /bug と /share が「/feedback が無効」と誤って報告する問題を修正。組織ポリシーや環境変数で無効化されているとき、ヒント・/help・拒否メッセージが /feedback を提案しなくなりました。

    ui

    詳しく
    /bug や /share が無効化されているときに、実際には別の /feedback が無効だと誤って報告してしまう問題を修正しました。あわせて、組織ポリシーや環境変数で無効にされている場合には、ヒントや /help、拒否メッセージが /feedback を勧めないようになりました。使えないコマンドを案内される混乱がなくなります。
  • 一時的な GitHub 接続失敗の後に、クラウドセッションの作成が GitHub のセットアップを促す問題を修正。今後は再試行するよう案内します。

    github

    詳しく
    クラウドセッションを作成する際、一時的な GitHub への接続失敗が起きると、(未設定であるかのように)GitHub のセットアップを促してしまう問題を修正しました。今後はそうした一時障害では、セットアップではなく再試行するよう案内します。設定済みなのに設定をやり直すよう誤って促される混乱を防ぎます。
  • [VSCode] サインイン画面の「Bedrock, Foundry, or Vertex」ボタンが、サードパーティプロバイダのセットアップ節ではなくドキュメントの先頭を開く問題を修正。

    vscode

    詳しく
    [VSCode] サインイン画面にある「Bedrock, Foundry, or Vertex」ボタンを押すと、目的のサードパーティプロバイダ設定の節ではなく、ドキュメントの先頭が開いてしまう問題を修正しました。今後は該当のセットアップ手順の箇所へ直接移動します。これらのプロバイダを設定したい人が、説明をすぐ見つけられます。
原文 Markdown を表示
## 2.1.251

- Added `PreModelSwitch` and `PostModelSwitch` hook events (block, confirm, or annotate a model switch); `SessionStart` resume hooks now receive session staleness and the estimated re-cache cost
- Added live streaming of a foreground subagent's tool calls and results to Remote Control clients (background subagents, the default, still show status only)
- Added a Spend limit bar to `/usage` and a `rate_limits.spend_limit` status line field for developers behind a Claude apps gateway with spend limits
- Added a per-session prompt-cache line to `/cost` (hit ratio, misses, tokens re-cached, warm/cold) and a matching `prompt_cache` object for status line scripts
- Added `attach`, `logs`, `stop`, `respawn`, and `rm` to `claude --help`; the `--resume` message for a running background session now names the exact `claude attach <id>` command
- Fixed file tools (Read, Write, Edit) following a symlink swapped inside the working directory after the permission check, which could read or write outside the approved location
- Fixed plugin commands declared in a marketplace entry being able to point outside the plugin directory; such paths are now rejected with a path-traversal error
- Fixed project settings being able to enable detailed beta tracing or raw API body logging, and a lower-scope beta tracing endpoint bypassing an OTLP collector pinned by managed settings or a host app
- Fixed the Workflow tool reading (and quoting in errors) a `scriptPath` outside what the session may read before the permission check ran
- Fixed Grep and Glob not applying `Read(...)` deny rules to files reached through a symlinked search path
- Fixed conversations getting stuck on "text content blocks must be non-empty" errors after a turn where the model produced only thinking
- Fixed the first launch on a fresh install starting in default mode instead of auto mode for accounts whose startup default is auto mode
- Fixed Opus 5 requests failing with "effort … is not supported when thinking is disabled" when effort was xhigh/max and thinking was turned off; effort is now sent as `high` in that case
- Fixed replying to a message Claude Desktop delivered from another session: `SendMessage` to that session id now delivers through Claude Desktop instead of failing with "not reachable"
- Fixed TUI lag with many parallel subagents: per-second progress ticks now replace their predecessor instead of piling up in the transcript
- Fixed agent teams: a teammate's final answer not reaching the team lead — it now arrives in the idle notification instead of a content-free "available" notice
- Fixed background subagents being unable to reply to a message from an unnamed sibling or parent agent (`from` was the agent type, which is not an address)
- Fixed managed-settings `disableAutoMode` arriving mid-session not moving an already-running auto-mode session back to default mode
- Fixed a "switch to Opus 1M for 5x more context" tip that appeared even when the current Opus model already has a 1M context window
- Fixed Claude apps gateway sessions treating a stored Anthropic profile (e.g. a Console sign-in) as active: listing it in `/status` and retrying gateway 401s with it, though requests never use it
- Fixed cloud sessions telling Claude the model had changed when the host was only setting the session's initial model
- Fixed Remote Control reporting a failure when an organization's policy disables it; it now shows a single quiet notice instead
- Fixed `/mcp reconnect` on Remote Control showing a generic withheld-detail error instead of the real remedy when a server was disabled in another session
- Fixed `--input-format stream-json`: client-injected assistant tool calls sent without a message id were merged into the first one and their results lost, including when resuming older sessions
- Fixed session transcripts being silently overwritten when a directory change relocated a session onto an existing same-ID transcript
- Fixed background sessions and their subagents being unable to edit files inside a git worktree they created with `git worktree add`
- Fixed background sessions occasionally starting without any plugin skills (and staying that way) when another Claude Code process was refreshing the plugin marketplace at the same moment
- Fixed selecting text in an opened background session inside tmux over SSH: it now copies to the tmux buffer like a foreground session instead of falling back to OSC 52
- Fixed SDK and cloud sessions hanging indefinitely when an SDK MCP server's handshake acknowledgment was lost; the wait now times out after 70 seconds and marks only that server failed
- Fixed self-hosted runner leaving a stuck session's Bash tool processes running after the session was force-stopped
- Fixed `/usage-credits` for Team and Enterprise members whose admin set the org's usage-credit limit to $0: it now offers to ask the admin instead of saying a cap was reached
- Fixed `--worktree --tmux` with a merge-request number on a gitlab.com origin trying a doomed GitHub-style fetch first instead of fetching the GitLab ref directly
- Fixed Ctrl+G failing with "Emacs quit unexpectedly" in background sessions for editors that open `/dev/tty`, such as `emacs -nw` and `micro`
- Fixed an `additionalDirectories` entry containing a null byte crashing startup, or breaking `/add-dir` and later settings updates when it came from an SDK host, IDE, or hook; it is now skipped
- Fixed the MCP server menu's copy shortcut: it now says how the sign-in URL was copied instead of always claiming success
- Fixed italic text (such as the session recap line) rendering as highlighted blocks in GNU screen and in tmux sessions using a `screen` terminal type
- Fixed `claude mcp add --header` and `claude mcp add-json` help text naming the wrong transports
- Fixed `claude ultrareview` and `/ultrareview` waiting the full 30 minutes when the cloud session fails to start; they now stop early and report the reason
- Fixed Bash permission checks auto-approving commands that assign an arithmetic expression to an integer shell variable (e.g. `OPTIND=1/0`, `RANDOM=2+2`); these now prompt for approval
- Fixed backgrounded sessions (`←`, `/background`, `--bg`) losing a Vertex/Bedrock gateway (`ANTHROPIC_*_BASE_URL` + `CLAUDE_CODE_SKIP_*_AUTH`) exported in the shell, so every request failed
- Fixed `claude --bg --model fable` on Max plans stopping to ask for usage credits while the interactive session on the same account still had Fable allowance
- Fixed the one-time "make auto mode your default" offer appearing in unattended sessions (e.g. agent-team teammate panes), where a stray keypress could accept it unread
- Fixed the managed-settings approval prompt re-appearing after signing in again to the same Claude apps gateway when the settings are unchanged
- Fixed disabled `/bug` and `/share` reporting that `/feedback` was disabled; tips, `/help`, and refusal messages no longer suggest `/feedback` when an org policy or env var turns it off
- Fixed cloud session creation advising GitHub setup after a transient GitHub connection failure — the message now says to retry instead
- Improved CPU usage during turns in interactive sessions by cutting redundant UI re-renders
- Improved install size: the native binary is about 5 MB smaller
- Improved cloud sessions: when the session's network proxy drops a connection during a Bash command, the tool result now names the host and reason instead of only "connection reset"
- Improved `/schedule` to explain that MCP servers configured in Claude Code can't be attached to cloud routines, instead of a bare "No MCP connectors" message
- Improved framing of messages from your own subagents: Claude is told the sender is a worker inside this session, not an unrelated Claude session
- Improved the prompt placeholder to read "Message @name…" while viewing a background subagent or fork transcript opened from the subagent panel or `/tasks`
- Improved sanitization of MCP server names in error messages, menus, and command results
- Improved Amazon Bedrock session start under `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` (e.g. Claude Desktop): a session given a Bedrock model ID or ARN no longer waits for inference-profile discovery
- Improved the managed settings approval dialog to list only the settings that changed since you last approved them
- Improved retry when the model's tool call is malformed: the broken output is now dropped from the retry context, including on Bedrock, Vertex, and Foundry
- Changed `/radio` to be available on Bedrock, Vertex AI, Foundry, and Claude Platform on AWS, and when telemetry is disabled
- Changed Claude in Chrome so browser actions always go through Claude Code's permission checks, including in sessions with telemetry disabled, which previously used the Chrome extension's own prompts
- Changed `CLAUDE_CODE_SUBAGENT_MODEL` to set the default subagent model rather than override everything: an agent definition's `model:` and an explicit per-spawn model now take precedence over it
- Changed the default commit trailer to `Co-Authored-By: Claude Code` when the active model isn't a recognized Claude model (e.g. third-party models behind a custom `ANTHROPIC_BASE_URL`)
- Changed the default model for seat-based Enterprise subscriptions to Opus 5, matching other premium plans
- Changed `/effort` to save your default effort level per model, so each model keeps its own setting when you switch
- Changed analytics to no longer turn off before sign-in solely because managed settings force gateway login (or cannot be read); they stay off once signed in to the gateway or via `DISABLE_TELEMETRY`
- Changed the footer PR badge on Bedrock, Vertex, and Foundry, and when telemetry is off, to call the GitHub API directly (via `gh auth token`, `GH_TOKEN`, or `GITHUB_TOKEN`) instead of `gh pr view`
- Changed how Bash command output files are created and read back when commands run in the sandbox, so a sandboxed command cannot redirect or replace them
- Changed plugin/LSP install suggestions and the auto-mode default offer to wait until you've sent or cleared what you're typing, so the Enter that sends your prompt can't answer them
- Changed server-managed settings that terminate sandbox TLS, route sandbox traffic through your own proxy, inject credentials, or weaken sandbox isolation to require approval before they apply
- Changed `ANTHROPIC_CUSTOM_HEADERS` from managed or project settings to require approval when it sets a credential, org/tenant, routing, or API-behavior header (e.g. `Authorization`, `Host`)
- Changed project-level `.claude/settings.json` `env` to no longer set `CLAUDE_CONFIG_DIR`, `CLAUDE_CODE_TMPDIR`, or `TMPDIR`/`TMP`/`TEMP`; set them in your shell, user, or managed settings instead
- Removed syntax highlighting for six rarely used languages (1c, gml, isbl, mathematica, maxima, sqf); the binary is 2.5 MB smaller
- [VSCode] Fixed the sign-in screen's "Bedrock, Foundry, or Vertex" button opening the docs at the top of the page instead of the third-party provider setup section
- [VSCode] Changed the Remote Control banner to a footer pill (shown while Remote Control is on or has failed) that opens the session on claude.ai/code; turn it on or off with `/remote-control`