Claude Media
Claude Code v2.1.285 — allowedProvidersとプラグイン設定CLIの追加

Claude Code v2.1.285 — allowedProvidersとプラグイン設定CLIの追加

Claude Code v2.1.285は、接続先プロバイダーを制限するallowedProviders、プラグイン設定用のCLI、バックグラウンドBashの時間制限が中心です。

このリリースで何ができるようになるか

Claude Code v2.1.285は、管理者向けの制御、プラグインの設定、長時間コマンドの扱いの3方向に手が入ったリリースです。読者に効く変更は次の3点です。

  • 使えるAPIプロバイダーを管理設定で絞れる: allowedProvidersで、Anthropic API、Bedrock、Vertex AIなどのうち、その端末が接続してよい先を限定します
  • プラグインの設定をコマンドラインで完結できる: claude plugin configure <plugin>で未設定の項目を確認し、--values-stdinで値を保存します。claude plugin install --configにも<server>.<key>=<value>形式が加わりました
  • バックグラウンドのBash・PowerShellが時間切れで止まる: run_in_background付きのコマンドには既定30分、最大2時間の上限が付きます

このほか、claude --desktopでデスクトップアプリを現在のディレクトリで開けるようになり、WebFetchツールを環境変数で丸ごと止められるようになりました。残りは、修正が大半を占めます。とくに/ultrareviewのアップロード周りと、サブエージェントまわりに集中しています。

あなたの開発フローはどう変わるか

管理者:接続先プロバイダーを端末ごとに固定する

allowedProvidersは管理設定(managed settings)のキーです。許可できる接続先は次の8種類として挙げられています。

  • Anthropic API
  • カスタムエンドポイント
  • Bedrock
  • Mantle
  • Vertex AI
  • Foundry
  • Claude Platform on AWS
  • Cloud gateway

社内でBedrockだけを認めている、といった運用では、開発者が環境変数で別のプロバイダーへ切り替える余地を管理側で塞げます。値の書式は公開情報では確認できません。導入前に、対象の端末で挙動を確かめてください。管理設定をどのソースから読むかの優先順位は、managedSourcesBehaviorで複数の管理設定ソースを統合するが参考になります。

似た方向の変更が、サンドボックス設定にもあります。プロジェクト設定では、管理者が必須にしたサンドボックスを広げたり切ったりできなくなりました。管理側の拒否リストの背後にあるプロキシの差し替えや、厳格な許可リストへの追加、管理側が読み取りを拒否した領域を開き直すこともできません。「管理者が決めたことはリポジトリ側から崩せない」という方向に揃いました。

WebFetchについても2点あります。環境変数CLAUDE_CODE_DISABLE_WEB_FETCHでツールごと無効にできます。TeamとEnterpriseのセッション、およびサインインのプランを判定できないセッションでは、起動時に組織ポリシーを読めなかった場合、読めるまでWebFetchを使えなくしました。ドメイン単位で許可を設計する場合はWebFetch権限ルールの設計を先に確認すると、ツールごと止めるか、ルールで絞るかを選べます。

プラグインを配る側と使う側

これまで.mcpb形式のMCPサーバーを同梱したプラグインは、インストール後に/pluginのConfigureを開いて値を入れる必要がありました。今回、その手前の段階が2つ増えています。

# 未設定の項目を確認する
claude plugin configure my-plugin
 
# 値を標準入力から保存する
echo '{"...": "..."}' | claude plugin configure my-plugin --values-stdin

上の入力例は書式の説明用です。標準入力に渡す値の書式は公開情報では確認できないため、まずconfigureを引数だけで実行して、出力された項目を見て決めるのが確実です。

もう1つはclaude plugin install --configへの<server>.<key>=<value>の追加です。同梱された.mcpbサーバーの設定を、インストール時に渡せます。渡せば、/pluginからConfigureへ行かなくてもサーバーが起動します。一方、設定が必要なのに未入力の.mcpbサーバーは、以前は黙って読み込みを飛ばされていました。今は/plugin、インストール時のメッセージ、claude plugin installが「設定が要る」と伝え、Configureへ誘導します。

VS Codeの拡張にも同じ流れがあります。Manage pluginsに設定フォームが加わり、オプションのあるプラグインをインストールすると未設定の項目を尋ねられます。あとから変えるときは、プラグインの行にある歯車を使います。

