一覧へ戻る v2.1.128

バックナンバー · BACK ISSUE

v2.1.128

破壊的変更
1 破壊的変更 9 改善 27 修正 · 37 件の変更

workspace という MCP サーバー名を予約し、EnterWorktree の文書どおりの HEAD ベースを復元するとともに、/model ピッカー・MCP・描画の改善と多数の修正を含みます。

破壊的変更 Breaking 1
  • MCP: workspace が予約済みのサーバー名になりました。この名前の既存サーバーは警告とともにスキップされます。

    mcp

    詳しく
    MCP サーバー名として workspace が予約語になりました。これまで自由に名付けられた workspace という名前の既存サーバーは、今後は読み込まれず警告とともにスキップされます。この名前を使っている人は、別の名前にリネームしないとそのサーバーが起動しなくなる破壊的変更なので、設定の見直しが必要です。
改善 Improvement 9
  • 引数なしの /color が、ランダムなセッションカラーを選ぶようになりました。

    uicommands

    詳しく
    セッションの表示色を切り替える /color コマンドの挙動が変わりました。これまで色を指定する必要があった /color を引数なしで実行すると、ランダムなセッションカラーが自動で選ばれるようになりました。複数のセッションを並行して開く人が、手早く見分けのつく色を割り当てたいときに便利です。
  • /mcp が、接続済みサーバーのツール数を表示し、0 ツールで接続したサーバーに印を付けるようになりました。

    mcp

    詳しく
    外部ツールを連携する MCP サーバーの状態を確認する /mcp の表示が強化されました。接続済みの各サーバーについて提供しているツールの数が表示され、ツールが 0 個のまま接続したサーバーには印が付くようになりました。サーバーが正しくツールを公開できているか一目で判断でき、設定ミスや接続不良の切り分けがしやすくなります。
  • --plugin-dir が、ディレクトリに加えて .zip のプラグインアーカイブも受け付けるようになりました。

    pluginscli

    詳しく
    プラグインを読み込む --plugin-dir オプションが受け付ける形式が広がりました。これまではディレクトリしか指定できませんでしたが、.zip 形式のプラグインアーカイブも直接指定できるようになりました。展開せずに配布物をそのまま読み込めるため、プラグインの試用や共有が手軽になります。
  • --channels がコンソール(API キー)認証でも動作するようになりました。管理設定のあるコンソール組織では、有効化に channelsEnabled: true を設定する必要があります。

    enterpriseauth

    詳しく
    チャンネル機能を使う --channels が、コンソール(API キー)認証の環境でも動作するようになりました。ただし管理設定が適用されているコンソール組織では、有効化するために channelsEnabled: true を設定する必要があります。API キーでログインしている組織のユーザーがこの機能を使えるようになります。
  • /model ピッカーを更新: 重複する Opus 4.7 の項目をまとめ、現在の Opus が「Opus 4.7」ではなく「Opus」と表示されるようにしました。

    modelsui

    詳しく
    使用するモデルを選ぶ /model ピッカーの表示が整理されました。重複していた Opus 4.7 の項目が一つにまとめられ、現在の Opus は「Opus 4.7」ではなく単に「Opus」と表示されるようになりました。一覧が見やすくなり、どれを選べばよいか迷いにくくなります。
  • 再接続する MCP サーバーが、再接続のたびに完全なツール名リストで会話を埋め尽くさなくなりました。再通知されるツールはサーバー接頭辞でまとめられます。

    mcpui

    詳しく
    MCP サーバーが再接続したときの会話表示が改善されました。以前は再接続のたびにツール名の完全な一覧が出力され会話が埋め尽くされていましたが、今後は再通知されるツールがサーバーの接頭辞ごとにまとめて要約されます。接続が不安定なサーバーを使っていても会話ログが読みやすく保たれます。
  • SDK ホストが Bash の権限プロンプトに対して永続的な localSettings の提案を受け取るようになり、「Always allow」が .claude/settings.local.json に書き込まれます。

    permissionsapi

    詳しく
    SDK を使ってアプリに Claude Code を組み込んでいる開発者向けの変更です。Bash の権限を尋ねるプロンプトに対して、永続化先として localSettings を提案する情報が渡されるようになり、ユーザーが「Always allow」を選ぶと許可が .claude/settings.local.json に書き込まれます。これにより一度許可した操作が次回以降も維持され、毎回確認を求められずに済みます。
  • Auto モード: 分類器がアクションを評価できないとき、エラーにヒント(再試行・/compact--debug での実行)が含まれるようになりました。

    permissionsagents

    詳しく
    権限を自動判定する Auto モードのエラー表示が親切になりました。アクションの可否を判定する分類器が評価に失敗したとき、これまでは原因がわかりにくかったところに、再試行・/compact(文脈の圧縮)・--debug 付きでの実行といった対処のヒントが添えられるようになりました。判定エラーに遭遇しても次に取るべき手が分かりやすくなります。
  • ヘッドレスの --output-format stream-json: init.plugin_errors が、依存関係の降格に加えて --plugin-dir の読み込み失敗も含むようになりました。

    pluginsapi

    詳しく
    ヘッドレス実行で --output-format stream-json を使う際の出力が拡充されました。初期化時に報告される init.plugin_errors に、これまでの依存関係の降格(demotion)に加えて、--plugin-dir での読み込み失敗も含まれるようになりました。スクリプトや CI で Claude Code を自動実行する人が、プラグインの読み込みエラーをプログラムから検知しやすくなります。
