一覧へ戻る v2.1.76

バックナンバー · BACK ISSUE

v2.1.76

破壊的変更
1 破壊的変更 7 新機能 7 改善 20 修正 · 35 件の変更

MCP の elicitation、PostCompact/elicitation フック、/effort コマンド、セッション品質アンケートを追加し、遅延ツール・プランモード・リモートコントロールの修正を含みます。--plugin-dir はフラグごとに 1 パスを取るようになりました。

破壊的変更 Breaking 1
  • サブコマンドをサポートするため、--plugin-dir が 1 つのパスのみを受け付けるよう更新しました。複数のディレクトリには --plugin-dir を繰り返し指定します。

    pluginscli

    詳しく
    サブコマンドへの対応のため、--plugin-dir が受け付けるパスを 1 つだけに変更した破壊的変更です。以前は 1 つのフラグに複数のディレクトリを渡せましたが、今後は複数指定したい場合 --plugin-dir dir1 --plugin-dir dir2 のようにフラグを繰り返す必要があります。複数のプラグインディレクトリを指定していた人は、この書き方に修正してください。
新機能 Feature 7
  • MCP の elicitation サポートを追加しました。MCP サーバーが、対話的なダイアログ(フォームフィールドやブラウザ URL)を介してタスクの途中で構造化入力を要求できます。

    mcp

    詳しく
    MCP(Claude Code に外部ツールやデータを接続する仕組み)サーバーが、作業の途中であなたに追加入力を求められるようになりました。これまでは MCP 側から対話的に情報を求める手段がありませんでしたが、今後はフォーム入力欄やブラウザで開く URL を使ったダイアログを表示できます。認証情報や設定値などを処理の流れの中で受け取りたい MCP サーバーを使う人に関係します。
  • 応答が返される前に傍受・上書きする、新しい ElicitationElicitationResult フックを追加しました。

    hooksmcp

    詳しく
    上記の elicitation(MCP からの入力要求)に対して動作する ElicitationElicitationResult という 2 つのフックが追加されました。フックを使うと、要求が来たタイミングや応答が MCP サーバーへ返される前に処理に割り込み、内容を上書きできます。MCP の入力要求を自動応答させたり監査したりしたい上級ユーザー向けの機能です。
  • 起動時にセッションの表示名を設定する -n / --name <name> CLI フラグを追加しました。

    cliagents

    詳しく
    起動時にセッションの表示名を付けられる -n / --name <name> フラグが追加されました。これまではセッションに任意の名前を付ける手段がありませんでしたが、claude -n マイ作業 のように指定できます。複数のセッションを並行して動かし、後から見分けたい人に便利です。
  • 大きなモノレポでの claude --worktree 向けに、git の sparse-checkout で必要なディレクトリだけをチェックアウトする worktree.sparsePaths 設定を追加しました。

    worktreeconfig

    詳しく
    巨大なモノレポで claude --worktree を使う際に、必要なディレクトリだけをチェックアウトできる worktree.sparsePaths 設定が追加されました。git の sparse-checkout(リポジトリの一部だけを取り出す機能)を利用するため、全ファイルを展開せずに済みます。大規模リポジトリで worktree の作成が重い、ディスクや時間を節約したいという人に効きます。
  • コンパクト化の完了後に発火する PostCompact フックを追加しました。

    hookscontext

    詳しく
    コンパクト化(会話履歴が長くなった際に内容を要約して圧縮する処理)が完了した後に発火する PostCompact フックが追加されました。これまではコンパクト化の前に動くフックはありましたが、完了後に処理を差し込む手段がありませんでした。圧縮後に独自のコンテキストを再注入したり、ログを残したりしたい人が活用できます。
  • モデルの努力レベルを設定する /effort スラッシュコマンドを追加しました。

    modelscommands

    詳しく
    モデルの「努力レベル(effort level)」を切り替える /effort スラッシュコマンドが追加されました。これにより、応答にどれだけ計算リソースを費やすかをセッション中に対話的に調整できます。タスクの難易度に応じて、速さ重視と精度重視を使い分けたい人に役立ちます。
  • セッション品質アンケートを追加しました。エンタープライズの管理者は feedbackSurveyRate 設定でサンプリング率を設定できます。

    enterprisefeedbackconfig

    詳しく
    セッションの品質を尋ねるアンケート機能が追加されました。エンタープライズ環境の管理者は feedbackSurveyRate 設定で、どの程度の割合のセッションでアンケートを表示するか(サンプリング率)を調整できます。組織での利用状況や満足度を把握したい管理者向けの機能です。