プラグインまわりの修正も多く入りました。

  • SSH経由のインストールと更新で、GIT_SSHやcore.sshCommandのSSHプログラムが無視されていた問題を修正
  • claude plugin disableとenableで、name@marketplaceを完全に書くと、インストール済みプラグイン自身と大文字小文字が違う設定エントリを書き換えていた問題を修正
  • IDが.、-、@だけ違う(macOSとWindowsでは大文字小文字だけの違いも含む)プラグインのキャッシュやデータフォルダへ、別のプラグインが入り込む問題を防ぐため、こうしたインストールを拒否

claude plugin installでコマンド実行の承認を扱う場合はclaude plugin --accept-commandも併せて見ておくと流れがつかめます。

長時間コマンドを裏で回している人

Bashツールをrun_in_backgroundで動かすコマンドと、PowerShellの同等のコマンドに時間制限が付きました。既定は30分、最大は2時間です。上限はtimeoutで指定します。止まったときはClaudeに通知が届きます。

一晩かかるビルドや、ずっと起動しておく開発サーバーをバックグラウンドに置いていた運用は影響を受けます。詳しくは後の節で扱います。バックグラウンド実行そのものの使い方はClaude Codeバックグラウンド実行にあります。

サブエージェントを使う人

サブエージェントまわりの修正が3件入りました。

  1. claude -pでCLAUDE_CODE_FORK_SUBAGENT=1を使う場合、サブエージェント自身のAgent呼び出しがフォアグラウンドで動くようになり、サブエージェントが子の結果を受け取れます
  2. forkサブエージェントが、親のplan modeやdontAskモードを引き継ぎます。forkはplan modeを抜けられません
  3. claude -p --permission-prompt-toolでは、バックグラウンドのサブエージェントの権限リクエストが、自動拒否でなく権限プロンプトツールに届きます

plan modeを守らせたいチームにとっては、forkが親の制約を外せなくなったことが実質的な変更です。forkの設計そのものはサブエージェント並列設計で扱っています。auto modeのサブエージェントでは、報告を返した時点で実行が終わり、誰にも届かない余分なターンを消費しなくなりました。

主な変更点

追加

追加されたもの内容
CLAUDE_CODE_DISABLE_WEB_FETCH内容WebFetchツールを無効にする環境変数
claude --desktop内容Claudeデスクトップアプリを現在のディレクトリで開く。--continueや--resume <id>と組み合わせて、既存のセッションでも開ける
claude plugin configure <plugin>内容プラグインの項目と未設定の項目を表示。--values-stdinで値を保存
claude plugin install --config内容<server>.<key>=<value>で同梱.mcpbサーバーの設定を渡せる
allowedProviders内容接続を許可するAPIプロバイダーを管理設定で限定
CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES内容タイムアウトした非ストリーミングのフォールバック再送に回数の上限を付ける

変更(仕様が変わるもの)

仕様の変更は、影響範囲の広いものから挙げます。

変更内容
ANTHROPIC_BASE_URL 越しのセッション内容1Mコンテキストを持つモデル(Opus 4.7以降、Sonnet 5以降、Fable)では1Mウィンドウを使う。ゲートウェイが200Kまでなら/autocompact 200kを実行
claude -pとPython Agent SDK内容サードパーティのプロバイダー、またはテレメトリ無効で、権限モード未設定なら、auto modeで開始。--permission-modeが優先
auto modeの既定化の案内内容サードパーティのプロバイダーやテレメトリ無効の環境でも、ユーザー設定の既定が別のモードのときに表示
Code Reviewと/ultrareview内容disableWorkflowsが有効でも実行。ただし、レビューを走らせるマシンで管理者(MDMや管理設定ファイル)がその値を設定した場合は除く
/tasks内容Claude Code自身が動かす裏の作業を「System tasks」の1行にまとめる。Enterで展開
/memory内容バックグラウンドのセッションや、Claude Code自身のツールが起動したセッションからは、Auto-memoryをオンにできない。オフにはできる
/config chrome=true内容Claude in Chromeを有効にせず、/configパネルへ誘導。chrome=falseは従来どおり
/claude-api内容Remote Controlのクライアントからは実行できない
クラウドセッションとセルフホスト実行環境内容MCPサーバー名widgetsを予約。同名やwidgets_のような近い綴りの自前サーバーは読み込まれないため、改名が必要
Windowsのプロジェクト・ローカル設定内容envでALLUSERSPROFILE、SystemDrive、CommonProgramFiles系の変数を設定できない。ユーザー設定か管理設定に移す
MCPのalwaysLoad内容ツール側が_meta['anthropic/alwaysLoad']をfalseにしていれば、サーバー側をalwaysLoadにしても遅延読み込みのまま
claude mcp get内容プラグインが提供するstdioサーバーのコマンド、引数、環境変数の値を隠す。変数名は表示
Bedrock、Mantle、Claude Platform on AWS内容既定以外のポートを持つベースURLでは、SigV4署名済みHostヘッダーにポートを含める
クラウドセッションのMCP_DISCOVERY_CACHE=1内容設定ファイルでなく環境変数として設定した場合、再起動後にコネクターのツール一覧を再利用。ほかのMCPサーバーはキャッシュされず、起動時に接続

