0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Code v2.1.222|worktree 隔離の穴が塞がる|毎日Changelog解説

0
Posted at

Claude Codeの公式Changelogをリリースから最速で翻訳・解説しています。

worktree で隔離したはずのセッションが、メインのチェックアウトに対して破壊的な git コマンドを実行できていた。v2.1.222 でこれが塞がり、隔離はファイル編集と Bash の両方に、全セッションタイプで効くようになりました。権限の境界に空いていた穴は、ほかにも塞がれています。

今回の注目ポイント

  1. worktree 隔離が Bash を素通りしていた - 隔離セッションとサブエージェントが、メインのチェックアウトへ破壊的な git コマンドを実行できていた (v2.1.222)
  2. PreToolUse の auto-allow フックがツール制限を飛び越えていた - 要約・コンパクション・リネームといったバックグラウンドタスクが対象 (v2.1.222)
  3. SendMessage が権限分類器を通るようになった - 他のエージェントセッションへ送るメッセージを、送信前に評価 (v2.1.222)
  4. Remote Control の自動起動がユーザースコープ限定に - リポジトリ側の設定で ON にはできず、OFF は引き続き効く (v2.1.222)
  5. /usage の MCP サーバー按分が実態ベースに - ツール結果を実際に消費したリクエストだけを計上 (v2.1.222)
  6. ultraplan が削除 - 機能ごと廃止 (v2.1.222)

worktree で隔離しても、git は隔離されていなかった

隔離の対象がファイル編集だけで、Bash が抜けていた。 サブエージェントを worktree 隔離で走らせると、専用の worktree が切られる。ファイルの書き換えはその中に閉じる。ただ Bash から叩いた git reset --hardgit checkout は、メインのチェックアウトに届いていた。

Fixed worktree-isolated sessions and their subagents being able to run destructive git commands against the main checkout; isolation now applies to file edits and Bash in every session type

並列でエージェントを回し、git 操作を許可していた構成では、v2.1.222 より前だと隔離セッションの git コマンドがメイン側の作業ツリーに届いていました。未コミットの変更が消えた心当たりがあるなら、この修正が該当します。

v2.1.222 では隔離がファイル編集と Bash の両方に適用され、worktree セッションに限らず全セッションタイプで効きます。

バックグラウンドで走るタスクの権限も締められた

対象読者: PreToolUse フックで自動許可を返している人、複数のエージェントを SendMessage で連携させている人

PreToolUse フックで自動許可を返す構成にしていると、要約・コンパクション・セッションのリネームといったバックグラウンドのタスクで、ツール制限が飛び越えられていた。フック側の許可が、タスクに課された制限より強かった形。v2.1.222 でこの抜け道が塞がれています。

auto mode 側にも手が入りました。SendMessage で他のエージェントセッションへ送るメッセージが、ディスパッチ前に権限分類器の評価を通るようになった。エージェント間のメッセージを迂回路にした指示は、ここで止まる。

Remote Control の自動起動と ultraplan

Remote Control の自動起動は、.claude/settings.json.claude/settings.local.json から ON にできなくなりました。OFF にする用途では引き続き効きます。ON にする場合はユーザースコープで、/config から設定してください。

ultraplan は機能ごと削除されました。

その他の変更

バージョン カテゴリ 変更点 概要
v2.1.222 修正 /usage の MCP 按分 サーバーごとの取り分が、そのツール結果を実際に消費したリクエストのみを反映するようになった
v2.1.222 修正 起動時の疎通チェック HTTPS プロキシ配下でハングして失敗していた。API リクエストと同じプロキシ対応の transport を使い、タイムアウト時はメッセージを表示
v2.1.222 修正 組織制限下のモデル別名 model: opus 形式のサブエージェント / チームメイト指定が、親モデルに落ちるのではなく同ファミリーで最新の許可モデルに降りる
v2.1.222 修正 ストリームのアイドルタイムアウト 独自 ANTHROPIC_BASE_URL ゲートウェイで、keep-alive ping が届いていても発火していた
v2.1.222 修正 セッションと PR の紐付け ブランチを push した後に作成した PR (GitHub REST API 経由を含む) が紐付かなかった
v2.1.222 修正 /usage-credits Team / Enterprise で、以前の申請が却下されたメンバーが再申請できなかった
v2.1.222 修正 claude.ai コネクタ セッショントークンが無効なときに「要認証」と誤表示せず、/login を案内
v2.1.222 修正 SendMessage の文字数上限 長い要約を拒否せず、切り詰めて送信
v2.1.222 改善 /diff と Web セッションの差分 git blob の生データを使い、リポジトリ設定の diff ドライバと textconv を無視
v2.1.222 改善 skill 呼び出しの拒否メッセージ disable-model-invocation の skill は、ワークフローを真似せずユーザーに実行を依頼するよう Claude に伝える

まとめ

v2.1.222 は 21 件の変更のうち 16 件が修正で、新機能の追加は無い。権限の境界が worktree 隔離・PreToolUse フック・SendMessage の 3 か所で同時に締め直された回です。並列でサブエージェントを走らせている環境ほど、上げた後の挙動が変わる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?