改善 Improvement 7
  • git の ref を直接読み、リモートブランチがローカルで既に利用可能なときに冗長な git fetch をスキップすることで、--worktree の起動性能を改善しました。

    worktreeperformance

    詳しく
    --worktree の起動速度を改善しました。git の ref(ブランチやタグの参照情報)を直接読み取り、リモートブランチが既にローカルに存在する場合は不要な git fetch を省くようになっています。worktree をよく作る人にとって、起動の待ち時間が短くなります。
  • バックグラウンドエージェントの挙動を改善: バックグラウンドエージェントを終了すると、その部分的な結果が会話コンテキストに保持されるようになりました。

    agentscontext

    詳しく
    バックグラウンドエージェント(裏で並行して動くエージェント)の挙動を改善しました。以前はバックグラウンドエージェントを途中で終了すると成果が失われていましたが、今は終了時点までの部分的な結果が会話コンテキストに残ります。途中で打ち切ったエージェントの途中経過を活かしたい人に便利です。
  • モデルフォールバックの通知を改善: verbose モードに隠れず常に表示され、人にやさしいモデル名を使うようになりました。

    modelsui

    詳しく
    別のモデルへ自動的に切り替わる「モデルフォールバック」の通知を改善しました。以前は verbose(詳細表示)モードでしか見えませんでしたが、今後は常に表示され、内部的な識別子ではなく分かりやすいモデル名で示されます。どのモデルで応答しているかを把握したい人に役立ちます。
  • ダークテーマでの引用の読みやすさを改善: テキストが薄暗くではなく、左のバー付きの斜体になりました。

    ui

    詳しく
    ダークテーマのターミナルでの引用(blockquote)の見やすさを改善しました。以前は文字を薄暗く表示していて読みにくかったところを、左側にバーを付けた斜体表示に変更しています。暗い配色のターミナルを使う人にとって、引用部分が読みやすくなります。
  • 古い worktree のクリーンアップを改善: 中断された並列実行の後に残った worktree が自動的にクリーンアップされるようになりました。

    agentsworktree

    詳しく
    古い worktree のクリーンアップを改善しました。並列実行が途中で中断された際に取り残された worktree が、今後は自動的に削除されます。以前は手動で片付ける必要がありましたが、不要な worktree がたまりにくくなります。並列実行を多用する人に役立ちます。
  • リモートコントロールのセッションタイトルを改善: 「Interactive session」ではなく最初のプロンプトから生成されるようになりました。

    agents

    詳しく
    リモートコントロールのセッションタイトルを改善しました。これまでは一律に「Interactive session」と表示されていましたが、今後は最初に送ったプロンプトの内容からタイトルが生成されます。複数のリモートセッションを一覧で見分けやすくなります。
  • /voice を改善し、有効化時にディクテーション言語を表示し、language 設定が音声入力に対応していないときに警告するようにしました。

    voice

    詳しく
    /voice を改善し、有効化したときに現在のディクテーション(音声入力)言語を表示するようにしました。さらに、language 設定が音声入力に対応していない場合は警告を出します。音声入力を使う人が、想定どおりの言語で認識されるかを事前に確認できます。