widgetsの予約は、該当する名前を使っていた場合に突然サーバーが消える型の変更です。クラウドセッションで自前のMCPサーバーを動かしているなら、設定名を確認しておく価値があります。

ultrareviewのアップロード周りに変更が集中

修正と変更を合わせると、/ultrareviewだけで10件近い項目があります。ローカルのチェックアウトをアップロードする経路が中心です。

  • macOSとLinuxでは、ローカルリポジトリのアップロードにgit 2.31以降が必要になりました。--separate-git-dirで作ったチェックアウトは拒否されます
  • macOSとLinuxでは、git 2.31以降ならパーシャルクローンを作業ツリーのスナップショットとして送ります。古いgitでは、作業ツリーのファイルが一部欠けているパーシャルクローンは、フェッチせず拒否されます。--filterなしで作ったクローンはアップロードできます
  • macOSとLinuxでは、アップロードにシンボリック参照を含めません。現在のブランチがシンボリック参照のチェックアウトは、理由つきで拒否されます
  • server:8443.keyのように、拡張子の前にコロンがある認証情報ファイルの未コミットの変更が、アップロードに含まれる問題を修正しました。バックアップや編集の印が多いファイル名で、資格情報チェックをすり抜ける問題も直っています
  • macOSとLinuxでは、worktree単位の設定でcore.longpathsを設定していると、作業ツリーのアップロードに失敗する問題を修正
  • Windowsでは、ホームフォルダをルートとするリポジトリのリンクされたworktreeが、場合によってアップロードされてしまう問題を修正
  • プロジェクトフォルダを一時的に読み取れなかったとき、"core.worktree is set"という紛らわしいエラーが出る問題を修正
  • WSLでは、Linuxボリューム上のチェックアウトで、変更したファイル名にコロンがある場合や、末尾がドットまたは空白の場合に拒否されていた問題を修正

資格情報ファイルの扱いは、ユーザーの目に見えにくい修正です。ただ、ローカルの変更をクラウドへ送る機能なので、見過ごせない修正です。アップロード時の上限やエラーは「Diff is too large for ultrareview」の対処にまとめています。

修正(抜粋)

影響の出やすい修正は次のとおりです。

