このバージョン以降にも更新があります。

最新版 v2.1.296 を見る →

Claude Code v2.1.289

変更項目 27 件

公式 CHANGELOG.md

このバージョンの概要

v2.1.289は、モッドやプラグイン周りの不具合を中心に修正した安定性向上リリースです。描画中に失敗したモッドの Client が周囲の描画を巻き添えにしてセッションを落とす問題を分離して ui.fault を送るように改め、同時にアーティファクト公開ページが不正な <script> タグ入りのコードブロックでブラウザタブをフリーズ・クラッシュさせる問題を解消しました。加えて、複合シェルコマンドの入れ子部分に対する deny/ask ルールがユーザーインストールのモッドによる承認を引き継いでしまう権限バイパスを修正しています。

Added追加(1件)

Added
チームメイト向けの agent.spawn、プラグインのフックイベント全体で共通の 1 つのエージェント ID、そして $.agent.list() における idle と waiting の状態を追加しました。
英語原文を表示
Added agent.spawn for teammates, one agent id across plugin hook events, and idle and waiting states in $.agent.list()

変更前

エージェントチームのメンバーをプログラムから生成するための agent.spawn API が存在せず、プラグインのフックイベントごとに異なるエージェント ID が使われ、$.agent.list() の返り値にはエージェントの idle や waiting の状態が含まれていませんでした。

変更後

エージェントチームのエージェントに対して agent.spawn API が使えるようになりました。これまではエージェントチームのメンバーをプログラムからスポーン(生成)する手段が存在しませんでした。あわせて、プラグインのフックイベント全体で同一のエージェント ID が使われるようになり、$.agent.list() にはエージェントの状態として idle(待機中)と waiting(待ち状態)が表示されるようになりました。

ユーザーへの恩恵

開発者は SDK やプラグインからチームメイトのエージェントをスポーンできるようになり、フックやエージェント一覧でエージェントを正確に識別・把握できるようになる。

Changed変更(1件)

Changed
[VSCode] claude auth status に関する 2.1.288 の変更を取り消した。この変更はサインアウトが頻発する原因になっていた可能性がある
英語原文を表示
[VSCode] Reverted a 2.1.288 change to claude auth status that may have made sign-outs more frequent

変更前

v2.1.288 で claude auth status コマンドに変更が加えられ、サインアウトが意図せず頻発する可能性がありました。

変更後

2.1.288 で claude auth status コマンドの変更が入り、意図せずサインアウトが頻発する可能性がありました。この変更は取り消され、以前の安定した動作に戻ります。

ユーザーへの恩恵

認証状態が意図せず解除されることが減り、再ログインの手間をかけずに作業を続けられる。

Improved改善(2件)

Improved
ハイライト済みビューを最終的な幅で一度だけレイアウトするようにして、大きなファイルがプラグインコードペインで開く速度を改善しました。
英語原文を表示
Improved how quickly large files open in a plugin code pane by laying the highlighted view out once at its final width

変更前

プラグインコードペインで大きなファイルを開くと、シンタックスハイライト済みのビューが最終的な幅を確定した上で一度だけレイアウトされるようになりました。従来はレンダリングのたびにレイアウトが再計算され、大きなファイルでは描画までに時間がかかっていました。

変更後

プラグインコードペインで大きなファイルを開くと、シンタックスハイライト済みのビューが最終的な幅を確定した上で一度だけレイアウトされるようになりました。従来はレンダリングのたびにレイアウトが再計算され、大きなファイルでは描画までに時間がかかっていました。

ユーザーへの恩恵

大きなファイルでもプラグインのコードペインをすばやく開けるようになります。

Improved
モッドのバンドやペインが描画できなかったときにモッドの作者に表示される行を改善しました。この行にはモッドの名前が含まれ、何も描画されなかったことが示されます。
英語原文を表示
Improved the line a mod's author sees when its band or pane fails to draw: it names the mod and says nothing was drawn

変更前

モッドのバンドやペインの描画に失敗しても、表示されるメッセージには失敗した理由のみが示され、どのモッドが原因なのかは明示されず、何も描画されなかったことも分かりませんでした。

変更後

モッドのバンドやペインの描画に失敗したとき、表示されるメッセージにモッドの名前が含まれるようになり、「何も描画されなかった」ことが明示されます。これにより、モッドの作者はどのモッドの描画が失敗したのかをひと目で判別できます。ドキュメントの例では、 refusing されたときに ui.render (Pane) refused: ... the engine drew its own のような行が表示される仕組みが説明されています。

ユーザーへの恩恵

