一覧へ戻るv2.1.223

バックナンバー · BACK ISSUE

v2.1.223

✦2新機能✚5改善◆12修正· 19 件の変更

組織全体向けのマーケットプレイスのワイルドカード設定、サブエージェントのモデル制限時の警告、クラウドセッションでの /teleport ヒントを追加し、権限とサンドボックスのすり抜けを複数塞ぎます。あわせてモデル検出・管理設定・セッション再開の不具合を修正し、/review を /code-review のエイリアスに再編しました。

✦新機能Feature2
  • strictKnownMarketplaces と blockedMarketplaces の管理設定に、GitHub の組織配下の全マーケットプレイスリポジトリを一括で許可・ブロックできるオーナーのワイルドカード指定("owner/*")を追加。

    marketplacepluginssettings

    詳しく
    プラグインのマーケットプレイスを許可・ブロックする管理設定 strictKnownMarketplaces と blockedMarketplaces に、"owner/*" という書き方のワイルドカード指定を追加しました。以前はリポジトリを1つずつ列挙する必要がありましたが、今後は GitHub の特定の組織(owner)配下にあるマーケットプレイスリポジトリをまとめて許可・ブロックできます。組織全体でプラグインの利用範囲を一括管理したい管理者の手間が減ります。
  • クラウドセッションに、claude --teleport <session id> でローカルに続きを引き継ぐ方法を示す /teleport のヒントを追加。

    cloudsessions

    詳しく
    クラウド上のセッションに、そのセッションをローカル環境で続ける方法を案内するヒントを追加しました。表示される claude --teleport <session id> のコマンドを使えば、クラウドで進めていた作業を手元の端末に引き継げます。クラウドとローカルを行き来して作業する人が、続け方をコマンドを調べずに把握できるようになります。