領域直った症状
起動・認証直った症状OSが管理設定ファイルの読み取りを拒否すると起動しなかった。今は警告を出して、そのファイルのポリシーなしで起動する。ほかの読み取りエラーや解析できないファイルは、引き続き全セッションを止める
起動・認証直った症状ANTHROPIC_AUTH_TOKENでAnthropic APIに認証するセッションが、組織のポリシーを読み込まなかった
起動・認証直った症状ブラウザーが成功を表示したのに、サインインが待ち続けることがあった
起動・認証直った症状2つのセッションが、クラッシュしたプロセスの残したログイン更新ロックを同時に回復すると、まれに認証が失敗した
API・再試行直った症状ストリーミングが失敗し続けるとき、リクエストを最大21回再試行していた。非ストリーミングのフォールバックが、リクエストの再試行枠を共有するようになった
API・再試行直った症状APIの出力コンテンツフィルターがブロックした応答が、再送されて数分かかることがあった。今はフィルターのエラーをすぐに表示
フック・ツール直った症状起動したバックグラウンドプロセス(some-daemon &など)が出力を開いたままだと、同期フックが固まっていた
フック・ツール直った症状キャンセルがセットアップ中に届いても、シェルコマンドやフックが起動して最後まで走っていた
フック・ツール直った症状ExitPlanModeで、同じ応答の中で書かれたプランが、フックやSDKの権限コールバックに見えない、または古いまま見えていた
権限直った症状sandboxの自動許可が、=を含むインラインスクリプト(python3 -c、node -e)の実行ごとに承認を求めていた
権限直った症状PowerShellツールの権限チェックが、コマンドパーサーの起動失敗時にdenyとaskのルールを飛ばし、その失敗をキャッシュしていた
MCP直った症状claude mcp listがWebSocket(ws)のMCPサーバーを載せていなかった。今はURLと状態つきで表示
MCP直った症状設定エントリにtypeがないstdioサーバーで、claude mcp getがType、Command、Args、Environmentを出さなかった
MCP直った症状SDKと-pのセッションで、途中から追加したMCPサーバーをオフにしても、ツールが使えたままだった
ログ直った症状URLのパスワードに@が含まれると、伏せ字ログやトランスクリプトに一部が見えていた。%40と書かれていると全体が見えていた
ログ直った症状claude mcp listとgetの出力、およびremove、login、logoutの未検出エラーが、MCPサーバー名や値の改行とエスケープシーケンスをそのまま出力していた
セッション直った症状保存されたトランスクリプトに、欠けた項目や壊れた項目を持つcompactionマーカーやループ再開エントリがあると、圧縮や再開が失敗、履歴なしで開く、またはクラッシュしていた

WebFetchの修正では、ドメインの安全性チェックがレート制限されたとき、それをネットワークや企業ポリシーによるブロックと報告していた問題が直りました。原因の切り分けで迷いにくくなります。Bedrockの途中エラー(modelTimeoutException、serviceUnavailableException)も、生のJSONでなくエラーメッセージを表示するようになりました。/costとSDKのmodelUsageは、サーバーがクライアントの想定と違うフォールバックモデルで拒否に応答したとき、ターンを誤ったモデルとして報告していました。モデルを途中でset_modelリクエスト(Agent SDKのsetModelなど)で切り替えると、出力トークン上限と自動圧縮ウィンドウが内蔵の値に残る問題も修正されています。

改善

  • /resumeとclaude --resumeが、バックグラウンドで動くセッションを開けるようになりました。claude --resume <id> "prompt"のプロンプトは、そのセッションの次のターンとして送られます
  • BedrockとVertex AIのセッションは、管理者が既定モデルへのアクセスを外すと、失敗せずに同じティアの古い利用可能なモデルへ切り替えます。セッションのタイトルと要約も同様にフォールバックします
  • BedrockとVertexの起動時モデルチェックで、使えないと分かったモデルを最長1日記憶します。Bedrock、Vertex、Mantleの起動時モデルチェックは、通常のリクエストと同じUser-Agent、x-app、セッションIDのヘッダーを送り、Claude Codeとして名乗るようにもなりました
  • Remote Controlで、Claude Desktopなどのアプリが動かすセッションの/btwの割り込み質問が、直前に終わったターンだけでなく進行中のターンも参照します
  • ClaudeがBMP、HEIC、HEIF、AVIF、TIFFのファイルとして送る画像は、Claudeアプリでプレビューが出ます(Claude Codeが変換できる範囲で)
  • Claude in Chromeのネイティブホストがコンピューター名を報告し、接続済みのブラウザーを「Browser 1 / 2」でなくコンピューター名で見分けられます
  • SDKでは、Anthropic API、Claude Platform on AWS、ゲートウェイ経由で非ストリーミングのフォールバック中、部分メッセージをオンにしていると、pingストリームイベントを30秒ごとに送ります
  • 多数の権限拒否ルールとMCPツールがあるときのターンごとの性能と、フルスクリーンでないときにctrl+oのトランスクリプトを閉じる応答が改善されました

非ストリーミングの再試行は何を抑えたのか

