
Claude Code v2.1.220〜v2.1.221 の主要アップデート - print モードの MCP 接続修正と権限チェックのバイパス修正
クラウド事業統括本部の石川です。Claude Code の v2.1.220 〜 v2.1.221(2026 年 7 月 24 日 〜 8 月 3 日)のアップデートをまとめてご紹介します。権限チェックに関わる修正が 2 件入っており、実務への影響が読み取りやすい回だと感じます。print モードの MCP 接続を試してみました。
前回のアップデート記事はこちらです。
アップデートサマリー
約10日ぶりのアップデートで、対象は 2 バージョン(v2.1.220 〜 v2.1.221、2026 年 7 月 24 日 〜 8 月 3 日)で、CHANGELOG に記載された変更は計 40 項目です。v2.1.220 は「Bug fixes and reliability improvements」の 1 行のみで、残る 39 項目が v2.1.221 に集中しています。
内訳は新機能が 4 件、権限チェックに関わるセキュリティ修正が 2 件、その他の修正が 16 件、改善・開発者体験まわりが 15 件、そして挙動が変わる変更が 3 件です。新機能の追加よりも、権限チェックや MCP の接続まわりといった土台部分の修正が多い構成になっています。
注目のアップデート
VS Code に Focus view を追加(v2.1.221)
VS Code 拡張に Focus view が追加されました。チャットメニューのトグルで、ツールの実行内容を展開可能なターン単位のサマリーの裏に隠し、実行中のツールをインジケーターで示します。Ctrl+Alt+F、またはコマンド「Claude Code: Toggle Focus view」で切り替えられます。
ツールの実行ログでチャットが流れてしまいがちな VS Code 拡張のユーザーには、会話の流れを追いやすくなる変更だと感じます。
サンドボックス資格情報ファイルに mode: "mask" を追加(v2.1.221)
Linux と WSL で、サンドボックスの資格情報ファイルに mode: "mask" が使えるようになりました。サンドボックス内のコマンドはセンチネル(ダミー)のコピーを読み、サンドボックスプロキシが外部への送信時に実際の値へ置き換えます。マスクの対象はファイル全体、または extract の正規表現でキャプチャした範囲のみを選べます。macOS ではファイルのマスキングは deny にフォールバックします。
Linux や WSL でサンドボックスを使い、API キーなどをファイルで渡している方には、deny 以外の現実的な選択肢が増えたと感じます。
claude-api スキルに prompt-audit サブコマンドを追加(v2.1.221)
claude-api スキルに prompt-audit サブコマンドが追加されました。プロンプトやツールの説明文が、古いモデル向けに書かれたパターンになっていないかを監査します。
Claude API を使うアプリケーションを長く運用していて、古いモデル向けに書いたプロンプトが残っている方には、棚卸しの手掛かりになりそうだと感じます。
権限チェックのバイパスを 2 件修正(v2.1.221)
Bash ツールの権限チェックを回避できる問題が修正されました。zsh の [[ ]] 正規表現条件式の中に隠されたコマンドが実行され得たもので、該当するコマンドは権限確認のプロンプトを出すようになっています。
あわせて Windows 側でも、引用符を含むパスの PowerShell 権限チェックが正しく処理されない問題が修正され、該当するパスは承認を求めるようになりました。
権限チェックを前提に auto モードや許可リストを運用している方ほど影響が直接的なので、早めに上げておきたい 2 件だと感じます。
print モード(-p)で --mcp-config の MCP サーバーが接続されない問題を修正(v2.1.221)
print モード(-p)で、--mcp-config から読み込んだ MCP サーバーが最初のターンより前に接続されない問題が修正されました。この状態ではモデルがツール呼び出しをそのままテキストとして出力してしまっていました。
CI やバッチから -p で Claude Code を呼び、MCP ツールを使わせている方には直接効く修正だと感じます。
対象バージョンと期間
| バージョン | 公開日 |
|---|---|
| v2.1.220 | 2026-07-24 |
| v2.1.221 | 2026-08-03 |
新機能
- VS Code に Focus view を追加。
Ctrl+Alt+Fまたはコマンド「Claude Code: Toggle Focus view」で切り替える(v2.1.221) - サンドボックスの資格情報ファイルに
mode: "mask"を追加(Linux / WSL。macOS はdenyにフォールバック)(v2.1.221) claude-apiスキルにprompt-auditサブコマンドを追加(v2.1.221)claude plugin validateに、Claude Desktop の管理対象マーケットプレイス同期で拒否される名前のマーケットプレイス・プラグインを警告する機能を追加(v2.1.221)
改善・開発者体験
- Google Vertex AI でのツール検索を、Claude 4.5 世代以降のモデルで再度有効化(v2.1.221)
- auto モードで、並列ツール呼び出しの権限チェックがキャッシュ効率の良い形になり、チェック保留中にモードを切り替えると古い結果を適用せず確実に確認プロンプトを出すようになった(v2.1.221)
- auto モードの権限チェックで、キャッシュ済みの会話プレフィックスを判定間で再利用し、プロンプトキャッシュのコストを削減(v2.1.221)
- Stats パネルのトークン合計にキャッシュトークンが含まれるようになり、入力・出力・キャッシュ読み取り・キャッシュ書き込みの内訳を表示(v2.1.221)
- Windows の起動時に、プロセス生成時刻を PowerShell の起動ではなくネイティブの kernel32 呼び出しで取得するようになり、
powershell.exeを制限するエンドポイントセキュリティ製品の確認が出なくなった(v2.1.221) /plugin installが、プラグインが見つからないと報告する前に古いマーケットプレイスのカタログを更新して再試行するようになった(v2.1.221)/pluginからインストールしたプラグインが、安全な場合は/reload-pluginsなしで即座に有効になるようになった(v2.1.221)- プラグインが
skillsのパスとして"."を受け付けるようになり、ルート直下のSKILL.mdのバリデーションエラーがプラグインルートの使用を提案するようになった(v2.1.221) /statusがセッションの種別(interactive、またはバックグラウンドジョブのattached/unattended)を表示するようになった(v2.1.221)- Claude in Chrome が、自ら開いたブラウザタブを不要になった時点で閉じるようになった(v2.1.221)
- fast モードで、セッション途中に利用クレジットが尽きた場合にストリーム上で通知するようになった(v2.1.221)
- Monitor で、出力を一切生成せずに終了した watch が「stream ended」ではなくその旨を伝えるようになった(v2.1.221)
- 絵文字のオートコンプリートが
:thumbsup:、:thumbsdown:、:love:といった別名ショートコードを受け付けるようになった(v2.1.221) - ベースと履歴を共有しないリポジトリでの
/ultrareviewのエラーメッセージを改善。ブランチが無いチェックアウトは事前に拒否してブランチ作成を案内し、すでに完全なクローンにgit fetch --unshallowを勧めないようになった(v2.1.221) - 承認プロンプトから「Permission mode changed while the auto-mode classifier call was queued」という繰り返し表示される通知を削除(v2.1.221)
修正(主要なもの)
安定性・操作性に関わる修正を中心に抜粋します。
- thinking トグルが効かなくなる問題を修正: thinking をオフにして開始したセッションで、以降トグルの切り替えが効かなくなっていました。あわせて、MCP サーバーを接続中に無効化しても勝手に元に戻らないよう修正されています(v2.1.221)
- @ 指定したファイルが脱落する問題を修正: Esc でプロンプトを取り消して再送信すると、@ で指定したファイルが黙って外れていました(v2.1.221)
- WebSearch が 400 エラーで失敗する問題を修正: thinking が無効な状態で effort が
xhigh/maxのときに発生していました(v2.1.221) - Bedrock の AWS SSO 名前付きプロファイル認証の失敗を修正: 余分な
HOME環境変数が設定された Windows マシンのデスクトップ管理セッションで発生していました(v2.1.221) - スリープ復帰時のトークン二重更新を修正: 2 つの Claude Code プロセスが同じ MCP コネクターまたは WIF の OAuth トークンを同時に更新し、再認証が必要になるまれな競合状態でした(v2.1.221)
- 非対話セッションでスキルが呼び出せない問題を修正:
/helpや/feedbackなどターミナル専用ビルトインと同名の、プラグイン提供・組織提供スキルが対象です(v2.1.221) - 地味に嬉しい修正: Vim モードのヤンクレジスタが、ダイアログ・履歴検索・トランスクリプト表示をまたいでも消えずに保持されるようになりました(v2.1.221)。コピーし直す手間が減るのはありがたいと感じます
- このほか、SDK MCP ツールの名前解決、サンドボックス経由の大きなアップロード、環境変数の falsy 値の扱い、セッション名の同期、Vim モードの undo 操作など、多数の細かな不具合が修正されています。v2.1.220 も CHANGELOG 上は「Bug fixes and reliability improvements」の 1 行のみで、同様の細かな修正が中心です
注意したい挙動変更
破壊的変更・非推奨としての明示はありませんが、これまでと同じ操作でも結果が変わる変更が 3 件あります。
バックグラウンドセッションが作業をコミット・プッシュするようになった(v2.1.221)
バックグラウンドセッションの挙動が変わり、作業を残すためにコミットとプッシュを行い、タスクが必要とする場合のみドラフト PR を作成し、CLAUDE.md の git に関する指示に従い、最後に必ず成果物の置き場所を報告するようになりました。
/fork が独自の worktree を作るようになった(v2.1.221)
/fork でフォークしたセッションが、元セッションのチェックアウトで作業するのではなく、独自の worktree を新しく作るようになりました。
- 変更前(〜v2.1.220):
/forkでフォークしたセッションは、元セッションと同じチェックアウトで作業 - 変更後(v2.1.221〜):
/forkでフォークしたセッションは、自分専用の worktree を新しく作って作業
Gateway の model フィールドの検証が厳しくなった(v2.1.221)
Gateway の model フィールドについて、文字列以外の値はそのまま転送せず 400 で拒否するようになりました。以下は変更内容を示すための例です。
- 変更前(〜v2.1.220):
{ "model": 123 }→ そのまま転送される - 変更後(v2.1.221〜):
{ "model": 123 }→ 400 で拒否される
print モードの MCP 接続を試してみた
v2.1.221 で、print モードの 1 ターン目に --mcp-config 由来の MCP ツールが認識されているかを確認しました。作業用ディレクトリに ping ツールを 1 つだけ公開する最小の MCP stdio サーバー(demo-mcp-server.mjs)を置き、次の設定ファイルから読み込ませています。
作業ディレクトリの用意
mkdir mcp-print-test && cd mcp-print-test
npm init -y
npm install @modelcontextprotocol/sdk zod
demo-mcp-server.mjs
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
const server = new McpServer({ name: "demo", version: "1.0.0" });
server.registerTool(
"ping",
{ description: "疎通確認用。呼ばれたら pong を返すだけのツール" },
async () => ({ content: [{ type: "text", text: "pong" }] })
);
await server.connect(new StdioServerTransport());
mcp.json:
{
"mcpServers": {
"demo": {
"command": "node",
"args": ["./demo-mcp-server.mjs"]
}
}
}
--strict-mcp-config を付けて、既存の MCP 設定を無視し --mcp-config のものだけを使わせます。ツールは実行させず、名前の列挙だけを依頼しました。
% claude --version
2.1.221 (Claude Code)
% claude --mcp-config ./mcp.json --strict-mcp-config --max-turns 1 \
-p "利用可能な MCP ツールの名前だけを列挙してください。ツールは実行しないでください。"
利用可能な MCP ツールは 1 つだけです。
- mcp__demo__ping (サーバー: demo / ツール: ping)
他のツール(WebFetch、TaskCreate、CronList など)は Claude Code 組み込みのツールで、MCP 経由ではありません。MCP ツールは mcp__<サーバー名>__<ツール名> の命名規則で識別できます。
% echo "exit code: $?"
exit code: 0
終了コードは 0 でした。(補足: 同じコマンドでもモデルの初手(即答するか、ツールを呼ぶか)は非決定的なため、常に終了コードは 0 とは限りません。)
初回ターンの時点で mcp__demo__ping が認識されていることを確認できました。-p と --mcp-config を組み合わせた CI やバッチ処理を組んでいる方にとっては、先に上げておきたい修正だと感じます。
最後に
v2.1.221 は新機能よりも、権限チェックのバイパス修正や print モードの MCP 接続修正といった土台の整備が中心の回だと感じます。特に権限チェックの 2 件は、日常的にコマンド実行を任せている方ほど早めに上げておきたい内容ではないでしょうか。あわせて挙動が変わる項目もあるので、手元の運用と照らして確認しておくとよさそうだと感じます。
気になる変更があれば、アップデートして手元の環境で確認してみてはいかがでしょうか。
参考文献







