Claude Code v2.1.289:権限ルールの修正、チームメイト向けagent.spawn、プラグイン描画の安定化
Claude Code v2.1.289では、denyルールとaskルールが適用されない複数のケースを修正し、チームメイト向けのagent.spawnと$.agent.list()のidle・waiting状態を追加、プラグインとmodの描画失敗を多数修正しました。
Claude Code v2.1.289は、変更履歴27項目からなる修正中心のリリースで、その大半がプラグインとmodsに関するものです。denyルールやaskルールが適用されない複数の抜け穴をふさぎ、チームメイト向けのagent.spawnを追加し、プラグインやmodの描画失敗でセッションがフリーズしたり終了したりする問題を多数解消しています。
新機能
denyルールとaskルールがより多くのケースで適用
このリリースでは、権限ルールのいくつかの抜け穴が修正されました:
- 管理対象のマシンでは、複合シェルコマンドのネストした部分に対するdenyルールやaskルールが、ユーザーがインストールしたmodの承認よりも優先されるようになりました。
- シンボリックリンク経由でIDEから@メンション、変更、選択されたファイルにも
Readのdenyルールが適用されるようになりました。 - サンドボックスがコマンドを自動許可する場合でも、展開された値を持つ環境変数プレフィックスの後ろにあるコマンド(例:
TZ="$HOME" rm -rf build)をBashのdeny・askルールが見逃さなくなり、コマンドの前に単純な変数代入があってもルールがスキップされなくなりました。 - ユーザーがインストールしたプラグインが、組織が管理するMCPサーバーのサインインツールの説明を書き換えられなくなりました。
チームメイト向けagent.spawnと新しいエージェント状態
チームメイト向けのagent.spawnが追加され、プラグインのフックイベント間で同じエージェントidが使われるようになり、$.agent.list()にidle状態とwaiting状態が加わりました。
VS Code:claude auth statusの変更を元に戻す
VS Codeで、サインアウトの頻度を高めていた可能性のある、2.1.288でのclaude auth statusへの変更が元に戻されました。
修正と改善
- フリーズ:閉じられていない
<script>タグを多数含む、または深くネストした${置換を含む短いコードブロックでターミナルがフリーズしなくなりました。公開済みのartifactページも、閉じられていない<script>タグを多数含む短いコードブロックで閲覧者のブラウザータブをフリーズ・クラッシュさせなくなりました。 - 起動:ターミナルが認識できない枠線スタイルでプラグインがBoxを描画しても、起動時にフリーズしたり強制終了したりしなくなりました。
- セッションの安定性:プラグインの画面上のハンドラーが非同期に例外を投げても、監視対象のセッションやバックグラウンドセッションが終了しなくなりました。高さのないプラグイン領域が伸び続けた場合に、インターフェースエラーでセッションが終了する問題も修正されています。
- modの描画:modの
ui.renderフックが書き込んだ値によって行の描画中に例外が発生した場合、「unrecoverable interface error」でセッションを終了する代わりに、エンジンが独自の行を描画するようになりました。描画中に失敗したmodのClientは、modが周囲に描いたものすべてを巻き込まず単独で失敗し、ui.faultを発生させます。ターミナルが描画中に例外を投げた後、その領域がセッション中ずっと失敗状態のままになる問題も修正されました。 - modのレイアウト:modのペイン(pane)やバンド(band)内の右寄せコンテンツが閉じるマークや
[-]の下に描画されなくなり、これらはターミナルの端から1列内側に収まるようになりました。描画に失敗したバンドが、その下のカードに一時的に場所を空けさせることもなくなりました。 - modのエラー表示:modのバンドやペインの描画に失敗したとき、作者に表示される行がそのmodの名前を示し、何も描画されなかったことを伝えるようになりました。
- modの読み込み:アップグレード後の最初のセッションでも、インストール済みのmodsが読み込まれるようになりました。
- プラグインペイン:リンクがlocalhostアドレス、パス中の
@、大文字のホスト名、file:パスを使っていても、プラグインペインが描画されるようになりました。プラグインのコードペインはハイライト表示を最終的な幅で一度だけレイアウトするため、大きなファイルが速く開きます。フルスクリーンでBackground tasksダイアログを開いている間に、プロンプト上部のプラグインの行が古い内容を表示する問題も修正されました。 - プラグインコマンド:
plugin list、plugin eval、plugin updateが、ローカルフォルダーのmarketplaceからインストールしたプラグインの古いコピーを表示しなくなり、シンボリックリンクの--plugin-dirでもホットリロードが機能するようになりました。 - プラグインの検証:フォルダーにmarketplaceのマニフェストもある場合に
claude plugin validateがプラグインをスキップしなくなり、Anthropicのmarketplace自身のプラグインを不合格にしたり、問題のないplugin.jsonを--jsonに列挙したりしなくなりました。メッセージを伴わない失敗で、失敗したプラグインコンポーネントの理由がErrorだけ、または空欄になる問題も修正されています。 - テキストの描画:タブ、余分なエスケープ、C1制御文字を含むテキストや、タブとCRLF改行を含む短いテキストが、下の行に重なって描画されなくなりました。
このリリースには合計27件の変更が含まれています。すべての項目は完全な変更履歴をご覧ください。
アップデート方法
- インストール済みのバージョンを確認:
claude --version - その場でアップデート:
claude update