MOSFET’s blog

学んだことの備忘録

Claude Code 2026年7月下旬アップデートまとめ

前回(7/6〜7/19, v2.1.202〜215)の続編。7/20〜7/25 でリリースされた v2.1.216 〜 v2.1.220 を追いかける(7/26〜7/29 はリリースなし。本稿執筆時点の最新は v2.1.220)。

前号は「新機能ほぼゼロ・前号で広げた自律性の"請求書"を払う2週間」だった。今号はわずか6日で5リリースという短い期間ながら、性格がまったく違う——エンジンそのものが載せ替わった

7/24 の v2.1.219 で Claude Opus 5 が登場し、既定の Opus モデルになった。1M コンテキスト、価格は Opus 4.8 と同じ $5/$25 per Mtok、fast mode は $10/$50。前号で「Fable 5 の課金がようやく着地した」と書いたばかりだったが、その Fable 5 に肉薄する性能を半額で出すモデルが、その5日後に来た。

そしてもう一つ、今号を象徴する動きがある——サブエージェントのネストが3日で禁止→解禁に反転した(v2.1.217 で depth 1 に締める → v2.1.219 で depth 3 に開放)。前号の「暴走ガードレール」の延長で一度きつく締め、新しいエンジンを載せた途端に緩めた。モデルが変わると安全域も変わる、というのが今号のいちばん生々しい示唆だと思う。


ざっくり結論

  • Claude Opus 5 が登場、既定の Opus に(v2.1.219, 7/24)——1M コンテキスト、価格は Opus 4.8 据え置きの $5/$25 per Mtokfast mode は 2.5倍速で $10/$50/fast の対象から Opus 4.7 が外れ、Opus 5 と Opus 4.8 になった
  • サブエージェント制御の振り子——v2.1.217 で「同時実行20まで」「ネスト spawn 禁止(depth 1)」と締め、v2.1.219 で「ネストは depth 3 まで既定で許可」に反転。同時実行20の上限は据え置き
  • ワークフロー規模の既定が "medium"(15エージェント未満が目安)に(v2.1.219)——workflowSizeGuideline 設定キーで設定ファイルからも指定可能に
  • Windows の \u パス破壊バグを修正(v2.1.218)——C:\Users\unicorn のような小文字 \u で始まるパスセグメントが CJK 文字に化けて、そのファイルにアクセスできなくなっていた。今号の Windows 最重要修正
  • ← キーで会話が undo なしに消える事故の修正(v2.1.218)——編集直後の左矢印は確認プロンプトを出すようになり、agent view の Esc でバックグラウンド化した会話に戻れる
  • /code-review がバックグラウンドサブエージェント化(v2.1.218)——レビュー作業が会話を埋めなくなった
  • /deep-research も手動起動のみに(v2.1.218)——前号の /verify/code-review に続き、「Claude が勝手に始めない」の対象が拡大
  • シンボリックリンク経由の脱出を集中的に封鎖(v2.1.216, 217)——worktree 分離サブエージェントの git -C / GIT_DIR 脱出、.claude シンボリックリンク経由のプロジェクト外書き込み、バックグラウンドセッションの作業ディレクトリ正規化漏れ、/rewind のリンク越し復元
  • 長時間セッションの二次関数的スローダウンを修正(v2.1.216)——メッセージ正規化のコストがターン数の2乗で増えていた。数秒単位のストールと再開の遅さの原因
  • サンドボックス設定が2つ増えた——sandbox.filesystem.disabled(v2.1.216)、sandbox.network.strictAllowlist(v2.1.219)
  • emoji shortcode 補完(v2.1.217)——:heart: で ❤️。今号唯一の"かわいい"新機能

最大トピック①: Claude Opus 5(v2.1.219・7/24)

何が来たか

項目 内容
モデル ID claude-opus-5
位置づけ 既定の Opus モデルopus エイリアスの解決先が Opus 5 に)
コンテキスト 1M トークン(最大出力 128K)
価格 $5 / $25 per Mtok(Opus 4.8 と同一)
fast mode 2.5倍速・基本料金の倍($10 / $50 per Mtok)
プラン Claude Max の既定モデルClaude Pro の最上位モデル
提供 Claude API / Claude Platform(AWS 上を含む)/ Amazon Bedrock / Google Cloud Vertex AI / Microsoft Foundry に初日から

Anthropic 公式は Opus 5 を「Fable 5 に近いフロンティア級の知能を、半額のコストで」と位置づけている。ベンチマークでは Frontier-Bench v0.1 で Opus 4.8 の2倍以上のスコアをより低いコストで、CursorBench 3.2 で Fable 5 の 0.5% 以内に半額で、ARC-AGI 3 で次点モデルの3倍、OSWorld 2.0 で Fable 5 を3分の1のコストで上回る、と主張している。

Claude Code 側の受け止め方

CLI 側の変更は淡々としている。

  • /model ピッカーで Opus 行がマージされ、「Opus (1M context)」と表示されるようになった(最初はただの「Opus」と出るバグがあり、同リリース内で修正されている)
  • /model ピッカーのハイライトが「最新モデルの名前だけ」に変わった。従来はリストの一部が恣意的にハイライトされていて、どれが新着なのか分からなかった
  • /fast の対象から Opus 4.7 が削除され、Opus 5 と Opus 4.8 の2つになった
  • claude-api スキルの既定が Opus 5 に更新され、Opus 4.8 からの移行パスが書かれた
  • /config model=<x> や Remote Control でモデルを切り替えたとき、fast mode の状態が変わったらアナウンスが出るようになった(従来は黙って変わっていた)
  • Remote Control のクライアントがモデル切替・再接続・組織チェック失敗のあとに古い fast-mode ステータスを持ち続ける不具合を修正