描画に失敗したモッドの名前がメッセージに表示されるようになり、どのモッドが問題の原因かを素早く特定できます。

Fixed修正(23件)

Fixed
閉じタグのない <script> タグが多く含まれる、または ${ の置換が深くネストした短いコードブロックで、ターミナルがフリーズする問題を修正しました。
英語原文を表示
Fixed the terminal freezing on short code blocks with many unclosed <script> tags or deeply nested ${ substitutions

変更前

Rendering a short code block that contained many unclosed <script> tags or deeply nested ${ substitutions froze the terminal, leaving the session unresponsive.

変更後

Inside a short code block, many unclosed <script> tags or deeply nested ${ substitutions no longer push the terminal into an unresponsive, frozen state.

ユーザーへの恩恵

壊れかけの script タグや深いテンプレート置換を含む短いコードブロックでもターミナルが固まらなくなり、作業を続けられる。

Fixed
シンボリックリンク経由で、IDE上で@メンション・変更・選択されたファイルに Read の拒否ルールが適用されない問題を修正した
英語原文を表示
Fixed Read deny rules not applying to files @-mentioned, changed, or selected in the IDE through a symlink

変更前

IDEでファイルを@メンション、変更、または選択した場合、そのパスがシンボリックリンクを経由していると、Read拒否ルールが適用されず、リンク先が拒否対象のファイルであってもClaudeが読み取りを実行できていた。

変更後

IDEでファイルが@メンション、変更、または選択されたとき、そのパスがシンボリックリンク経由であっても、Read拒否ルールが正しく適用されるようになった。リンク先が拒否対象のファイルであれば、そのファイルへの読み取りがブロックされる。

ユーザーへの恩恵

ユーザーは機密ファイルがシンボリックリンク経由で読み取られることを心配せず、意図した保護ルールが常に機能することを信頼できる。

関連ドキュメント

Fixed
plugin list、plugin eval、plugin update がローカルフォルダのマーケットプレイスからインストールしたプラグインの古いコピーを表示する問題を修正し、シンボリックリンクされた --plugin-dir のホットリロードを修正した。
英語原文を表示
Fixed plugin list, plugin eval and plugin update showing a stale copy of a plugin installed from a local folder marketplace, and hot reload for a symlinked --plugin-dir

変更前

ローカルフォルダのマーケットプレイスからインストールしたプラグインはキャッシュに残った古いコピーのままだったため、plugin list、plugin eval、plugin update の表示が最新の状態を反映していなかった。また、シンボリックリンクされた --plugin-dir ではホットリロードが機能しなかった。

変更後

ローカルフォルダのマーケットプレイスからインストールしたプラグインの最新のコピーが plugin list、plugin eval、plugin update に表示され、シンボリックリンクされた --plugin-dir でもホットリロードが機能する。

ユーザーへの恩恵

ローカルフォルダのマーケットプレイスを使う開発者は、プラグインの最新の状態を一覧や更新・評価コマンドで正しく確認でき、シンボリックリンクされたプラグインディレクトリでも編集が即座に反映されるようになる。

Fixed
アップグレード後の最初のセッションでインストール済みの拡張機能が読み込まれない問題を修正した
英語原文を表示
Fixed installed mods not loading in the first session after an upgrade

変更前

Claude Codeをアップグレードした後、最初のセッションでインストール済みのプラグインや拡張機能が読み込まれない

変更後

アップグレード後の最初のセッションでも、インストール済みのプラグインや拡張機能が正常に読み込まれる

ユーザーへの恩恵

アップグレード後に手動での再読み込みやセッション再起動を行わなくても、インストール済みの拡張機能をすぐに使えるようになる

関連ドキュメント

Fixed
全画面表示でバックグラウンドタスクダイアログを開いている間に、プロンプトの上に表示されるプラグインの行が古い内容のままで表示される問題を修正した。
英語原文を表示
Fixed a plugin's rows above the prompt showing a stale row while the Background tasks dialog was open in fullscreen

変更前

バックグラウンドタスクダイアログを全画面表示で開いている間、プロンプトの上に表示されるプラグインの行が更新されず、古い(stale)内容の行がそのまま表示されていた。

変更後

バックグラウンドタスクダイアログを全画面表示で開いている間に、プロンプトの上に表示されるプラグインの行が常に最新の状態に更新され、古い内容の行が残らなくなった。

ユーザーへの恩恵

全画面でバックグラウンドタスクを確認している間も、プラグインの行が最新の状態を正しく反映するようになり、誤った情報に基づいて判断してしまうことがなくなる。

関連ドキュメント

Fixed
localhost アドレス、パス内の @、大文字のホスト、file: パスを使うリンクがあるときにプラグインペインが何も描画しない問題を修正
英語原文を表示
Fixed plugin panes drawing nothing when a link used a localhost address, an @ in its path, an uppercase host or a file: path

変更前

リンクが localhost アドレス、パス内の @、大文字を含むホスト、file: パスのいずれかを使っていると、プラグインペインが何も描画せず空白のままになっていた

変更後

リンクが localhost アドレス、パス内の @、大文字を含むホスト、file: パスのいずれかを含んでいても、プラグインペインがそのリンク先を正しく描画するようになった

ユーザーへの恩恵

特殊な形式のリンクを含むプラグインでも、ペインに正しく内容が表示されるようになる

関連ドキュメント

Fixed
ユーザーがインストールしたプラグインが、組織が管理する MCP サーバーのサインインツールの説明を書き換えられる問題を修正した。
英語原文を表示
Fixed a user-installed plugin being able to rewrite the descriptions of an organization-managed MCP server's sign-in tools

変更前

ユーザーがインストールしたプラグインが、組織が管理する MCP サーバー(Managed MCP)のサインインツールの説明を書き換えることができ、ツールの機能や目的を誤誘導する説明が表示される恐れがあった。

変更後

ユーザーがインストールしたプラグインが、組織管理 MCP サーバーのサインインツールの説明を上書きしようとしても、その説明書き換えがブロックされ、組織が管理する MCP サーバーのツール説明は保護された状態で表示される。

ユーザーへの恩恵

ユーザーは、プラグインによるツール説明の改ざんを恐れず、組織管理の MCP サーバーのサインインツールを信頼して利用できるようになる。

関連ドキュメント

Fixed
端末が未知の境界線スタイルのBoxを描画した際の起動時フリーズや強制終了を修正した
英語原文を表示
Fixed a freeze or forced quit at launch when a plugin drew a Box with a border style the terminal does not know

変更前

端末が認識できない境界線スタイルのBoxをプラグインが描画すると、起動時にフリーズまたは強制終了が発生した

変更後

端末が未対応の境界線スタイルでも、プラグインがBoxを描画しても起動が完了するようになった

ユーザーへの恩恵

端末が対応していない境界線スタイルでも起動エラーが起きなくなり、プラグインが安定して起動するようになった

Fixed
on-screen ハンドラーが非同期に例外を投げたときに、supervised セッションや background セッションが終了してしまう問題を修正
英語原文を表示
Fixed supervised and background sessions ending when a plugin's on-screen handler threw asynchronously

変更前

plugin が登録した on-screen ハンドラーが非同期に例外を投げると、その例外が捕捉されずにセッション全体を異常終了させ、supervised セッションや background セッションがその時点で終わってしまうことがあった。

変更後

plugin が登録した on-screen ハンドラーが非同期に例外を投げても、その例外は mod 内で捕捉・記録され、supervised セッションも background セッションも引き続き動作する。

ユーザーへの恩恵

ハンドラーのエラーが発生してもセッションが勝手に終了しないため、ユーザーはエラーを修正してセッションを続行できる。

Fixed
高さのないプラグイン領域が成長し続けたときに、インターフェースエラーでセッションが終了する問題を修正した
英語原文を表示
Fixed sessions ending with an interface error when a plugin region with no height kept growing

変更前

高さを持たないプラグイン領域(ペイン)が成長を続けると、インターフェースエラーが発生し、セッションが強制終了していた。開発者はプラグインの描画バグによって作業中のセッションを失う可能性があった。

変更後

高さゼロのプラグイン領域が成長し続けても、インターフェースエラーでセッションが終了しなくなった

ユーザーへの恩恵

高さを持たないプラグイン領域があってもセッションが終了せず、安定して作業を続けられる。

Fixed
サンドボックスがコマンドを自動許可する場合に、展開された値を持つ環境変数接頭辞の背後にあるコマンド(例: TZ=... rm -rf build)が Bash deny ルールおよび ask ルールのマッチから漏れる問題を修正
英語原文を表示
Fixed Bash deny and ask rules missing a command behind an environment variable prefix with an expanded value (e.g. TZ="$HOME" rm -rf build) when the sandbox auto-allows commands

変更前

環境変数が展開される接頭辞が付いたコマンドは Bash deny/ask ルールの判定から漏れ、サンドボックス自動許可の条件下で問い合わせられずに実行される可能性があった。

変更後

環境変数接頭辞(例: TZ=... )が付いたコマンドでも、Bash deny/ask ルールのマッチ判定対象となる。

ユーザーへの恩恵

rm -rf などの危険なコマンドが変数展開の接頭辞を装って deny/ask ルールを回避して実行されるリスクが減り、コマンド実行制御がより確実になる。

Fixed
Fixed a Bash deny or ask rule being skipped under sandbox auto-allow when a bare variable assignment came before the command
英語原文を表示
Fixed a Bash deny or ask rule being skipped under sandbox auto-allow when a bare variable assignment came before the command

変更前

サンドボックスの自動許可モードでは、コマンドの直前に変数代入(例: FOO=bar コマンド...)があると、deny ルールや ask ルールがスキップされ、そのままコマンドが自動承認されていた。

変更後

サンドボックスの自動許可でも、コマンド前に裸の変数代入があると deny/ask ルールが正しく評価される。

ユーザーへの恩恵

環境変数を付けて実行したコマンドについても、deny ルールが確実に効き、内容指定の ask ルールは承認ダイアログが出るため、意図しない自動実行を防げる。

Fixed
フォルダに marketplace マニフェストも含まれている場合に claude plugin validate がそのプラグインをスキップする問題を修正した。
英語原文を表示
Fixed claude plugin validate skipping the plugin when the folder also holds a marketplace manifest

変更前

プラグインと marketplace マニフェストが同じフォルダに存在する場合、claude plugin validate を実行すると marketplace マニフェストの存在によってそのプラグインが検証対象からスキップされ、プラグイン自体の検証が実行されなかった。

変更後

claude plugin validate を実行すると、フォルダ内に marketplace マニフェスト(.claude-plugin/marketplace.json)があっても、各プラグインの .claude-plugin/plugin.json が検出・検証されるようになり、marketplace マニフェストのせいでプラグインがスキップされなくなった。

ユーザーへの恩恵

フォルダに marketplace マニフェストがあっても claude plugin validate がプラグインをスキップせずに検証するため、ユーザーは追加の操作なしでそのままプラグインの検証を実行できるようになる。

Fixed
modのui.renderフックが書き込んだ値によって行の描画中に例外が発生し、セッションが「unrecoverable interface error(回復不能なインターフェースエラー)」で終了する問題を修正。現在はエンジンが自前の行を代わりに描画する。
英語原文を表示
Fixed sessions ending with "unrecoverable interface error" when a value a mod's ui.render hook wrote made a row throw while drawn; the engine now draws its own row instead

変更前

modのui.renderフックが書き込んだ値によって行の描画中に例外が投げられると、セッションが「recoverable interface error」というエラーで終了していた。

変更後

modのui.renderフックが返した値に問題がある行を描画しようとして例外が発生しても、エンジンが自前の行を描画するようになった。

ユーザーへの恩恵

modの描画で例外が起きてもセッション全体が落ちず、問題のある行だけがClaude Code標準の表示に置き換わる。

Fixed
タブ、誤用エスケープ、C1 制御文字を含むテキストや、タブと CRLF 改行を含む短いテキストが、その下の行に上書きされて描画される問題を修正した。
英語原文を表示
Fixed text with a tab, a stray escape and a C1 control, or a short text with a tab and CRLF line endings, drawing over the rows below it

変更前

テキストにタブ、不正なエスケープ、C1 制御文字が含まれる場合や、タブと CRLF 改行を含む短いテキストの場合、テキストのレンダリング幅が正しく計算されず、描画されたテキストがその下の行に重なって描画される。

変更後

テキストにタブ、誤用エスケープ、C1 制御文字が含まれる場合や、タブと CRLF 改行を含む短いテキストの場合に、テキストが正しくレンダリングされ、それより下の行に上書きされない。

ユーザーへの恩恵

プラグインがタブや特殊文字を含むテキストを UI に描画しても、下の行に上書きされることなく正しく表示できる。

Fixed
modのpaneやband内の右揃えコンテンツが閉じるマークや[-]の下に描画される問題を修正し、右揃えコンテンツが端末の端から1列分内側に描画されるようにした
英語原文を表示
Fixed right-aligned content in a mod's pane or band drawing under the close mark or [-], which now also keep one column in from the terminal's edge

変更前

modのpaneやband内で右揃えのコンテンツが、閉じるマークや[-]の下に重なって描画され、端末の右端まで達していた

変更後

paneやbandの右揃えコンテンツは、閉じるマークや[-]の下に描画されず、端末の右端から1列分の余白を保って描画されるようになった

ユーザーへの恩恵

閉じるマークと右揃えのコンテンツが重ならなくなり、端末の右端にも余白ができるため、modのUIが見やすく読みやすくなる

Fixed
描画中に失敗していた mod の Client が周囲の描画ごと巻き込んで落下する問題を修正した。現在は Client だけが単独で失敗し、ui.fault を発生させる
英語原文を表示
Fixed a mod's Client that fails while drawn taking down everything the mod drew around it; it now fails alone and raises ui.fault

変更前

mod が描画した Client が描画中に失敗すると、その mod が描画した周囲の要素もすべて巻き込んで描画全体が落ちていた

変更後

描画中に Client がエラーになった場合、その Client だけが単独で失敗し、ui.fault イベントが発生するようになった

ユーザーへの恩恵

個別の Client の障害が周囲の描画を壊さず、mod は ui.fault を捕捉して適切に対処できるようになる

Fixed
Anthropic のマーケットプレイス自身のプラグインで claude plugin validate が失敗する問題と、--json 出力時に問題のない plugin.json が列挙される問題を修正した。
英語原文を表示
Fixed claude plugin validate failing an Anthropic marketplace's own plugin and listing a clean plugin.json in --json

変更前

Anthropic 公式マーケットプレイス自身のプラグインがバリデーションに失敗し、問題のない plugin.json が --json 出力にエラーとして列挙されていた。

変更後

Anthropic 公式マーケットプレイス自体のプラグインに対して claude plugin validate を実行しても失敗しなくなり、--json 出力でも問題のない plugin.json がエラーとして列挙されなくなった。

ユーザーへの恩恵

公式マーケットプレイスのプラグイン開発者は、誤ったバリデーション失敗に悩まされず、--json 出力を CI などで安心して信頼できるようになった。

Fixed
mod の band が描画に一時的に失敗した際に、その下のカードが一瞬退いてしまう問題を修正した
英語原文を表示
Fixed a mod's band that fails to draw briefly telling the cards under it to step aside

変更前

mod の band が描画に一時的に失敗すると、その下に並ぶカードがその描画の復帰を待って一瞬退いていた

変更後

mod の band が描画を一度失敗しても、その下に並ぶカードがその描画の復帰を待って一瞬退くことがなくなった

ユーザーへの恩恵

mod の band が一瞬描画に失敗しても、下のカードがちらついて動かなくなり、mod の UI を安定して利用できるようになる

Fixed
失敗したプラグインコンポーネントが、その失敗がメッセージを持たないときに、その理由として Error や空欄を表示する問題を修正した。
英語原文を表示
Fixed a failed plugin component showing Error or nothing as its reason when the failure carried no message

変更前

失敗したコンポーネントの表示は、失敗がメッセージを持たないときは空欄として表示される。

変更後

失敗したコンポーネントの表示は、失敗がメッセージを持たないときは Error と表示される。

ユーザーへの恩恵

コンポーネントの失敗を把握しやすくなる。

Fixed
公開済みアーティファクトのページで、閉じられていない &lt;script&gt; タグが多く含まれる短いコードブロックがあると、閲覧者のブラウザタブがフリーズしたりクラッシュしたりする問題を修正した。
英語原文を表示
Fixed published artifact pages freezing or crashing the reader's browser tab on short code blocks with many unclosed <script> tags

変更前

公開済みアーティファクトのページに、閉じられていない &lt;script&gt; タグが多く含まれる短いコードブロックがあると、ページを開いた閲覧者のブラウザタブがフリーズしたりクラッシュしたりしていた。

変更後

閉じられていない &lt;script&gt; タグが多く含まれる短いコードブロックが含まれる公開済みページでも、閲覧者のブラウザタブがフリーズしたりクラッシュしたりしなくなった。

ユーザーへの恩恵

閉じられていない &lt;script&gt; タグを含むコードブロックが埋め込まれたアーティファクトを公開しても、閲覧者のブラウザタブがフリーズしたりクラッシュしたりしなくなる。

Fixed
端末が描画中に例外を投げた後も、mod の Client 領域がセッション全体で失敗状態のまま残る問題を修正しました
英語原文を表示
Fixed a mod's Client region staying failed for the whole session after the terminal threw while drawing it

変更前

端末が mod の Client 領域を描画中に例外を投げると、その領域はセッションの間ずっと失敗状態のままになり、mod を再読み込みしても回復しませんでした

変更後

端末が mod の Client 領域の描画中に例外を投げても、その領域がセッション全体で失敗状態のまま固定されなくなりました

ユーザーへの恩恵

Client 領域で描画エラーが起きても、セッションを再起動せずに領域を再利用できるようになります

シェア: X はてブ