修正 Fix 20
  • 遅延ツール(ToolSearch で読み込み)が会話のコンパクト化後に入力スキーマを失い、配列や数値のパラメータが型エラーで拒否される問題を修正。

    toolscontext

    詳しく
    ToolSearch 経由で後から読み込む遅延ツール(deferred tools)が、会話のコンパクト化後に入力スキーマ(引数の型定義)を失っていた不具合を修正しました。これが原因で、配列や数値を渡すパラメータが型エラーで拒否されることがありましたが、解消されています。長い会話の中で遅延ツールを使う人にとって、圧縮後もツールが正しく呼べるようになります。
  • スラッシュコマンドが「Unknown skill」と表示する問題を修正。

    skillscommands

    詳しく
    スラッシュコマンドを実行した際に誤って「Unknown skill」と表示される不具合を修正しました。以前は正しく存在するコマンドでもこのエラーが出ることがありましたが、正常に実行されるようになります。スラッシュコマンドやスキルを多用する人に影響します。
  • プランが既に承認された後に、プランモードが再承認を求める問題を修正。

    permissions

    詳しく
    プランモード(実行前に計画を提示して承認を求めるモード)で、一度承認したプランに対して再度承認を求めてくる不具合を修正しました。以前は承認後に余計な確認が出ることがありましたが、二重に聞かれなくなります。プランモードを使って作業を進める人の手間が減ります。
  • 権限ダイアログやプランエディタが開いている間、音声モードがキー入力を飲み込む問題を修正。

    voiceui

    詳しく
    音声モードが有効なとき、権限ダイアログやプランエディタが開いている間にキー入力が飲み込まれて効かなくなる不具合を修正しました。以前はこれらの画面でキー操作ができなくなることがありましたが、正しく反応するようになります。音声モードを併用しながら承認やプラン編集を行う人に関係します。
  • npm 経由でインストールしたとき、Windows で /voice が動作しない問題を修正。

    voicewindows

    詳しく
    npm 経由でインストールした環境の Windows で /voice(音声入力機能)が動作しない不具合を修正しました。以前は npm インストール時に Windows で音声が使えませんでしたが、利用できるようになります。Windows ユーザーで npm からインストールしている人に該当します。
  • 1M コンテキストのセッションで model: フロントマターを持つスキルを呼び出したときの、誤った「Context limit reached」を修正。

    skillscontext

    詳しく
    100 万トークンのコンテキストを持つセッションで、model: フロントマター(スキル定義の冒頭でモデルを指定する記述)付きのスキルを呼び出すと、実際には余裕があるのに「Context limit reached」と誤表示される不具合を修正しました。以前は不要なエラーでスキルが止まることがありましたが、解消されています。1M コンテキストでモデル指定スキルを使う人に影響します。
  • 非標準のモデル文字列を使うときの「adaptive thinking is not supported on this model」エラーを修正。

    models

    詳しく
    標準でないモデル名の文字列を指定したときに「adaptive thinking is not supported on this model」というエラーが出る不具合を修正しました。以前はカスタムのモデル指定でこのエラーに当たることがありましたが、正しく動作するようになります。独自のモデル文字列やプロキシ経由のモデルを使う人に関係します。
  • 引用符付きの引数に # が含まれるとき、Bash(cmd:*) の権限ルールがマッチしない問題を修正。

    permissionsbash

    詳しく
    Bash(cmd:*) 形式の権限ルールが、引用符で囲まれた引数に # を含むコマンドに対してマッチしない不具合を修正しました。以前は # を含むコマンドが許可ルールに合致せず、毎回確認を求められることがありましたが、正しくマッチするようになります。Bash の権限ルールを細かく設定している人に効きます。
  • Bash の権限ダイアログの「don't ask again」が、パイプや複合コマンドに対して生のコマンド全体を表示する問題を修正。

    permissionsbashui

    詳しく
    Bash の権限ダイアログにある「don't ask again(次回から確認しない)」が、パイプや複合コマンドの場合に生のコマンド全体をそのまま表示していた不具合を修正しました。以前はコマンド全体が許可対象として登録され、想定より狭い範囲しか許可されないことがありましたが、適切に扱われるようになります。複雑なシェルコマンドを許可登録する人に関係します。
  • 連続失敗の後に自動コンパクトが無期限に再試行する問題を修正。サーキットブレーカーが 3 回の試行で停止するようになりました。

    context

    詳しく
    自動コンパクト化(会話履歴の自動圧縮)が連続して失敗したときに、無期限に再試行し続けてしまう不具合を修正しました。新たにサーキットブレーカー(連続失敗を検知して処理を止める仕組み)が導入され、3 回試みても失敗した場合は再試行を停止します。圧縮に失敗してセッションが固まる事態を避けられます。
  • 再接続に成功した後も MCP の再接続スピナーが残る問題を修正。

    mcpui

    詳しく
    MCP サーバーへの再接続が成功した後も、再接続中を示すスピナー(回転表示)が消えずに残り続ける不具合を修正しました。以前は接続済みなのにまだ接続中のように見えることがありましたが、成功後はスピナーが消えるようになります。MCP サーバーを利用する人の表示が正確になります。
  • マーケットプレイスの整合より前に LSP マネージャーが初期化されると、LSP プラグインがサーバーを登録しない問題を修正。

    pluginside

    詳しく
    LSP プラグイン(コード補完や診断を提供する言語サーバーのプラグイン)が、LSP マネージャーの初期化がマーケットプレイスの整合処理より先に走ったときにサーバーを登録できない不具合を修正しました。以前は初期化の順序によって LSP が有効にならないことがありましたが、確実に登録されるようになります。LSP プラグインを使う人に関係します。
  • SSH 越しの tmux でのクリップボードコピーを修正。ターミナルへの直接書き込みと tmux のクリップボード統合の両方を試みるようになりました。

    ui

    詳しく
    SSH 越しに tmux を使っている環境でのクリップボードコピーが効かない問題を修正しました。今後はターミナルへの直接書き込みと tmux のクリップボード連携の両方を試みるため、コピーが成功しやすくなります。リモートサーバー上で tmux を使って作業する人に役立ちます。
  • /export の成功メッセージが、ファイルパス全体ではなくファイル名のみを表示する問題を修正。

    ui

    詳しく
    /export でエクスポートが完了したときの成功メッセージが、ファイル名だけを表示してフルパスを示していなかった不具合を修正しました。今後は保存先のファイルパス全体が表示され、出力先がすぐ分かります。会話のエクスポートをよく使う人にとって、ファイルの場所を探す手間が減ります。
  • テキストを選択した後、トランスクリプトが新しいメッセージへ自動スクロールしない問題を修正。

    ui

    詳しく
    画面上でテキストを選択した後、トランスクリプト(会話の表示)が新しいメッセージへ自動でスクロールしなくなる不具合を修正しました。以前は文字を選択すると追従が止まり、手動でスクロールする必要がありましたが、解消されています。出力をコピーしながら会話を続ける人に影響します。
  • ログイン方法の選択画面を抜けるのに Escape キーが効かない問題を修正。

    authui

    詳しく
    ログイン方法を選ぶ画面で Escape キーを押しても画面を抜けられない不具合を修正しました。以前はこの選択画面でキャンセルできず操作に詰まることがありましたが、Escape で離脱できるようになります。ログイン方法を選び直したい人に関係します。
  • リモートコントロールの複数の問題を修正: サーバーがアイドル環境を回収するとセッションが無言で停止する、連続メッセージがバッチ化されず 1 件ずつキューに入る、JWT 更新後に古い作業項目が再配信される。

    agents

    詳しく
    リモートコントロール(離れた場所からセッションを操作する機能)の複数の不具合をまとめて修正しました。サーバーがアイドル状態の環境を回収した際にセッションが無言で停止する問題、連続して送ったメッセージがまとめて処理されず 1 件ずつキューに入る問題、JWT(認証トークン)の更新後に古い作業項目が再配信される問題が解消されています。リモートコントロールを使う人の安定性が向上します。
  • 長時間の WebSocket 切断後にブリッジセッションが復旧しない問題を修正。

    agentsnetwork

    詳しく
    ブリッジセッションが、WebSocket 接続が長時間切れた後に復旧できない不具合を修正しました。以前は接続が長く途切れるとセッションが復帰せず手動で再開する必要がありましたが、自動的に復旧できるようになります。ネットワークが不安定な環境でリモート接続を使う人に効きます。
  • ソフトに隠されたコマンドの正確な名前を入力すると、スラッシュコマンドが見つからない問題を修正。

    commandsskills

    詳しく
    通常は一覧に出ない「ソフトに隠された」スラッシュコマンドについて、その正確な名前を入力しても見つからない不具合を修正しました。以前は隠しコマンドを名前指定で呼び出せませんでしたが、正しく実行できるようになります。候補に表示されないコマンドを名前で直接使う人に関係します。
  • [VSCode] カンマを含む gitignore のパターンが、@ メンションのファイルピッカーからファイルタイプ全体を無言で除外する問題を修正。

    ideui

    詳しく
    [VSCode] gitignore にカンマを含むパターンがあると、@ メンションのファイルピッカーから特定のファイルタイプ全体が無言で除外される不具合を修正しました。以前はカンマ入りのパターンの解釈を誤り、対象外のファイルまで一覧に出なくなることがありましたが、正しく扱われるようになります。VSCode 拡張で @ メンションによるファイル指定を使う人に影響します。