実務的に効くのは「1M コンテキスト」より「同じ値段」

注目されがちなのは 1M コンテキストのほうだが、日常の使い勝手に効くのは価格据え置きのほうだと思う。Opus 4.8 と同じ単価で性能が上がったので、何もしなくても既定が強くなる。旧モデルを明示指定していない限り、/model を触る必要はない。

逆に、旧モデルに固定したい場合はフルモデル名で明示指定する必要がある。opus エイリアスは Opus 5 を指すようになったので、「Opus 4.8 のままがいい」なら claude-opus-4-8 系の完全名を書く。

1M コンテキストのほうは、使えることと使うべきことは別という前号までの話がそのまま当てはまる。コンテキストが広がっても、/context が警告を出す状況(今号の v2.1.216 でコンテキストウィンドウ超過時に明示警告が出るようになった)や auto-compact の挙動は変わらない。単純に「詰め込める量が増えた」だけで、詰め込んだほうが良い結果になるとは限らない


最大トピック②: サブエージェント制御の振り子(v2.1.217 → v2.1.219)

今号でいちばん面白い動きがこれ。3日で方針が反転している

7/21(v2.1.217): 締める

  • 同時実行サブエージェントに上限(既定20、CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS——「1つのメッセージがバックグラウンドエージェントを無制限にファンアウトできないように」
  • サブエージェントのネスト spawn を既定で禁止——CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH を設定すれば深くできるが、既定は depth 1
  • --max-budget-usd がバックグラウンドサブエージェントを止めていなかった不具合を修正——上限到達後は新規 spawn を拒否し、走っているバックグラウンドエージェントも停止する

これは前号の「暴走ガードレール」(WebSearch 200回上限・サブエージェント spawn 200回上限)の直系の続きだ。前号のはセッション累計の上限で、今号のは同時実行数深さの上限。累計を絞っても、一瞬で100本立ち上がったり、孫・ひ孫が指数的に増えたりする穴は塞げていなかった、ということになる。

7/24(v2.1.219): 開ける

  • サブエージェントはネストしたサブエージェントを既定で depth 3 まで spawn できる(旧: 1)CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=1 で従来の挙動に戻せる
  • 同時に stream-json のネスト転送が追加された——depth-2 以降のサブエージェントも --forward-subagent-text で出力に現れるようになり、spawn 元の Agent tool_use id をキーに紐づく

つまり、depth 3 を開けると同時に、深いところで何が起きているかを外から観測できる配線を通した。禁止していた3日間は「見えないものは止める」で、解禁したのは「見えるようにしたから開ける」だと読める。

同時実行20はそのまま

注意点として、depth 3 が解禁されても同時実行20の上限は残っている。ネストを深くしても、走れる数の天井は変わらない。深さは「構造の自由度」、同時実行数は「コストと負荷の天井」で、別々に管理されるようになった。

そしてワークフロー側にも規模の指針が入った——v2.1.219 で dynamic workflow の既定が "medium"(15エージェント未満を目安) になり、実行中ワークフローのステータス行に現在の既定サイズが表示されるようになった。これは強制ではなく指針(advisory)で、/config の「Dynamic workflow size」で変更できる。加えて workflowSizeGuideline 設定キーが追加され、任意の設定ファイルから指定できるようになった(設定ファイルで指定している間は /config の行が非表示になる)。

深さは開けたが、幅には指針を置いた——今号のサブエージェント方針はこの一文に集約される。


最大トピック③: Windows の \u パス破壊バグ(v2.1.218)

今号の Windows 最重要修正。

Fixed Windows paths with \u-prefixed segments (like C:\Users\unicorn) being corrupted into CJK characters in tool inputs, which made those files inaccessible

ツール入力に含まれる Windows パスのうち、小文字 \u で始まるセグメントが CJK 文字に化け、そのファイルにアクセスできなくなっていた。原因は明らかに JSON の \uXXXX エスケープシーケンスとの衝突で、\unicorn\uni + c あたりが Unicode コードポイント扱いされて別の文字に変換されていたのだろう(\u4E00 台=CJK 統合漢字域に落ちる、というのが「CJK 文字に化ける」の中身と思われる)。

このプロジェクトへの当たり判定

C:\Users\sitaz\...\Users が大文字 U なので直撃はしない。ただし小文字 u で始まるディレクトリ名を経路に含むと踏みうる。心当たりのある場所:

  • C:\Users\sitaz\.claude\uploads\
  • C:\Users\sitaz\.claude\usage-data\
  • ライブラリの unpacked / utils / ui 系ディレクトリ、node_modules 配下の @types/... などに散在する小文字 u 始まりのセグメント

「なぜかこのファイルだけ読めない」「パスは合っているのに存在しないと言われる」という症状に心当たりがあれば、これが原因だった可能性がある。v2.1.218 以降なら直っている。

Windows まわりのその他の修正

  • 自動更新の失敗で claude.exe が消える問題(v2.1.217)——失敗した更新は保存しておいた実行ファイルを自動復元するようになった。これは踏むと Claude Code が起動できなくなる部類の事故で、修正の価値が大きい
  • バックグラウンドシェルが停止不能になる問題(v2.1.217)——/background でセッションをバックグラウンドに送ったあと、あるいは高負荷マシンでセッション終了時に、バックグラウンドシェルが止められなくなる。Windows でいちばん目立っていたと明記されている
  • read-only コマンドがネットワークパスに権限プロンプトなしでアクセスする問題(v2.1.216)——UNC パス(\\server\share)が読み取り扱いで素通りしていた
  • PowerShell ツールの権限検証で不可視 Unicode 文字を扱う不具合(v2.1.216)——ゼロ幅スペース等を使った権限チェック回避の穴
  • CLAUDE_CODE_GIT_BASH_PATH が bash/sh バイナリでないパスを指しているとき、終了したり、そのまま bash として使われたりする問題(v2.1.219)——警告付きで無視されるようになった
  • git / gh の引数検証を PowerShell ツールで改善(v2.1.216)
  • Bash コマンドの非 ASCII 文字パースを実シェルの単語境界に合わせる(v2.1.216)——日本語を含むコマンドの権限判定の精度に効く

前号(v2.1.214)が Windows 修正の当たり月だったが、今号もかなり厚いCLAUDE.md の「Windows での注意事項」に書いてある回避策群(npx を使わない、フォワードスラッシュ、node -e で JSON 生成)は依然として有効なので、外す必要はない。


最大トピック④: 「勝手に始めない」の続きと /code-review のバックグラウンド化

/deep-research も手動起動のみに(v2.1.218)

前号の v2.1.215 で /verify/code-review を Claude が自発的に実行しなくなったが、今号で /deep-research が同じ扱いになった。

Changed /deep-research to start only when invoked manually; Claude no longer launches it on its own

/deep-research は数十分〜と時間もトークンも食う。Claude の判断で勝手に始まると、ユーザーが期待していないコストが黙って発生する。「重い自動起動は全部やめる」という方針が、3リリースかけて一貫している

/code-review がバックグラウンドサブエージェントに(v2.1.218)

Changed /code-review to run as a background subagent, so review work no longer fills your conversation and keeps stacked slash commands as its review target

レビュー作業が会話コンテキストを埋めなくなった。加えて「積み重ねたスラッシュコマンドをレビュー対象として保持する」——/code-review の前に別のスラッシュコマンドを重ねていた場合、その対象が維持される。

これは v2.1.208 以降の「重い作業はバックグラウンドへ、通知で拾う」という流れの延長にある。メインの会話は判断に使い、作業はバックグラウンドに逃がすという構図が、また一つ標準になった。

context: fork スキルも既定でバックグラウンド(v2.1.218)

Changed skills with context: fork to run in the background by default; opt out per skill with background: false

同じ思想。フォークして別コンテキストで走るスキルは、既定でバックグラウンドになった。スキルごとに background: false で opt out できる。

auto mode の判断が「ダイアログ」から「分類器」へ(v2.1.218)

Improved auto mode: the dangerous-rm, background-&, and suspicious-Windows-path checks no longer open permission dialogs; the auto-mode classifier adjudicates them instead

Changed plan mode with auto to no longer prompt for Bash commands the static analyzer can't prove read-only; the auto-mode classifier judges them instead

これは地味だが方向性としては大きい。従来、rm -rf 系・末尾 & のバックグラウンド実行・怪しい Windows パス、といった静的ルールに引っかかったものは無条件でダイアログだった。今号から、auto mode の分類器(LLM ベース)が裁定するようになった。プランモードでも同様で、静的解析が read-only と証明できない Bash コマンドについて、分類器が判断する

静的ルール → モデルによる判断への移行である。誤検知でいちいち止まる摩擦は減るが、判断の主体がモデルに移った以上、分類器を騙す入力に対する耐性が新しい関心事になる。前号の「権限プレビューの偽装対策」(v2.1.211)と同じ土俵の話が、今後も続くだろう。


バージョン別ハイライト

v2.1.216(2026-07-20)シンボリックリンク脱出の総ざらい・二次関数的スローダウン

今号の最重量リリース(40項目超)。

  • sandbox.filesystem.disabled 設定を追加——ファイルシステムの分離をスキップしつつ、ネットワーク egress の制御は維持する。サンドボックスが「全部入りか全部なしか」ではなくなった
  • 長時間セッションで、メッセージ正規化のコストがターン数に対して二次関数的に増大する問題を修正——数秒単位のストールと再開の遅さの原因。前号 v2.1.208 の「長時間セッション大掃除」の続きで、まだ残っていた分
  • auto mode が OAuth トークンの期限切れ・ローテート後に "HTTP 401" 分類器エラーでコマンドを拒否する問題を修正
  • AskUserQuestion が、ユーザーの自由記述回答が「待って」「まず説明して」でも Claude に「続行しろ」と伝えていた問題を修正(自由記述の回答は中立的な文言で渡るように)
  • worktree 分離サブエージェントが git -C--git-dirGIT_DIR/GIT_WORK_TREE で共有チェックアウトに git をリダイレクトできた問題を修正(worktree 分離の破れ、前号 v2.1.210 に続く2件目
  • workflow の保存とスケジュールタスクの書き込みが .claude のシンボリックリンクを辿り、プロジェクト外に書き込める問題を修正
  • /rewind がシンボリックリンク・ハードリンク越しにファイルを復元・削除しなくなった(スキップしたパス数を報告)
  • worktree セッションが、作業ディレクトリと選択プロジェクトが一致しないときに別プロジェクトの残骸 worktree に着地する問題を修正
  • git リポジトリのない worktree のバックグラウンドセッションが削除不能になる問題を修正
  • claude daemon stop --any が、古いレガシーデーモンのロックファイル経由で無関係なプロセスを終了させうる問題を修正
  • 再開したバックグラウンドエージェントセッションが既定エージェントに戻る問題を修正(エージェントのプロンプトとツール制限が復元されるように)
  • バックグラウンドサブエージェントが、起動ウィンドウ中に高優先度メッセージが届くとキャンセルされる問題を修正
  • && リスト内や否定内にリダイレクトを含む複合文の Bash 権限チェックを修正
  • Windows: read-only コマンドがネットワークパスに権限プロンプトなしでアクセスPowerShell ツールの権限検証で不可視 Unicode 文字Bash コマンドの非 ASCII 文字パースを修正
  • Claude-in-Chrome が、セッションの OAuth トークンに必要なスコープがないと再接続で 403 ループする問題を修正
  • MCP の再認証が、新しいサインインの成功前に有効な資格情報を失効させる問題を修正(バックグラウンドセッションの「要認証」メッセージが使えないコマンドを案内する問題も)
  • /context がコンテキストウィンドウ超過を明示的に警告失敗した /compact がエラーとして表示されるように
  • バックグラウンドセッションの /mcp/install-github-app が、クライアント未接続時に「入力待ち」を agent view に parkするように
  • /fork の確認表示を1行に——新セッション名・claude attach の id・チェックアウトを共有している場合の注記
  • @ メンションがファイル変更フックの後に何も添付しない、vim の c オペレータのドットリピートとペースト、statusline の再開時二重実行、resume ピッカーの失敗時ハングを修正
  • Esc-Esc がアイドルプロンプトで rewind ピッカーを開かない(バックグラウンドタスクのある長時間セッション)問題を修正
  • Ctrl+X 二回でエージェント一覧からセッションを削除できない削除済みセッションがバックグラウンドワーカーの死亡時に復活する問題を修正
  • /memory/plan/keybindings・Ctrl+G の GUI エディタを開いている間のマウス・フォーカスのゴミを修正(/memory はエディタを閉じるのを待たなくなった)
  • /ultrareview の diff-too-large エラーが設定上限・実測サイズ・最大の寄与ファイルを表示するように、/code-review ultra の空 diff メッセージが正確な base ref を示し明示的な base の指定を提案するように
  • spend limit の調整プロンプトが、サーバー側の拒否理由を表示するように
  • セッション中に変更したスキル・コマンドが再起動までスラッシュメニューに出ないname frontmatter を持つプラグインスキルが補完でプラグインプレフィックスを失う問題を修正
  • テレメトリの権限拒否の誤報告を修正——失敗した権限プロンプト要求がユーザー拒否として計上されなくなり、ユーザー中断は拒否ではなく abort として報告される
  • Claude Code on the web が、数分アイドルしたあと同じ質問を再提示して回答を捨てる問題を修正
  • クラウドセッションがコンテナ再起動でイン・フライトのメッセージを落とす問題を修正(中断されたターンは再開時に再実行)
  • fullscreen モードのダイアログのはみ出し、/config のフッタークリップ、Ctrl+O のフッターヒントの折り返し(104桁未満)、Prometheus の不正な # UNIT 行を修正
  • dataviz スキル更新(既定チャートパレットの並べ替え、4系列チャートで直接ラベルを勧めていたガイダンスの修正)
  • [VSCode] RTL テキスト(アラビア語・ヘブライ語・ペルシャ語)が英語やコードと混在すると逆順に描画される問題を修正

GitHub Release v2.1.216


v2.1.217(2026-07-21)サブエージェントの上限・Windows 自動更新事故・emoji 補完

  • 同時実行サブエージェントの上限(既定20、CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTSを追加
  • サブエージェントのネスト spawn を既定で禁止CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH で深くできる)※ v2.1.219 で depth 3 に反転
  • --max-budget-usd がバックグラウンドサブエージェントを止めない問題を修正——上限到達後は新規 spawn を拒否し、走っているバックグラウンドエージェントも停止
  • emoji shortcode 補完を追加——:heart: で ❤️ を挿入、:hea で候補表示。emojiCompletionEnabled 設定で無効化可能
  • トランスクリプトの書き込みが失敗している(ディスクフル等)とき、環境変数の継承でセッション保存がオフになっているとき、警告を出すように(従来は黙ってトランスクリプトを失っていた)
  • 切り詰めた MCP ツール出力が、切り詰め前の完全な結果をセッション終了までメモリに保持し続けるメモリリークを修正
  • Windows: 自動更新の失敗で claude.exe が消えることがある問題を修正(失敗した更新は保存済みの実行ファイルを自動復元)
  • バックグラウンドセッションの分離が、シンボリックリンクされた作業ディレクトリを正規化していない問題を修正——ワークスペースフォルダの外にセッションが脱出しうる
  • Claude Opus 4.8 on Bedrock で auto-compact が発火しない上限を超えたあと /compact が失敗する問題を修正
  • 企業の mTLS・TLS 検証・OAuth スコープ・プロキシ設定が Claude Desktop のセッションで無視される問題を修正
  • CLAUDE.md / SKILL.md の paths frontmatter にブレースグループが多いと、起動時に OOM kill されるかストールする問題を修正(ブレース展開に予算上限)
  • バックグラウンドシェルが、セッションをバックグラウンドに送った後や高負荷マシンでのセッション終了時に停止不能になる問題を修正(Windows で最も顕著
  • screen reader mode の起動アナウンスが最初のプロンプト描画に食われるthinking のステータス行が経過時間とトークン数の更新で数秒ごとに再描画される問題を修正
  • managed settings の OTEL_EXPORTER_OTLP_ENDPOINT が全シグナルを支配しない問題を修正(下位スコープのシグナル別上書きがテレメトリを別の宛先に逸らせなくなった)
  • --resume / --continue / /resume が、不正な attachment エントリを持つトランスクリプトで TypeErrorになる問題を修正
  • Remote Control のセッションで、権限プロンプトが出た後に接続したビューアにそれが表示されない問題を修正
  • フッターの PR バッジのリンクを、ターミナルのサポートが検出できない環境(ssh / tmux 越し等)でもクリック可能なハイパーリンクにFORCE_HYPERLINK=0 で opt out)
  • ログイン期限の警告を、期限の5日前から3日前に変更
  • frontend-design プラグインの提案 tip を生涯3回までに制限(従来は無限に繰り返していた)
  • バックグラウンドセッションを開始するときのトランスクリプトプレビューが入力エリアに密着していた問題を修正(ライブレイアウトと同じ1行の隙間を空け、セッションが引き継いだときにトランスクリプトがずれない)

GitHub Release v2.1.217


v2.1.218(2026-07-22)★ \u パス破壊・← キー事故・/code-review のバックグラウンド化

  • /code-review をバックグラウンドサブエージェントとして実行(レビュー作業が会話を埋めない、積み重ねたスラッシュコマンドをレビュー対象として保持)
  • Windows の \u で始まるパスセグメント(C:\Users\unicorn 等)がツール入力中で CJK 文字に壊され、そのファイルにアクセスできなくなる問題を修正(今号の Windows 最重要
  • 左矢印キーが undo なしに会話を破棄する問題を修正——編集直後の押下は確認を求めるようになり、agent view の Esc でバックグラウンド化した会話に戻る
  • /deep-research を手動起動時のみ開始するよう変更(Claude が自分では起動しない)
  • プランモード + auto: 静的解析が read-only と証明できない Bash コマンドをプロンプトしなくなり、auto-mode 分類器が判断
  • auto mode 改善: dangerous-rm・background-&・suspicious-Windows-path のチェックが権限ダイアログを開かず、auto-mode 分類器が裁定
  • context: fork のスキルを既定でバックグラウンド実行(スキルごとに background: false で opt out)
  • エージェント frontmatter のフックが信頼されていないフォルダから実行される問題を修正——エージェントファイル自身のフォルダが workspace trust を受けていることが必須
  • 改行を Ctrl+J でエンコードするターミナルで、複数行ペーストが改行を j に置き換えて1行に潰れる問題を修正
  • /context がメッセージピッカーからの compact 後に古い(compact 前の)トークン使用量を報告する問題を修正
  • /ultrareview が "review my auth changes" のような記述的引数で失敗する問題を修正(現在のブランチのレビューを実行し、テキストは findings への注記として適用)
  • /code-review ultra が非対話セッションで黙ってローカルレビューを実行していた問題を修正(クラウドレビューを起動するように)
  • /ultrareview のエラーフィードバックを改善(Claude が不正な引数を修正できるように。従来は同じ引数で再試行していた)
  • ゲートウェイの spend metering が、Bedrock の application-inference-profile ARN や設定でマップされた上流モデル ID を、設定されたモデルのレートで課金するように修正
  • 長い IDE 選択が絵文字の途中で切り詰められたときの mojibake、ツールエグゼキュータのエラーが黙って落ちるケースを修正
  • エンジンの teardown レースで phantom turn が開始されて放棄される問題、close 後に push された入力の扱いを一貫して拒否するよう修正
  • 中断されたツール呼び出しの後の偽の "[Request interrupted by user]"ツールが応答途中で abort したときにトランスクリプトに残る対のない tool_use ブロックを修正
  • 深くネストした監視ディレクトリツリーの削除・移動時深くネストした UI ツリーの描画時のクラッシュ(maximum call stack exceeded)を修正
  • PR の作成・リンク直後にセッションが終了すると PR イベントが失われることがある問題を修正
  • Bedrock のセットアップウィザードが、パーティション化された AWS リージョンやプロキシ専用ネットワークで assume-role プロファイルの検証に失敗する問題を修正
  • システムクロックの調整後にターン所要時間が負値・不正値になる問題を修正(monotonic clock で計測
  • 「N MCP servers need authentication」の起動通知が、claude.ai 側で未接続の connector を過剰カウントする問題を修正
  • プロンプト履歴のエントリが、履歴書き込みの競合や失敗で欠落・重複する問題を修正
  • 大きな thinking budget でコンテキストオーバーフローエラーが出た後、同一の詰んだリクエストを再送し続けるリトライループを修正。Ctrl+B のバックグラウンド化にも他経路と同じバックグラウンドシェル上限を適用
  • headless / SDK セッションで fork セッションの系譜が compaction 後に失われる問題、不正な delta attachment を持つ再開セッションが毎ターン失敗またはクラッシュする問題を修正
  • server-managed settings の良性の機能・コストトグルが、設定承認プロンプトを出さないように変更
  • エージェント markdown のエージェント名に : を禁止(プラグイン名前空間用に予約)
  • スキル・プラグイン frontmatter の真偽値に yes/no/on/off/1/0(大小文字不問)を追加(true/false に加えて)
  • trust ダイアログが、その許可の対象となるリポジトリルートを明示するように
  • IDE 操作に対するサンドボックスのコマンド制限を改善
  • リモートセッションがワーカー置き換え後もハートビートを送り続ける問題を修正(長寿命のデスクトップ・IDE プロセスが、拒否されるリクエストを数秒ごとに永久にリトライしていた)
  • screen reader: 単語・行の削除(Option+DeleteCtrl+WCmd+BackspaceCtrl+UCtrl+K)で削除されたテキストをアナウンスVoiceOver が入力末尾のスペースで「new line」と読む問題、プラグイン・設定パネルでターミナルカーソルがフォーカス行に移動しない問題を修正

GitHub Release v2.1.218


v2.1.219(2026-07-24)★ Claude Opus 5・ネスト解禁・ワークフロー既定 medium

  • Claude Opus 5(claude-opus-5)を追加、既定の Opus モデルに——1M コンテキストfast mode は $10/$50 per Mtok
  • サブエージェントがネストしたサブエージェントを既定で depth 3 まで spawn 可能に(旧: 1)。CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=1 で無効化
  • stream-json のネストしたサブエージェント転送——depth-2 以降のサブエージェントが --forward-subagent-text で現れ、spawn 元の Agent tool_use id をキーに紐づく
  • dynamic workflow の既定を medium(15エージェント未満を目安)に変更/config の「Dynamic workflow size」で別のサイズや無制限を選べる
  • workflowSizeGuideline 設定キーを追加——任意の設定ファイルから advisory な指針を設定可能(設定している間は /config の該当行が非表示)
  • 実行中ワークフローのステータス行に現在の既定ワークフローサイズを表示(/config への案内付き)
  • sandbox.network.strictAllowlist 設定を追加——サンドボックス下のコマンドについて、許可リストにないホストをプロンプトなしで拒否
  • DirectoryAdded フックを追加——/add-dir や SDK の register_repo_root コントロールリクエストがセッション途中で新しい作業ディレクトリを登録したときに発火
  • headless の stream-json init イベントに mcp_server_errorsを追加(設定検証でスキップされた --mcp-config エントリを列挙)。ターミナル実行では起動時に警告を表示
  • claude mcp list/mcp が、サーバー接続失敗時に HTTP ステータスとエラーテキストを表示MCP 設定値の先頭・末尾に隠れた空白がある場合の警告も追加
  • /fast の対象から Opus 4.7 を削除(Opus 5 と Opus 4.8 に適用)
  • claude-api スキルを Opus 5 既定に更新(Opus 4.8 からの移行パス付き)
  • /model ピッカーがマージされた Opus 行を「Opus (1M context)」ではなく単に「Opus」と表示する問題、Fable のモデル行が、含まれているプランでも「Requires usage credits」と表示される(stale cache が原因)問題を修正
  • /model ピッカーのハイライトを最新モデルの名前だけに変更(従来はリストの恣意的な部分がハイライトされていた)
  • claude -p のテキスト出力が、ターンがミッドストリームの API エラーで死んだときに、すでに生成済みの回答を落とす問題を修正
  • Windows: CLAUDE_CODE_GIT_BASH_PATH が bash/sh バイナリでないパスを指しているときに終了する、またはそれが bash として使われる問題を修正(警告付きで無視
  • Remote Control クライアントがモデル切替・再接続・組織チェック失敗の後に古い fast-mode ステータスを保持する問題を修正
  • GNU screen 内での copy-on-select が、選択をコピーせず base64 をターミナルに印字する問題を修正
  • Vim モード: 空プロンプトでの ← が INSERT だけでなく NORMAL モードでも agent view に戻るように修正
  • screen-reader モードが、打鍵した文字だけをエコーせず毎キーストロークで入力行全体を書き直す問題を修正
  • 「Remote Control is only available via api.anthropic.com」エラーが、原因となった具体的な設定名を示すように改善
  • claude --teleport が、現在のチェックアウトがセッションのリポジトリと一致しないとき、どのリポジトリを指しているかを表示するように改善
  • managed MCP の allowlist/denylist の ${VAR} エントリを、設定ファイルの env ではなく起動時の環境と managed-settings の env から解決するよう変更

GitHub Release v2.1.219


v2.1.220(2026-07-25)ホットフィックス

  • バグ修正と信頼性向上(詳細な項目立てなし)

Opus 5 を載せた翌日のリリースで、内容は非公開。Opus 5 投入直後の細かい後始末と読むのが自然だろう。本稿執筆時点(7/29)の最新版で、7/26〜7/29 は4日間リリースがない——今号の期間の中では比較的長い静穏期に入っている。

GitHub Release v2.1.220


新コマンド・機能・設定まとめ表

コマンド / 機能 / 設定 内容 初出
claude-opus-5 既定の Opus モデル。1M コンテキスト、$5/$25、fast mode $10/$50 v2.1.219
sandbox.network.strictAllowlist 許可リスト外ホストをプロンプトなしで拒否 v2.1.219
sandbox.filesystem.disabled FS 分離をスキップしネットワーク egress 制御のみ維持 v2.1.216
DirectoryAdded フック /add-dirregister_repo_root での作業ディレクトリ追加時に発火 v2.1.219
workflowSizeGuideline Dynamic workflow size を設定ファイルから指定 v2.1.219
Dynamic workflow size = medium 既定で15エージェント未満を目安に v2.1.219
CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH サブエージェントのネスト深さ(既定 3、=1 で無効化) v2.1.217(既定変更 v2.1.219)
CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS 同時実行サブエージェント上限(既定20) v2.1.217
mcp_server_errors(stream-json init) 設定検証でスキップされた MCP エントリの列挙 v2.1.219
emojiCompletionEnabled :heart: 形式の emoji 補完の有効/無効 v2.1.217
FORCE_HYPERLINK=0 フッター PR バッジのハイパーリンク化を opt out v2.1.217
/code-review のバックグラウンド化 レビューが会話を埋めない v2.1.218
/deep-research の手動化 Claude が自発的に起動しない v2.1.218
context: fork スキルの既定バックグラウンド background: false で opt out v2.1.218
frontmatter の真偽値拡張 yes/no/on/off/1/0 を受理 v2.1.218
エージェント名の : 禁止 プラグイン名前空間用に予約 v2.1.218

Windows ユーザー的に効いた改善

前号(v2.1.214 中心)に続き、今号も Windows 修正が厚い。ただし性格が違う——前号は「文字コードとプロセス制御」だったが、今号は「パスと更新プロセス」である。

1. \u パス破壊(v2.1.218)

前述の通り。小文字 \u で始まるパスセグメントが CJK 文字に化けてファイルにアクセスできなくなるC:\Users\sitaz\... は大文字 U なので直撃しないが、.claude\uploads\.claude\usage-data\ のような小文字 u 始まりのセグメントを含む経路は踏みうる。

2. 自動更新失敗で claude.exe が消える(v2.1.217)

踏むと起動できなくなるタイプの事故。修正後は保存しておいた実行ファイルが自動復元される。現在 v2.1.220 が入っているので、すでに修正済みの版で動いている。

3. バックグラウンドシェルが停止不能(v2.1.217)

most visible on Windows」と明記されている。/background でセッションをバックグラウンドに送った後、あるいは高負荷時のセッション終了時に、バックグラウンドシェルが止められなくなる。長時間バッチをバックグラウンドで回す運用(/long-batch スキルの想定)に直撃する部類の不具合で、これは効く。

4. CLAUDE_CODE_GIT_BASH_PATH の誤設定で終了(v2.1.219)

bash/sh バイナリでないパスが入っていると、終了するかそのまま bash として使われていた。警告を出して無視するようになった。Windows で Git Bash のパスを手で設定する構成では踏みやすい。

5. read-only コマンドのネットワークパス素通り(v2.1.216)

UNC パス(\\server\share)に対する読み取りが権限プロンプトなしで通っていた。NAS を common ドライブとして使っている環境では意味のある修正。

6. PowerShell の不可視 Unicode / gitgh 引数検証(v2.1.216)

権限チェック回避の穴の塞ぎ込み。ゼロ幅文字を混ぜたコマンドが検証をすり抜けるケース。

7. Bash コマンドの非 ASCII 単語境界(v2.1.216)

日本語を含むコマンドの権限判定が、実際のシェルの単語境界と一致するようになった。日本語ファイル名・日本語コメントを含むコマンドを多用する環境では地味に効く。


ワークフロー変化の考察

「締めてから開ける」パターンが定着した

前号で「作る月と払う月が交互に来ている」と書いたが、今号でもっと短い周期の同じパターンが見えた——v2.1.217 でネストを禁止し、v2.1.219 で depth 3 に開ける。3日である。

これは場当たり的な方針転換ではなく、観測できるようになってから開けるという順序に見える。禁止した v2.1.217 の時点では、深いところで走っているサブエージェントを外から見る手段がなかった。解禁した v2.1.219 では、stream-json でネストしたサブエージェントのテキストが spawn 元の id 付きで流れてくる配線が同時に入っている。

「制御できないものは止める → 観測できるようにする → 開ける」。今後も新しい自律性が入るたびに、この3拍子で来ると予想していい。

静的ルールからモデル判断へ

v2.1.218 の auto mode 改善は、権限判定の主体が静的解析器から LLM 分類器に移るという、けっこう大きな話だった。dangerous-rm も background-& も suspicious-Windows-path も、これまでは「パターンに当たったら無条件でダイアログ」だった。それが「分類器が裁定する」になった。

摩擦は確実に減る。「明らかに安全な rm でいちいち止まる」がなくなるからだ。ただし、判断の主体がモデルになった以上、判断を誤らせる入力が新しい攻撃面になる。前号の v2.1.211 で「権限プレビューの偽装対策」が入っていたのは、まさにこの方向の先取りだった。

権限は「ルールの集合」から「モデルの判断 + サンドボックスの境界」に移行しつつある。だからこそ、今号でサンドボックス設定が2つ増えた(sandbox.filesystem.disabledsandbox.network.strictAllowlist)ことの意味が大きい。判断が緩んでも被害が出ない境界を、判断とは別のレイヤーで固めている。

シンボリックリンクが3リリース連続で穴になった

今号のセキュリティ修正を並べると、ほぼ全部がリンク経由の脱出である。

リリース 脱出経路
v2.1.216 worktree 分離サブエージェントの git -C / --git-dir / GIT_DIR
v2.1.216 workflow 保存・スケジュールタスク書き込みが .claude のシンボリックリンクを辿る
v2.1.216 /rewind がリンク越しに復元・削除
v2.1.217 バックグラウンドセッション分離が作業ディレクトリのシンボリックリンクを正規化しない

前号の v2.1.210・v2.1.212 でも同系統(worktree 分離の破れ、.claude/worktrees のコミット済みシンボリックリンク)が修正されている。「作業をディレクトリで隔離する」という設計が、リンクという古典的な仕組みに何度も破られている

隔離を前提にした運用(worktree 分離サブエージェント、バックグラウンドセッション)を使う場合、ハーネスの隔離だけを信頼しないほうがいい。リポジトリに信頼できないシンボリックリンクが入り込む経路(git clone してきた素性の知れないリポジトリなど)そのものを警戒するレイヤーが要る。

「会話を消さない」も UX の一部になった

v2.1.218 の「← キーが undo なしに会話を破棄する」修正は、機能的には小さいが象徴的だ。バックグラウンドセッションが標準になった結果、「戻る」操作が「破棄」と地続きになっていた。編集直後の押下に確認を挟み、Esc で戻れるようにした。

同じリリースで fork セッションの系譜が compaction 後に失われるプロンプト履歴のエントリが競合で欠落・重複するトランスクリプトの書き込み失敗を黙って握り潰す(v2.1.217)も直っている。セッションが長寿命なオブジェクトになった以上、それを失わせないことが機能要件になった、ということだと思う。

モデル交代がハーネス設定に波及した

Opus 5 の投入で、CLI 側の設定が連鎖的に動いた。/fast の対象モデル一覧、/model ピッカーの表示とハイライト、claude-api スキルの既定モデルと移行ガイド、そして Fable のモデル行のキャッシュ不整合。

これは「ハーネスがモデルのリストを持っている」設計の必然的なコストである。今後もモデルが出るたびに同じ波及が起きる。ユーザー側でできる備えは単純で、フルモデル名でピン留めしている箇所を把握しておくこと。エイリアス(opus)を使っていれば自動で新しくなり、フルネームを書いていれば固定される。どちらが望ましいかは用途によるので、意図して選んでおくといい。


まとめ

6日で5リリース、そのうち1つが新エンジンという濃い週だった。

  • v2.1.216(7/20)——シンボリックリンク脱出の総ざらいと二次関数的スローダウンの修正。今号最大の項目数
  • v2.1.217(7/21)——サブエージェントの同時実行20・ネスト禁止。Windows の自動更新事故とバックグラウンドシェル停止不能の修正
  • v2.1.218(7/22)——\u パス破壊、← キーの会話破棄、/code-review のバックグラウンド化、/deep-research の手動化、auto mode の分類器化
  • v2.1.219(7/24)——Claude Opus 5。ネスト depth 3 に解禁、ワークフロー既定 medium、サンドボックスの strictAllowlist
  • v2.1.220(7/25)——ホットフィックス

実務的に真っ先に効くのは、Opus 5 が既定になったこと(何もしなくても強くなる)と、Windows の \u パス破壊が直ったこと(原因不明だったアクセス不能の一部が解消)の2つ。

そして構造的にいちばん面白いのは、ネスト禁止→解禁の3日間の振り子である。前号までの「暴走ガードレール」の流れが、新エンジンの投入で一度反転した。モデルの能力が上がると、許容できる自律性の範囲も動く——それがハーネスの設定変更として可視化された、今号はそういう週だった。


周辺の動き

Opus 5 とプラン・Fable 5 の関係

前号で「Fable 5 の課金が 7/20 に着地した」(Max・Team Premium は週次上限の50%まで恒久的に含まれる、Pro・Team Standard は usage credits + 一度きりの $100 クレジット)と書いた。その4日後に Opus 5 が来て、構図が変わった。

  • Claude Max: Opus 5 が既定モデル。Fable 5 は週次上限の50%まで追加費用なしで使える
  • Claude Pro: Opus 5 が最上位モデル。Fable 5 は usage credits
  • 価格差: Opus 5($5/$25)は Fable 5 の半額と各所で説明されている。ベンチマークでは CursorBench 3.2 で Fable 5 の 0.5% 以内、OSWorld 2.0 では Fable 5 を3分の1のコストで上回るとされる

つまり、「Fable を使う理由」がかなり狭まった。前号時点では「Fable = 最強、ただし高い/上限あり」という単純な図式だったが、いまは「Opus 5 でほぼ足りる。Fable は Opus 5 が詰まった特定タスクだけ」に近い。以前まとめたFable 5 の使い分けは、Opus 5 を基準にして書き直す価値があると思う。

Trusted Devices(Remote Control のデバイス検証)

今号の期間の話ではない可能性が高いが(一次情報では 6/25 リリース、一部のリリース集約サイトは7月下旬として扱っている)、これまでのまとめで触れていなかったので記録しておく。

Team / Enterprise プラン向けのベータ機能で、Remote Control のセッションを claude.ai・モバイルアプリ・Claude Desktop から閲覧・操作する前に、デバイスの検証を要求する組織設定。

  • Owner が Claude Code 管理設定で Remote Control トグルを有効化する必要がある(既定はオフ
  • 有効時は「登録済みデバイス」と「最近の認証」の両方が必要。ブラウザ・スマホ・デスクトップアプリそれぞれが個別に資格情報を登録する
  • 検証は Face ID / パスキーで、生体情報はデバイスから出ない

サインイン済みアカウントだけでなく、既知のデバイスにアクセスを紐づける仕組みで、前号で書いた「組織に納品できる状態に仕上げるフェーズ」の続きにあたる。個人利用では関係ないが、/remote-control を使う際に「組織設定で無効化されている」系のエラーに遭遇したら、この設定を疑うといい(今号 v2.1.219 で、Remote Control のエラーが原因となった具体的な設定名を示すようになったので、以前より切り分けやすくなっている)。


出典