Claude Code v2.1.286 — 許可プロンプトの件数表示と--bareの仕様変更
Claude Code v2.1.286は、許可プロンプトの「2 of 5」表示、モデル拒否時の自動フォールバック、--bareの仕様変更、秘密情報のマスク強化が中心です。
このリリースで何ができるようになるか
Claude Code v2.1.286は、画面の使い勝手、失敗時の立ち直り方、秘密情報の扱いの3方向に手が入ったリリースです。項目数は多いものの、読者の作業に直接効くのは次の3点です。
- 許可プロンプトが何件目か分かる: 複数の許可要求が重なったとき、
2 of 5のような件数が表示されます - APIがモデルを拒否してもターンが止まらない: 既定のモデルやエイリアスの解決先が拒否されたとき、同じティアの一つ前のモデルで1回だけ再試行します
--bareがより素の状態になる: コマンドラインで名指ししたMCPサーバーだけを接続し、システムリマインダーもバックグラウンドタスクも出しません
このほか、ログや文字起こしに出る秘密情報のマスクまわりの不具合が複数直りました。claude --resumeで会話が欠ける不具合や、ツールが文字列以外を返したときのAPI 400も修正されています。
あなたの開発フローはどう変わるか
許可プロンプトを次々に承認している人
許可要求が積み重なると、プロンプトに2 of 5のような件数が出ます。あと何回承認すれば手が空くかが分かります。
見た目も揃いました。Bash、PowerShell、Monitorのプロンプトは、コマンドを破線の間に表示します。ファイル編集のプロンプトと同じ見せ方です。fetch、スキル、ファイル読み取り、サンドボックスのネットワーク、Claude in Chrome、ワークフロースクリプト、ノートブック編集の各プロンプトも、編集プロンプトに外観を合わせました。
許可まわりの通知を自前のhookで扱っているなら、許可プロンプトの通知hookを止める環境変数で切るという手もあります。
モデルが拒否されたときの動きが変わる
これまでは、APIが既定のモデル(またはエイリアスの解決先)を拒否すると、すべてのターンが失敗しました。今回から、同じティアの一つ前のモデルで1回だけ再試行します。
- 拒否や
--fallback-modelによる再試行で、フォールバック先のモデルが高速モードで動けないと失敗していた問題を修正。標準速度で動き、対話セッションでは一度だけ通知が出ます - フォールバックでコンテキストウィンドウが1Mから200Kトークンに縮んだとき、フォールバックの通知と、自動圧縮が空回りするときのエラー(autocompact thrashing)がそのことを伝えます
- モデルのフォールバックが1ターンだけ続いたとき、コミット帰属のリマインダーがツール出力内で再送される問題を修正
フォールバックの設計はFALLBACK_FOR_ALL_PRIMARY_MODELSの記事が参考になります。
API失敗時の再試行の数え方も変わりました。上限は1回のモデル呼び出し全体にかかる形になり、既定の再試行設定では、失敗する呼び出し1回あたりのリクエスト数が14回に収まります。
CIやスクリプトで--bareを使っている人
| 項目 | 変更後の挙動 |
|---|---|
| MCPサーバー | 変更後の挙動コマンドラインで名指ししたものだけに接続する |
| システムリマインダー | 変更後の挙動モデルに送らない |
| バックグラウンドタスク | 変更後の挙動起動しない。シェルコマンドがタイムアウトに達したら、バックグラウンドへ移さず停止する |
claude -p --bare "テストの失敗原因を1行で説明して"--bareはサブスクリプションのログインやキーチェーンを読まないため、Anthropic APIで動かすときは環境変数ANTHROPIC_API_KEYか、--settingsで渡すapiKeyHelperが必要です。Amazon Bedrock、Google CloudのAgent Platform、Microsoft Foundryはそれぞれの資格情報をそのまま使います。
--bareはCLAUDE_CODE_OAUTH_TOKENも読みません。スクリプトで--bareを渡すなら、ANTHROPIC_API_KEYかapiKeyHelperで認証します。
プロジェクトの.mcp.jsonはもともと--bareでは読まれません。今回から、コマンドライン(--mcp-configなど)で名指ししたMCPサーバーだけに接続するように変わりました。タイムアウトした長いシェルコマンドがバックグラウンドに逃げずに止まる点は、終了コードを見るスクリプトに効いてきます。
ログイン・認証まわり
gcpAuthRefreshまたはawsAuthRefreshの認証情報が切れると、これまでは複数のClaude CodeプロセスやIDE拡張がそれぞれログイン用のブラウザーを開いていました。macOSでは、別のClaude Codeウィンドウの/loginが成功しても、古い~/.claude/.credentials.jsonが残っていると「Not logged in」「Login expired」が出続けていました。どちらも直っています。
claude auth statusは、Consoleサインインで保存されたAPIキーをclaude.aiと報告していました。今はapi_keyと報告し、VS Code拡張もそのセッションをAPIキーのセッションとして扱います。/statusは、APIキーと並べてAnthropicのプロファイルを表示し、両方が有効であるかのように見せていました。今はプロファイルが使われていないことが表示されます。
claude auth statusConsoleサインインで保存したAPIキーを使っている環境では、更新後にこのコマンドの出力がapi_keyになっているかで、どの認証が効いているか判断できます。
Remote Controlを使う人と管理者
組織のポリシーでRemote Controlを無効化すると、claude remote-controlを含む既存のセッションも、通知を出したうえで切断されます。これまではつながったままでした。
あわせて2件が直っています。
- 添付したファイルが届かなかったことをClaudeが知らされなかった。また、ファイルの最後のダウンロード試行に10秒しか与えられないことがあった
- Claude Codeの終了中に届いたメッセージが「配信済み」とされ、そのまま返答されなかった。今は次回の実行まで待機に残ります
サブエージェントとバックグラウンドの操作
- 実行中のサブエージェントに打った入力が、読まれたあと文字起こしに2回出ていた
- 登録名のないサブエージェントの引き継ぎメッセージに、エージェント名でなく生のタスクIDが出ていた
- フォアグラウンドのサブエージェントが、有効なセッションでもタスク管理ツール(TaskCreate / Get / Update / ListとTodoWrite)を持たないことがあった
- worktree分離で起動したサブエージェントは、最初のファイル読み取りでプロジェクトのCLAUDE.mdとそのインポートを、worktree側のコピーから二重に読み込んでいた
- Workflowツールのサブエージェントは、応答の途中で接続が数分止まると、元のプロンプトからやり直されていた
操作面では、/compact、/clear、/rewindをバックグラウンドエージェントやチームメイトの文字起こしを見ている最中に打つと、気づかないうちにメインの会話に作用していました。今は、対象を名指ししたダイアログで先に確認を求めます。バックグラウンドジョブが、承認待ちなのに「完了」と表示される問題も直りました。
送信即時のキー(ctrl+enter)は2点変わっています。サブエージェントの画面では、実行中のコマンドをバックグラウンドへ移して、メッセージがすぐ読まれるようにします。スキル自身のシェルコマンドに対しては、終了させずバックグラウンドへ移します。
サブエージェントに渡すCLAUDE.mdを絞るomitClaudeMdという設定もあります。
コミット前にverifyスキルを走らせる
プロジェクトまたはユーザーのスキルにverifyという名前のものがあると、Claudeはコミットの直前にそれを実行するよう指示されます。ドキュメントのみ、テストのみのコミットは対象外です。
例えば、次のようなスキルを置くと、コミット前の確認がこのスキルに集約されます。下は書式の例示で、中身は各プロジェクトのコマンドに置き換えてください。
---
name: verify
description: コミット前にlintと型チェックとテストを実行する
---
1. `npm run lint` を実行する
2. `npm run typecheck` を実行する
3. `npm test` を実行する
4. 失敗があれば、コミットせず内容を報告する秘密情報のマスクが強化された
MCPのエラーメッセージでは、キー名の前にBearerまたはBasicが付いていると、その認証情報の値が表示されていました。ほかにも、ログ、文字起こし、エラーメッセージのマスク漏れが次のとおり直っています。
| 直った問題 | 具体的な場面 |
|---|---|
| MCPのエラーメッセージ | 具体的な場面キー名の前にBearerまたはBasicが付いていると、その認証情報の値が表示されていた |
| パーセントエンコードされたBearerトークン | 具体的な場面エラーメッセージで一部しか隠れていなかった |
| キー名に不可視文字が入った秘密 | 具体的な場面ゼロ幅スペースなどが混じると、マスクされなかった |
| URL中のパスワード | 具体的な場面)、引用符、]、&、2つ目の@などを含む場合と、sshのURLで/をまたいで[::1]のような括弧付きホストに至る場合に、一部が出ていた |
/feedbackのzip | 具体的な場面秘密情報のマスク後、文字起こしに不正なJSON行が混じっていた |
ログや文字起こしを共有する機会がある人には、見直しの効く修正です。
プラグインの導入
プラグインのインストールは、gitリポジトリやフォルダを指すnpmソースを拒否するようになりました。依存関係も、レジストリのパッケージからしか入れません。読み込みを拒否したマーケットプレイスのエラーは、「見つからない」でなく理由と直し方を示します。claude.aiで有効にしたプラグインが、サーバーの一時エラーのあとセッション中に消えることがある問題も直りました。
主な変更点
追加
| 追加されたもの | 内容 |
|---|---|
| 許可プロンプトの件数表示 | 内容複数の許可要求が重なると2 of 5のように表示 |
| 全画面モードのマウス操作 | 内容リストの「N more」行をクリックして、リストの端へ移動。ホバーと押下の状態も付く |
| VS Codeのブックマーク | 内容Claudeの応答を保存し、Bookmarksのサイドパネルで手元に置く |
| VS Codeの質問履歴 | 内容質問カードに答えると、Questions行に各質問と選択内容が並ぶ |
| VS Codeの選択肢プレビュー | 内容ハイライト中の選択肢のモックアップやスニペットを、選択肢の横か下に表示 |
| VS Codeのメッセージ添付行 | 内容送ったターミナル出力、ブラウザータブ、ブラウザーへの指示、選択コードを開ける行 |
変更(仕様が変わるもの)
| 変更 | 内容 |
|---|---|
--bare | 内容名指ししたMCPサーバーのみ接続。リマインダーなし、バックグラウンドタスクなし。タイムアウトしたシェルコマンドは停止 |
| API失敗時の再試行 | 内容上限が1回のモデル呼び出し全体に。既定設定で最大14リクエスト |
| ctrl+enter(送信即時) | 内容スキル自身のシェルコマンドを、終了でなくバックグラウンドへ移す |
| プラグインのインストール | 内容gitリポジトリやフォルダのnpmソースを拒否。依存関係はレジストリのパッケージのみ |
| WebFetchのエラー | 内容ドメインの安全確認がレート制限に当たったとき、ループで再試行しないようClaudeに伝える |
| プロンプトの色 | 内容何も実行中でなく、待機もない状態で送ったプロンプトは、灰色でなく通常の文字色ですぐ表示 |
/hooks | 内容イベントごとにまとめた1つのリストで開く。hookを見るのにEnterが3回から1回になる |
| テーマ選択 | 内容端末に収まるスクロールリストに。数字キーでは選べなくなった |
リスト画面(/artifacts、/mcp、/skills、/hooksほか) | 内容各行の詳細を、名前の後ろの1列に揃える |
| リストの溢れ行 | 内容「N more above」でなく「↑ N more」、「↓ N more」と表示 |
/exitのRemove worktree | 内容Claude Codeが起動したサーバーとシェルを止めたあとに実行。Windowsでフォルダーが消せない問題を避ける |
claude-apiスキル | 内容Managed Agentsの例で、ネットワークを制限した環境を作る |
/ultrareviewとclaude ultrareview | 内容出力からブラウザーのリンクを削除 |
| VS Codeの停止 | 内容Stop、Escapeは現在のターンだけを終える。バックグラウンドエージェントは動き続け、エージェントマップから個別に止める |
| VS Codeのステータスバー | 内容「✻ Claude Code」をすべてのウィンドウに表示。ファイルを開いていなくてもClaudeを開ける |
改善
- 外部エディター(Ctrl+G)は、行番号を受け取るエディターで、プロンプト内のカーソル行を開く。使い方はCtrl+Gで外部エディタを開くにあります
- スキルやプラグインのコマンドが多い環境で、スラッシュコマンド候補の応答が軽くなった。説明文は語の先頭で照合
- 全画面リストのスクロールバーが、「N more」行の出入りでずれにくくなり、↑と↓の矢印をクリックか長押しでスクロールできる
- 出力スタイル選択が現在のスタイルで開き、名前の下に説明を表示する。数字キーでは選べなくなった
- バックグラウンドエージェントの返信が、こちらの発言の要約から始まらなくなった
- WebFetchによるclaude.aiのアーティファクトリンクの読み取りが、Artifactツールの読み取りと同じ確認になった。セッションのネットワークアクセスが有効なら確認なし、無効なら1アーティファクトごとに1回。autoモードの「はい」は、本人にしか答えられない確認には数えない
- SDKと
-pのセッションで、ホストが接続済みMCPサーバーの有効化を再送したときの応答性を改善 - Claude appsゲートウェイの
/protocolページが、未知の入力を拒否しないよう案内し、現在Claude Codeが送る内容に合った
修正(抜粋)
/usageが、接続中または接続直後のMCPサーバーのツール呼び出しを、そのサーバーの分として数えていなかったclaude --resumeと--continueで、前のセッションがクラッシュまたは強制終了されたあと、並列ツール呼び出しの後のターンがすべて消えることがあった- ツールやhookが文字列でなくオブジェクト、数値、真偽値を返したあとにAPI 400になっていた。再開したセッションも含む
- Claude appsゲートウェイの支出メーターが、1時間のプロンプトキャッシュ書き込みを安い5分の単価で計算していた。サーバー側ツール(Web検索など)を使うストリーミングのターンで、最初のモデル呼び出しの入力トークンしか数えていなかった
- MCPコネクターが、サーバーが古いMCPハンドシェイクを使わなくなったあと、最大1日ツールを列挙しなかった
- Claudeからの再度のMCPサインイン要求が、保留中のサインインリンクを置き換えて、リンクが使えなくなっていた
- MCPキャッシュ有効のヘッドレスセッションが、再認証の成功後も「MCP servers require authentication」のリマインダーを繰り返していた
- 全画面モードで、折りたたまれた行(「Thought for 4s」など)の単語の間をクリックすると、行が強調されるだけで開かなかった
- 長い名前の操作行など、詳細のない行が、ほかの行の詳細を右へ押し出していた
- 非常に長い名前のファイルが、クラウドセッションに添付しても届かなかった
/pluginのDiscoverタブで、行にすでに引用符付きで出る名前を、「Checking … for new plugins」の行では引用符なしで表示していた- Windowsで、
claude --bgとエージェント画面が、大文字小文字の違う信頼記録を持つフォルダーを、すでに信頼済みでも拒否していた - VS Codeで、サイドバーにすでに開いている会話の2つ目のコピーがタブで開いていた。修正後はサイドバーがその会話に切り替わる
- VS Codeで、1MBを超える出力を出したとき、設定ダイアログが再確認なしで保存失敗を報告していた
- VS Codeで、拡張が応答しなくなると「Teleporting session…」が終わらなかった
クラウドセッションとClaude Tagの修正(抜粋)
クラウドセッションでは、履歴が非常に大きいと、文字起こしの読み込み中にコンテナーが止まり、二度と起動しないことがありました。Claudeのメッセージ送信後にセッションがアイドルになっていると、回答した質問カードや承認したツール呼び出しが返答を得られませんでした。この問題も直っています。組織の環境でセットアップスクリプトを管理画面から消しても、新しいクラウドセッションが古いスクリプトを走らせ続けていた問題も修正されました。
ルーティンの実行は、セッションが起動していないのに「Succeeded」と表示されていましたが、今は「Failed」と表示します。スケジュールされた実行が遅れて開始していないときは、ルーティンのページが過ぎた次回実行時刻でなく、予定時刻付きの「Due」を表示します。
Claude Tagでは、支出上限ページに「Add channel」ボタンが付きました。チャンネルIDかSlackリンクから、非公開チャンネルを含むどのチャンネルにも上限を置けます。そのほか次の修正が入っています。
- 既定のSonnetモデルが使えない組織で、メモリー検索が何も見つけなかった
- Enterprise Gridの管理者がSlackチャンネルを別のワークスペースへ移したあと、最初の投稿がClaudeに言及しないと、チャンネルのClaude設定が消えた
- Slackのスレッドで、Claudeが直前に出した質問へ返信すると、新しいマシンでやり直して、プッシュ前の作業を失うことがあった
- 大きな組織で、支出上限ページの公開チャンネル名が生のSlack IDで表示された
利用形態別の影響早見表
| 使い方 | 影響 | 理由 |
|---|---|---|
--bareでCI・スクリプトを回している | 影響条件次第 | 理由MCPは名指ししたものだけ、タイムアウトしたシェルは停止に変わる |
| 複数の許可要求を連続で承認する | 影響明確な恩恵あり | 理由件数表示で残りが分かる |
| GCPやAWSの認証更新コマンドを設定している | 影響明確な恩恵あり | 理由認証切れ時のブラウザー多重起動がなくなる |
会話を--resumeや--continueで再開する | 影響明確な恩恵あり | 理由クラッシュ後にターンが消える不具合が直った |
| サブエージェントを多用している | 影響明確な恩恵あり | 理由二重表示、CLAUDE.mdの二重読み込み、ツール欠落が直った |
| 組織でRemote Controlを制限している | 影響明確な恩恵あり | 理由ポリシーに従って既存セッションも切断される |
| ゲートウェイの支出メーターを見ている管理者 | 影響条件次第 | 理由1時間キャッシュの書き込み単価と、サーバー側ツールのトークン数が修正された |
| VS Code拡張を使っている | 影響明確な恩恵あり | 理由ブックマークや質問履歴が加わり、Stopの挙動も変わった |
| 通常の対話利用のみ | 影響ほぼ影響なし | 理由表示が揃い、拒否時のフォールバックが効く程度 |
v2.1.285からの流れ
前のリリースv2.1.285は、allowedProvidersとプラグイン設定CLIが中心でした。
| 対象 | v2.1.285 | v2.1.286 |
|---|---|---|
| プラグイン | v2.1.285設定をCLIで扱えるようになった | v2.1.286npmソースの制限とマーケットプレイスのエラー文の改善 |
/ultrareview | v2.1.285アップロード周りを整えた | v2.1.286出力のブラウザーリンクを削除 |
プラグインまわりは2リリース続けて変更が入りました。v2.1.285は設定の扱い、v2.1.286はnpmソースの制限が中心です。
v2.1.286の秘密情報マスクは「出力の最後の砦」を厚くする動き
今回の修正で目を引くのは、個々の機能追加でなく、秘密情報のマスクに関する5件の連続です。Bearerの前置き、パーセントエンコード、ゼロ幅スペース、URL中の記号、/feedbackのzip。5件のうち4件は出力が漏れる経路で、残る1件は、マスク処理のあと/feedbackのzip内の文字起こしに不正なJSON行が混じっていた問題でした。
漏れた4件に共通するのは、秘密情報を見つけて隠す処理が、入力の書式の揺れに弱かったことです。キー名に不可視文字が混じる、パスワードに@が2つある。想定した書式を外れる入力は、現実にいくらでも出ます。今回の一連の修正で、その想定の外側が1つずつ塞がれました。
ただし、マスクは最後の砦です。/feedbackのzipやログを外部へ渡す前に、自分の目で確認する習慣は残ります。修正がどれだけ入っても、未知の書式が出れば漏れる余地は残るからです。
まとめ
v2.1.286は、更新するだけで効く修正が大半を占めるリリースです。許可プロンプトの件数表示、モデル拒否時のフォールバック、認証まわりの不具合、--resumeで会話が欠ける問題、秘密情報のマスクが効く場面は、どれも日常的に当たります。
確認が要るのは--bareです。MCPサーバーの接続範囲、リマインダー、バックグラウンドタスクの扱いが変わるので、CIやスクリプトで使っている場合は、更新後に一度実行すると差が分かります。VS Code拡張では、StopとEscapeが現在のターンだけを終える点が、操作の感覚に効いてきます。
関連ガイド
このバージョン単体の位置づけや前後の版とのつながりは、Claude Codeの全体像でまとめて確認できます。