原文 Markdown を表示
## 2.1.76

- Added MCP elicitation support — MCP servers can now request structured input mid-task via an interactive dialog (form fields or browser URL)
- Added new `Elicitation` and `ElicitationResult` hooks to intercept and override responses before they're sent back
- Added `-n` / `--name <name>` CLI flag to set a display name for the session at startup
- Added `worktree.sparsePaths` setting for `claude --worktree` in large monorepos to check out only the directories you need via git sparse-checkout
- Added `PostCompact` hook that fires after compaction completes
- Added `/effort` slash command to set model effort level
- Added session quality survey — enterprise admins can configure the sample rate via the `feedbackSurveyRate` setting
- Fixed deferred tools (loaded via `ToolSearch`) losing their input schemas after conversation compaction, causing array and number parameters to be rejected with type errors
- Fixed slash commands showing "Unknown skill"
- Fixed plan mode asking for re-approval after the plan was already accepted
- Fixed voice mode swallowing keypresses while a permission dialog or plan editor was open
- Fixed `/voice` not working on Windows when installed via npm
- Fixed spurious "Context limit reached" when invoking a skill with `model:` frontmatter on a 1M-context session
- Fixed "adaptive thinking is not supported on this model" error when using non-standard model strings
- Fixed `Bash(cmd:*)` permission rules not matching when a quoted argument contains `#`
- Fixed "don't ask again" in the Bash permission dialog showing the full raw command for pipes and compound commands
- Fixed auto-compaction retrying indefinitely after consecutive failures — a circuit breaker now stops after 3 attempts
- Fixed MCP reconnect spinner persisting after successful reconnection
- Fixed LSP plugins not registering servers when the LSP Manager initialized before marketplaces were reconciled
- Fixed clipboard copying in tmux over SSH — now attempts both direct terminal write and tmux clipboard integration
- Fixed `/export` showing only the filename instead of the full file path in the success message
- Fixed transcript not auto-scrolling to new messages after selecting text
- Fixed Escape key not working to exit the login method selection screen
- Fixed several Remote Control issues: sessions silently dying when the server reaps an idle environment, rapid messages being queued one-at-a-time instead of batched, and stale work items causing redelivery after JWT refresh
- Fixed bridge sessions failing to recover after extended WebSocket disconnects
- Fixed slash commands not found when typing the exact name of a soft-hidden command
- Improved `--worktree` startup performance by reading git refs directly and skipping redundant `git fetch` when the remote branch is already available locally
- Improved background agent behavior — killing a background agent now preserves its partial results in the conversation context
- Improved model fallback notifications — now always visible instead of hidden behind verbose mode, with human-friendly model names
- Improved blockquote readability on dark terminal themes — text is now italic with a left bar instead of dim
- Improved stale worktree cleanup — worktrees left behind after an interrupted parallel run are now automatically cleaned up
- Improved Remote Control session titles — now derived from your first prompt instead of showing "Interactive session"
- Improved `/voice` to show your dictation language on enable and warn when your `language` setting isn't supported for voice input
- Updated `--plugin-dir` to only accept one path to support subcommands — use repeated `--plugin-dir` for multiple directories
- [VSCode] Fixed gitignore patterns containing commas silently excluding entire filetypes from the @-mention file picker