✚改善Improvement5
  • ワークフローエージェント・フォークされたスキル・スラッシュコマンド・再開したバックグラウンドエージェントが要求したサブエージェントのモデルが制限されていて、代わりに親モデルで動く場合に警告を表示するようにしました。

    agentsmodel

    詳しく
    ワークフローエージェント、フォークされたスキル、スラッシュコマンド、再開したバックグラウンドエージェントが特定のモデルでサブエージェントを動かそうとしたとき、そのモデルがポリシー等で制限されていると、代わりに親(呼び出し元)のモデルが使われます。今後はこの切り替えが起きた際に警告が表示されるようになりました。以前は気づかないうちに別のモデルで実行されていましたが、指定と違うモデルで動いていることに気づけるようになります。
  • CLAUDE_CODE_DISABLE_1M_CONTEXT の挙動を変更し、固定リストのモデルだけでなく、ネイティブに 1M ウィンドウを持つすべての Claude モデルを自動コンパクトで 200K に抑えるようにしました。自動コンパクトがセッションを 200K に抑えていないときは起動時に警告が出ます。

    contextconfig

    詳しく
    環境変数 CLAUDE_CODE_DISABLE_1M_CONTEXT の効き方を変更しました。以前はあらかじめ決められた一部のモデルだけを対象に、コンテキストを 200K に抑えていました。今後は、ネイティブで 1M(100万トークン)のコンテキストウィンドウを持つすべての Claude モデルが対象となり、自動コンパクト(自動圧縮)で 200K に抑えられます。さらに、何らかの理由で 200K に抑えられていない場合は起動時に警告が表示されます。1M コンテキストを無効化して運用したい環境で、対象モデルの取りこぼしがなくなります。
  • 自動コンパクトを変更し、認識できないモデル ID のセッションを、想定するコンテキストウィンドウを超えて膨らませず、その範囲内に収めるようにしました。以前の挙動に戻すには CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT=1 を設定します。

    contextmodel

    詳しく
    自動コンパクト(自動圧縮)の挙動を変更しました。ツールが認識できないモデル ID を使っているセッションについて、以前はコンテキストが際限なく膨らむのを許していましたが、今後は想定されるコンテキストウィンドウの範囲内に収まるよう抑えます。以前の挙動に戻したい場合は CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT=1 を設定します。未知のモデルを使うときにコンテキストが膨張して上限を超え、エラーになる事態を防げます。
  • /review を /code-review のエイリアスに変更しました。/code-review は現在の差分または PR をレビューし(/code-review <level> <pr#>)、深いクラウドレビューには /code-review ultra を使います。

    commandsreview

    詳しく
    /review コマンドを /code-review のエイリアス(別名)に変更しました。今後 /review を実行すると /code-review が呼び出され、現在の差分や指定した PR をレビューできます(/code-review <level> <pr#> の形で対象やレベルを指定)。より踏み込んだクラウド上のレビューには /code-review ultra を使います。レビュー機能の入り口が /code-review に統一され、どちらのコマンドからでも同じレビューを利用できます。
  • エフォートレベルを指定せずに /code-review を実行すると、前回入力したレベルを再利用するように変更しました。変更するには /code-review high のようにレベルを指定します。

    commandsreview

    詳しく
    /code-review をレベル指定なしで実行したときの挙動を変更しました。今後はエフォートレベル(レビューの丁寧さ・深さ)を省略すると、前回自分が指定したレベルがそのまま再利用されます。レベルを変えたいときは /code-review high のように明示的に指定します。毎回同じレベルでレビューする人が、指定を繰り返さずに済むようになります。
◆修正Fix12
  • 細工したコマンドが自身の一部を権限チェックから隠せてしまう Bash の権限バイパスを修正。

    permissionssecuritybash

    詳しく
    特別に細工した Bash コマンドが、自分自身の一部を権限チェックの目から隠し、本来必要な承認を回避できてしまうセキュリティ上の不具合を修正しました。今後はコマンド全体が正しく権限チェックの対象になります。悪意あるコマンドが許可判定をすり抜けて実行される経路が塞がれ、権限管理の信頼性が高まります。
  • タブや不可視の Unicode 文字で埋めたコマンドが、承認ダイアログからコマンドの一部を隠せないように権限プロンプトを修正。

    permissionssecurityui

    詳しく
    コマンドの中にタブや目に見えない Unicode 文字を混ぜることで、承認ダイアログにコマンドの一部を表示させず隠せてしまう不具合を修正しました。以前はユーザーが実際とは違う内容を見て承認してしまう恐れがありましたが、今後はコマンド全体がそのままダイアログに表示されます。何を承認しているのかを正確に確認できるようになり、だまし討ちのような承認を防げます。
  • ワークフロースクリプトが動的 import() を使ってサンドボックスの外でコードを実行できてしまう問題を修正。

    workflowssecurity

    詳しく
    ワークフローのスクリプトが、動的 import() を悪用して本来の実行環境(サンドボックス)の外でコードを走らせられてしまう不具合を修正しました。今後は import() を使ってもサンドボックスの制約から抜け出せません。ワークフローが隔離された安全な範囲内でだけ動くことが保証され、意図しないコード実行を防げます。
  • エージェント定義の bypassPermissions モードが、組織の bypass-permissions 無効化ポリシーを無視してしまう権限の抜け穴を修正。

    permissionsagentssecurity

    詳しく
    エージェント定義の中で bypassPermissions(権限確認をスキップする)モードを指定すると、組織が「bypass-permissions を無効化する」ポリシーを設定していても、それを無視して権限確認を飛ばせてしまう抜け穴を修正しました。今後はエージェント定義からの指定でも組織のポリシーが優先されます。管理者が権限スキップを禁じている環境で、その制限が確実に守られるようになります。
  • セッション途中で /cd を実行した後にそのセッションを再開すると中身が空になる問題を修正。

    sessions

    詳しく
    セッションの途中で /cd(作業ディレクトリの変更)を実行したあと、そのセッションを再開すると内容が空っぽになってしまう不具合を修正しました。今後は /cd を使ったセッションも正しく復元されます。作業中にディレクトリを移動した会話を、あとから安心して再開できるようになります。
  • ゲートウェイのモデル検出が、vertex_ai/claude-* や bedrock/anthropic.claude-* のようにプロバイダー接頭辞付きの ID で登録された Claude モデルを隠してしまう問題を修正。

    modelgateway

    詳しく
    ゲートウェイ経由で利用可能なモデルを一覧する処理(モデル検出)が、vertex_ai/claude-* や bedrock/anthropic.claude-* のようにプロバイダー名の接頭辞が付いた ID で登録された Claude モデルを一覧から漏らしてしまう不具合を修正しました。今後はこれらの接頭辞付きモデルも正しく検出・表示されます。Vertex AI や Bedrock 経由で Claude を使う環境で、利用できるモデルがきちんと選べるようになります。
  • modelOverrides のキーのうち Anthropic のモデル ID でないものが、セッションの正規モデル ID として扱われてしまう問題を修正。未知のキーはドキュメントどおり無視されるようになりました。

    modelconfig

    詳しく
    設定 modelOverrides に、Anthropic のモデル ID ではないキーが含まれていると、それがセッションの正規のモデル ID として誤って採用されてしまう不具合を修正しました。今後は、そうした未知のキーはドキュメントに記載のとおり無視されます。想定外のキーによってセッションのモデルが取り違えられることがなくなり、設定どおりのモデルが使われます。
  • 管理設定を修正。サーバーから配信される設定が、マシンローカルの managed-settings.json や MDM プロファイルの env ブロックを無効化しないようにし、管理者の env はキー単位でマージされるようになりました。

    settingsconfig

    詳しく
    管理設定において、サーバーから配信される設定が、そのマシンに置かれた managed-settings.json や MDM プロファイルの env(環境変数)ブロックを丸ごと無効化してしまう不具合を修正しました。以前はサーバー側の設定が来るとローカルの env が失われることがありましたが、今後は管理者の env がキーごとに統合(マージ)されます。サーバー配信とマシンローカルの両方で環境変数を設定している組織で、双方の指定が正しく両立します。
  • sandbox.filesystem.denyWrite が作業ディレクトリを含んでいるとき、Linux でサンドボックス化されたコマンドが起動に失敗する問題を修正。

    sandboxlinux

    詳しく
    Linux 環境で、sandbox.filesystem.denyWrite(書き込みを禁止する範囲)の設定が作業ディレクトリまで含んでいると、サンドボックス内で実行するコマンドがそもそも起動できなくなる不具合を修正しました。今後は作業ディレクトリが書き込み禁止に含まれていてもコマンドが正しく開始されます。厳しめの書き込み制限を設定していても、サンドボックスでコマンドを実行できるようになります。
  • フォークされたバックグラウンドエージェントで、再開時にフォーク元の親プロンプトの再構築に失敗すると、以降そのセッションの間ずっと「already resuming」で固まってしまう問題を修正。

    agentsbackground

    詳しく
    フォークして作られたバックグラウンドエージェントを再開する際、フォーク元(親)のプロンプトの再構築に失敗すると、その後セッションが終わるまでずっと「already resuming(再開処理中)」の状態から抜け出せなくなる不具合を修正しました。今後は再構築に失敗しても行き詰まらず処理を続けられます。フォークしたバックグラウンドエージェントが二度と動かなくなる、という状態に陥らなくなります。
  • 履歴に不正な形式の診断添付データが含まれているとき、再開したセッションが毎ターン失敗したり、対話アプリが反応しないエラー画面のまま止まったりする問題を修正。

    sessionsstability

    詳しく
    セッションの履歴に壊れた形式の診断(diagnostics)添付データが含まれていると、そのセッションを再開したときに毎ターン処理が失敗したり、対話アプリが操作を受け付けないエラー画面のまま固まったりする不具合を修正しました。今後は不正な添付データがあっても、セッションを問題なく再開できます。過去の壊れたデータが原因で会話を続けられなくなる事態を避けられます。
  • 通常と異なる git push の出力を解析する際にまれに発生するハングを修正。

    gitstability

    詳しく
    git push の出力が通常と異なる形だった場合に、その内容を解析する処理がまれに固まって(ハングして)しまう不具合を修正しました。今後は変わった出力でも解析が止まりません。プッシュ時にツールが応答しなくなる、という珍しいケースが起きなくなり、安定性が向上します。
原文 Markdown を表示
## 2.1.223

- Added owner wildcard entries (`"owner/*"`) to the `strictKnownMarketplaces` and `blockedMarketplaces` managed settings for allowing or blocking all marketplace repos under a GitHub org
- Added a warning when workflow agents, forked skills, slash commands, or resumed background agents' requested subagent model is restricted and the parent model runs instead
- Added a `/teleport` hint in cloud sessions showing how to continue locally with `claude --teleport <session id>`
- Fixed a Bash permission bypass where a crafted command could hide parts of itself from permission checks
- Fixed permission prompts so commands padded with tabs or invisible Unicode can no longer hide part of the command from the approval dialog
- Fixed workflow scripts being able to use dynamic `import()` to run code outside the workflow sandbox
- Fixed a permission gap where an agent definition's `bypassPermissions` mode ignored the org bypass-permissions disable policy
- Fixed resuming a session after a mid-session `/cd` coming back empty
- Fixed gateway model discovery hiding Claude models registered under provider-prefixed IDs such as `vertex_ai/claude-*` or `bedrock/anthropic.claude-*`
- Fixed `modelOverrides` keys that aren't Anthropic model IDs being treated as the session's canonical model ID; unknown keys are now ignored as documented
- Fixed managed settings: server-delivered settings no longer disable the env block of a machine-local `managed-settings.json` or MDM profile; admin env now merges per key
- Fixed sandboxed commands failing to start on Linux when `sandbox.filesystem.denyWrite` covers the working directory
- Fixed forked background agents getting stuck "already resuming" for the rest of the session when rebuilding the fork's parent prompt failed during resume
- Fixed a resumed session failing every turn, or leaving the interactive app on an unresponsive error screen, when its history held a malformed diagnostics attachment
- Fixed a rare hang when parsing unusual `git push` output
- Changed `CLAUDE_CODE_DISABLE_1M_CONTEXT` to hold every Claude model with a native 1M window to 200K via auto-compaction, not just a fixed list; a startup warning now appears when auto-compaction isn't holding the session to 200K
- Changed auto-compact to keep sessions on unrecognized model IDs within the assumed context window instead of letting them grow past it; set `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT=1` to restore the previous behavior
- Changed `/review` to be an alias of `/code-review`, which reviews the current diff or a PR (`/code-review <level> <pr#>`); use `/code-review ultra` for a deep cloud review
- Changed `/code-review` with no effort level to reuse the level you typed last; type a level like `/code-review high` to change it