修正 Fix 27
  • サブプロセス(Bash・フック・MCP・LSP)が OTEL_* 環境変数を継承しなくなり、Bash ツール経由で実行する OTEL 計装済みアプリが CLI 自身の OTLP エンドポイントを拾わなくなりました。

    telemetrybash

    詳しく
    Claude Code が起動する子プロセス(Bash・フック・MCP・LSP)の環境変数の扱いが変わりました。これまで CLI 自身のテレメトリ設定である OTEL_* 環境変数が子プロセスに引き継がれていましたが、今後は継承されなくなります。これにより、OpenTelemetry(分散トレースなどの計装の仕組み)を組み込んだアプリを Bash ツール経由で実行しても、CLI 自身の OTLP 送信先(エンドポイント)を誤って拾わなくなり、テレメトリの混線を防げます。
  • EnterWorktree が、文書どおり origin/<default-branch> ではなくローカルの HEAD から新しいブランチを作成するようになり、未プッシュのコミットが失われなくなりました。

    agentsworktree

    詳しく
    Git の作業ツリーを切り替える EnterWorktree のブランチ作成元が修正されました。これまでは誤って origin/<default-branch> を基点に新しいブランチを作っており、まだプッシュしていないコミットが取り込まれず失われていましたが、ドキュメントどおりローカルの HEAD から作成するようになりました。未プッシュの変更を抱えたまま作業ツリーを移す人にとって、作業の消失を防ぐ重要な修正です。
  • 新しいプロンプトを送信したとき、フォーカスモードが一瞬前の応答を暗くする問題を修正。

    ui

    詳しく
    フォーカスモードでの表示のちらつきが修正されました。新しいプロンプトを送信した瞬間に、直前の応答が一瞬暗くなってしまう不具合が解消されています。表示が安定し、見た目の引っかかりがなくなります。
  • OSC 9 を通知として解釈する Kitty などのターミナルで、/exit のたびに余分な「4;0;」のデスクトップ通知が出る問題を修正。

    ui

    詳しく
    一部のターミナルで /exit 時に余計なデスクトップ通知が出る不具合が修正されました。OSC 9(ターミナルの制御シーケンスの一種)を通知として解釈する Kitty などのターミナルでは、終了のたびに「4;0;」という意味不明な通知が表示されていましたが、これが出なくなりました。該当するターミナルの利用者が無用な通知に悩まされなくなります。
  • レート制限時にリモートコントロールが、実行可能なアップセルの選択肢ではなく空の「Opening your options…」メッセージを表示する問題を修正。

    agentsui

    詳しく
    リモートコントロール機能でレート制限(利用上限)に達したときの表示が修正されました。これまでは中身のない「Opening your options…」というメッセージが出るだけでしたが、実際に行動できるアップグレード(アップセル)の選択肢が表示されるようになりました。上限に達してもどう対処すればよいかが分かるようになります。
  • 画像の読み込みに失敗したとき、ドラッグ&ドロップの画像アップロードが「Pasting text…」でハングする問題を修正。

    ui

    詳しく
    ドラッグ&ドロップでの画像アップロードがフリーズする不具合が修正されました。画像の読み込みに失敗した際に「Pasting text…」の表示のまま処理が止まってハングしていましたが、正しく処理が進むようになりました。画像の取り込みでつまずいて操作不能になる事態を避けられます。
  • stdin 経由で claude -p に非常に大きな入力(10 MB 超)をパイプするとクラッシュループする問題を修正。

    api

    詳しく
    claude -p に標準入力(stdin)経由で巨大なデータを渡したときの不具合が修正されました。10 MB を超えるような非常に大きな入力をパイプすると、クラッシュを繰り返すループに陥っていましたが、これが解消されています。大量のテキストをパイプ処理する自動化スクリプトなどを使う人に関係する修正です。
  • フルスクリーンモードで、折り返された各行ごとに長い URL を個別にクリックできない問題を修正。

    ui

    詳しく
    フルスクリーンモードでの URL のクリック挙動が修正されました。長い URL が複数行に折り返されると、折り返された各行を個別にクリックできない問題がありましたが、どの行からでもリンクとして開けるようになりました。長いリンクを扱う際の操作性が向上します。
  • --plugin-dir で読み込んだプラグインに対して、/plugin の Components パネルが「Marketplace 'inline' not found」と表示する問題を修正。

    pluginsui

    詳しく
    --plugin-dir で読み込んだプラグインに関する表示不具合が修正されました。/plugin の Components パネルで、それらのプラグインに対し「Marketplace 'inline' not found」という誤ったエラーが表示されていましたが、出なくなりました。マーケットプレイス経由ではなくローカルのディレクトリからプラグインを読み込む人に関係する修正です。
  • サーバーが構造化コンテンツとコンテンツブロックの両方を返すとき、MCP のツール結果が画像を取りこぼす問題を修正。

    mcp

    詳しく
    MCP サーバーのツール結果から画像が欠落する不具合が修正されました。サーバーが構造化コンテンツとコンテンツブロックの両方を返した場合に画像が取りこぼされていましたが、正しく保持されるようになりました。画像を返す MCP ツールを使う人にとって、結果が欠けずに受け取れるようになります。
  • リスト項目内のフェンス付きコードブロックが、コピー&ペースト時に先頭の空白をクリップボードに持ち込む問題を修正。

    ui

    詳しく
    コードをコピーする際の不具合が修正されました。リスト項目の中にあるフェンス付きコードブロック(``` で囲まれたコード)をコピー&ペーストすると、各行の先頭に余計な空白(インデント)が紛れ込んでいましたが、これが取り除かれるようになりました。コードをそのまま貼り付けて実行したいときに、余分な字下げを手で消す手間がなくなります。
  • /config のタブ移動でフォーカスが取り残される問題を修正。タブヘッダーがフォーカスを保ち、矢印と Esc が効き続けるようになりました。

    uiconfig

    詳しく
    設定画面 /config でのタブ操作の不具合が修正されました。タブを移動するとフォーカスが取り残され操作不能になることがありましたが、タブヘッダーがフォーカスを保ち続けるようになり、矢印キーや Esc が引き続き効くようになりました。設定をキーボードで操作する際の行き詰まりが解消されます。
  • OSC 8 のハイパーリンクをサポートしないターミナルで Markdown のリンクラベルが失われる問題を修正。リンクは URL だけでなく label (url) として表示されるようになりました。

    ui

    詳しく
    ハイパーリンクに対応していないターミナルでのリンク表示が改善されました。OSC 8(クリック可能なリンクを実現する制御シーケンス)をサポートしないターミナルでは Markdown のリンクラベルが失われ URL だけが残っていましたが、label (url) の形でラベルも併せて表示されるようになりました。リンクが何を指すのかが分かりやすくなります。
  • 自動コンパクトのウィンドウが小さい 1M コンテキストモデルのセッションが、実際の API 上限に達する前に誤って「Prompt is too long」でブロックされる問題を修正。

    modelscontext

    詳しく
    1M コンテキスト対応モデルのセッションで誤ったエラーが出る不具合が修正されました。自動コンパクト(文脈の自動圧縮)のしきい値が小さく設定されている場合に、実際の API の上限に達していないのに「Prompt is too long」とブロックされていましたが、本来の上限まで使えるようになりました。長い文脈を扱うモデルを使う人が、まだ余裕があるのに会話を止められる事態を回避できます。
  • 並列のシェルツール呼び出しを修正: 失敗した読み取り専用コマンド(grep、git diff、ls)が、兄弟の呼び出しをキャンセルしなくなりました。

    bashtools

    詳しく
    複数のシェルコマンドを並列実行したときの不具合が修正されました。読み取り専用コマンド(grep、git diff、ls など)の一つが失敗すると、同時に走っていた他の呼び出しまでキャンセルされていましたが、それぞれが独立して扱われるようになりました。並列で情報収集する際に、一つの失敗に巻き込まれて他の処理が無駄になることがなくなります。
  • 努力レベルをサポートしないモデルでバナーが「with X effort」と表示する問題を修正。

    modelsui

    詳しく
    モデル情報を示すバナーの表示不具合が修正されました。努力レベル(effort、思考の深さの設定)に対応していないモデルでも「with X effort」と誤って表示されていましたが、出なくなりました。実際の挙動と表示が一致し、誤解を招かなくなります。
  • サードパーティプロバイダで /fast が「not available」を表示せず、無関係なスキルにファジーマッチする問題を修正。

    modelsskills

    詳しく
    サードパーティ(3P)プロバイダ利用時の /fast の挙動が修正されました。この環境では /fast が使えないにもかかわらず、「not available」と表示する代わりに、名前の似た無関係なスキルに曖昧一致(ファジーマッチ)して実行されてしまっていましたが、正しく利用不可と示されるようになりました。意図しないスキルが誤って動く事態を防げます。
  • Bedrock の既定モデルが、リージョンに応じた接頭辞ではなく global.* に解決される問題を修正。

    modelsenterprise

    詳しく
    Amazon Bedrock 経由で使う際の既定モデルの解決が修正されました。リージョンに応じた正しい接頭辞ではなく global.* という接頭辞に解決されてしまう不具合がありましたが、適切なリージョン向けの指定が選ばれるようになりました。Bedrock を使う環境で、意図したリージョンのモデルが正しく呼ばれるようになります。
  • vim モードを修正: NORMAL モードの Space が、標準の vi/vim の挙動に合わせてカーソルを右に動かすようになりました。

    ui

    詳しく
    入力欄の vim モードの挙動が修正されました。NORMAL モードで Space キーを押すと、標準的な vi/vim と同じくカーソルが右に動くようになりました。普段から vim の操作に慣れている人にとって、期待どおりのキー操作で扱えるようになります。
  • ターミナルの進捗インジケータ(OSC 9;4)がツール呼び出しの合間に消えて点滅する問題を修正。ターン全体を通して表示され続けるようになりました。

    ui

    詳しく
    ターミナルの進捗インジケータの表示が安定しました。OSC 9;4(進捗状況を伝える制御シーケンス)による表示が、ツール呼び出しの合間に一瞬消えて点滅していましたが、ターン全体を通して表示され続けるようになりました。処理が進行中であることが視覚的に分かりやすくなります。
  • 最後のエントリがコンパクトの境界である再開セッションで、引数なしの /rename が失敗する問題を修正。

    agents

    詳しく
    セッション名を変更する /rename の不具合が修正されました。再開したセッションの最後のエントリがコンパクト(文脈圧縮)の境界だった場合に、引数なしの /rename が失敗していましたが、正常に動くようになりました。圧縮を挟んで再開したセッションでも、問題なく名前を付け直せます。
  • --resume/--continue の後に、以前のセッションの古い「remote-control is active」ステータス行が表示される問題を修正。

    agentsui

    詳しく
    セッションを再開したときの古い表示が修正されました。--resume--continue でセッションを再開すると、以前のセッションに残っていた「remote-control is active」というステータス行が誤って表示されることがありましたが、出なくなりました。再開時の表示が現在の状態を正しく反映するようになります。
  • 削除済みのキャッシュディレクトリを指す installed_plugins.json の古いエントリが PATH を汚染する問題を修正。

    plugins

    詳しく
    プラグイン管理に関する不具合が修正されました。installed_plugins.json に削除済みのキャッシュディレクトリを指す古いエントリが残っていると、それが PATH(コマンド検索パス)を汚染してしまう問題がありましたが、解消されています。存在しないディレクトリが PATH に混ざることによる予期しない挙動を避けられます。
  • CLAUDE_CODE_SHELL_PREFIX が設定され、引数に空白やシェルのメタ文字が含まれるとき、MCP の stdio サーバーが壊れた引数を受け取る問題を修正。

    mcp

    詳しく
    MCP の stdio サーバーへ渡す引数が壊れる不具合が修正されました。CLAUDE_CODE_SHELL_PREFIX が設定されていて、引数に空白やシェルのメタ文字が含まれる場合に、サーバーが壊れた引数を受け取っていましたが、正しく渡されるようになりました。この環境変数でコマンドの前置きを指定しつつ stdio 方式の MCP サーバーを使う人に関係する修正です。
  • サブエージェントの進捗サマリーがプロンプトキャッシュを取りこぼす問題を修正(cache_creation を約 3 分の 1 に削減)。

    agentsperformance

    詳しく
    サブエージェントの動作効率に関する不具合が修正されました。進捗サマリーの生成時にプロンプトキャッシュ(同じ入力の再利用による節約)が効いていなかったため無駄が生じていましたが、これが解消され、cache_creation がおよそ 3 分の 1 に削減されました。サブエージェントを多用する処理のコストとレイテンシの低減につながります。
  • /plugin update が、npm 由来のプラグインの新しいバージョンを一切検出しない問題を修正。

    plugins

    詳しく
    プラグインを更新する /plugin update の不具合が修正されました。npm を取得元とするプラグインについて、新しいバージョンが公開されても一切検出されなかったため更新できませんでしたが、正しく検知されるようになりました。npm 由来のプラグインを使っている人が、最新版へ更新できるようになります。
  • サブエージェントのトランスクリプトが変化しない間もサマリーが繰り返し発火する問題を修正し、アイドルなサブエージェントの最悪ケースのトークンコストを抑えました。

    agentsperformance

    詳しく
    サブエージェントのサマリー生成の無駄が修正されました。サブエージェントのトランスクリプト(やり取りの記録)が変化していないのに繰り返しサマリーが生成されていましたが、それを抑えるようになりました。これにより、待機中(アイドル)のサブエージェントで発生しうる最悪ケースのトークン消費に上限がかかり、無駄なコストを抑えられます。
原文 Markdown を表示
## 2.1.128

- Bare `/color` (no args) now picks a random session color
- `/mcp` now shows the tool count for connected servers and flags servers that connected with 0 tools
- `--plugin-dir` now accepts `.zip` plugin archives in addition to directories
- `--channels` now works with console (API key) authentication — console orgs with managed settings must set `channelsEnabled: true` to enable
- Updated `/model` picker: collapsed duplicate Opus 4.7 entries, and current Opus now shows as "Opus" instead of "Opus 4.7"
- Subprocesses (Bash, hooks, MCP, LSP) no longer inherit `OTEL_*` environment variables, so OTEL-instrumented apps run via the Bash tool no longer pick up the CLI's own OTLP endpoint
- MCP: `workspace` is now a reserved server name — existing servers with that name will be skipped with a warning
- Reconnecting MCP servers no longer flood the conversation with full tool-name lists on every reconnect — re-announced tools are summarized by server prefix
- SDK hosts now receive a persistent `localSettings` suggestion for Bash permission prompts, so "Always allow" writes to `.claude/settings.local.json`
- `EnterWorktree` now creates the new branch from local HEAD as documented, instead of `origin/<default-branch>` — unpushed commits are no longer dropped
- Auto mode: when the classifier can't evaluate an action, the error now includes a hint (retry, `/compact`, or run with `--debug`)
- Fixed focus mode briefly dimming the previous response when submitting a new prompt
- Fixed stray "4;0;" desktop notification on every `/exit` in Kitty and other terminals that interpret OSC 9 as a notification
- Fixed Remote Control showing an empty "Opening your options…" message on rate limit instead of actionable upsell options
- Fixed drag-and-drop image upload hanging on "Pasting text…" when the image read fails
- Fixed crash loop when piping very large input (>10 MB) to `claude -p` via stdin
- Fixed long URLs not being individually clickable on every wrapped row in fullscreen mode
- Fixed `/plugin` Components panel showing "Marketplace 'inline' not found" for plugins loaded via `--plugin-dir`
- Fixed MCP tool results dropping images when the server returns both structured content and content blocks
- Fixed fenced code blocks inside list items carrying leading whitespace into the clipboard on copy-paste
- Fixed tab navigation in `/config` stranding focus — the tab header now stays focused so arrows and Esc keep working
- Fixed markdown link labels being lost on terminals without OSC 8 hyperlink support — links now render as `label (url)` instead of just the URL
- Fixed sessions on 1M-context models with a smaller autocompact window being falsely blocked with "Prompt is too long" before reaching the actual API limit
- Fixed parallel shell tool calls: a failing read-only command (grep, git diff, ls) no longer cancels sibling calls
- Fixed banner showing "with X effort" on models that don't support effort
- Fixed `/fast` on 3P providers fuzzy-matching to an unrelated skill instead of showing "not available"
- Fixed Bedrock default model resolving to `global.*` instead of the region-appropriate prefix
- Fixed vim mode: `Space` in NORMAL mode now moves the cursor right, matching standard vi/vim behavior
- Fixed terminal progress indicator (OSC 9;4) flickering off between tool calls — stays visible across the full turn
- Fixed `/rename` without args failing on resumed sessions whose last entry is a compact boundary
- Fixed stale "remote-control is active" status lines from prior sessions appearing after `--resume`/`--continue`
- Fixed stale `installed_plugins.json` entries pointing at deleted cache directories polluting PATH
- Fixed MCP stdio servers receiving corrupted arguments when `CLAUDE_CODE_SHELL_PREFIX` is set and an argument contains spaces or shell metacharacters
- Fixed sub-agent progress summaries missing the prompt cache (~3× `cache_creation` reduction)
- Fixed `/plugin update` never detecting new versions of npm-sourced plugins
- Fixed sub-agent summaries firing repeatedly while a sub-agent's transcript is static, capping worst-case token cost on idle sub-agents
- Headless `--output-format stream-json`: `init.plugin_errors` now includes `--plugin-dir` load failures in addition to dependency demotions