今回、API再試行まわりの変更が3件そろっています。これは、障害時の待ち時間に関する話です。

  1. ストリーミングが失敗し続けると、最大21回の再試行になっていた問題を修正(非ストリーミングのフォールバックが同じ再試行枠を使う)
  2. CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIESが加わり、タイムアウトしたフォールバックの再送回数に上限を付けられる
  3. 出力コンテンツフィルターがブロックした応答を再送せず、エラーをすぐに表示する

3件とも、失敗する見込みの高いリクエストを繰り返さない方向です。ゲートウェイや社内プロキシ越しに使っていて、応答が返るまで数分待たされる経験がある環境ほど、効き目が出ます。

バックグラウンドBashの時間制限は長時間ジョブの運用をどう変えるか

時間制限は、いままで「止めない限り走り続ける」ことが暗黙の前提だったバックグラウンドコマンドに、終わりを作ります。既定の30分は、ビルドやテストには十分な場合が多い一方、常駐する開発サーバーや、長いデータ処理には足りません。

対策は2つです。上限内に収まる単位にコマンドを分けるか、timeoutを最大の2時間まで伸ばします。2時間を超える処理は、バックグラウンドBashに置く設計自体を見直す対象になります。止まったときはClaudeに通知が届くので、失敗に気づけないまま作業が進む状況にはなりにくい設計です。

なお、これはバックグラウンドで動かすコマンドの話です。Claude Code自身が内部で動かす作業は、/tasksの「System tasks」の行にまとめられました。自分が起動したタスクと、Claude Codeが裏で動かしているタスクの見分けがつきやすくなります。

バージョン別の流れ

バージョン変わったこと読者への影響
v2.1.283変わったことサードパーティのプロバイダー、またはテレメトリ無効の対話セッションが、権限モード未設定でauto modeに読者への影響サードパーティ経由の利用者が先行
v2.1.284変わったことSonnet 5.5、権限モード未設定の対話セッション全般でauto modeが既定に、Ultracodeが独立トグルに読者への影響Anthropic直接接続の利用者にも影響
v2.1.285変わったことclaude -pとPython Agent SDKでも、サードパーティやテレメトリ無効ならauto modeで開始。allowedProviders、プラグイン設定CLIを追加読者への影響非対話の実行と、管理者の統制に影響

auto modeの既定化は、v2.1.283で対象が広がり、v2.1.284で全般に及び、今回はclaude -pとPython Agent SDKに達しました。各バージョンの内容はv2.1.284の解説とv2.1.283の解説にあります。

使い方別の影響

利用形態影響
管理設定で端末を統制している影響明確な恩恵あり。allowedProvidersで接続先を絞れる。サンドボックス設定もプロジェクト側から崩せなくなった
自作またはサードパーティのプラグインを配っている影響明確な恩恵あり。.mcpbサーバーの設定をインストール時に渡せる
バックグラウンドBashで長時間ジョブを回している影響条件次第。30分を超える処理はtimeoutの指定が要る
claude -pでCIやスクリプトを回している(サードパーティ・テレメトリ無効)影響条件次第。権限モード未設定だとauto modeで始まる。従来の挙動に固定するには--permission-mode
クラウドセッションで自前のMCPサーバーを使っている影響条件次第。widgetsという名前なら、改名が必要
/ultrareviewでローカルのチェックアウトを送る(macOS・Linux)影響条件次第。git 2.31未満、--separate-git-dir、シンボリック参照のブランチは拒否される
VS Code拡張を使っている影響明確な恩恵あり。プラグイン設定フォームや、再読み込みで中断された会話の通知が加わり、多数の不具合も直った
通常の対話利用のみ影響ほぼ影響なし

まとめ

v2.1.285は、管理者と、プラグインを配る側に効く更新です。allowedProvidersで接続先を固定でき、プラグインの設定はコマンドラインから扱えるようになりました。

一般の開発者にとって注意が要るのは、バックグラウンドBashの時間制限、widgetsの予約、/ultrareviewのgitバージョン要件です。この3点は、該当する使い方をしている場合にだけ更新後の確認が要ります。ほかの修正は、更新するだけで解消するものが大半です。

関連ガイド

このバージョン単体の位置づけや前後の版とのつながりは、Claude Codeの全体像でまとめて確認できます。

この記事を共有:XはてブLinkedIn