一覧へ戻る v2.1.152

バックナンバー · BACK ISSUE

v2.1.152

7 新機能 10 改善 16 修正 · 33 件の変更

スキル/フックの拡張性を強化(disallowed-tools/reload-skillsMessageDisplay フック)。/code-review --fix が修正を適用するようになり、描画・プラグイン・MCP の修正も多数。

新機能 Feature 7
  • スキルとスラッシュコマンドが frontmatter で disallowed-tools を指定でき、スキル有効中にモデルからツールを除外できるようになりました。

    skills

    詳しく
    スキルやスラッシュコマンドの定義ファイル冒頭(frontmatter)に disallowed-tools を書けるようになりました。これを指定すると、そのスキルが有効な間だけ特定のツールをモデルから使えなくできます。意図しないツール実行を防ぎたい場面で、スキル単位の安全制御として役立ちます。
  • セッションを再起動せずスキルディレクトリを再スキャンする /reload-skills コマンドを追加。

    skills

    詳しく
    スキルを置いているディレクトリを再スキャンする /reload-skills コマンドが追加されました。これまでスキルを追加・編集した際はセッションを再起動して読み直す必要がありましたが、今はセッションを続けたまま反映できます。スキルを自作・調整しながら試す人の手間が減ります。
  • SessionStart フックが reloadSkills: true を返してスキルディレクトリを再スキャンでき、フックで導入したスキルを同一セッションで利用可能に。

    hooksskills

    詳しく
    セッション開始時に実行されるフック(SessionStart)が、戻り値に reloadSkills: true を含められるようになりました。これによりフックの中でスキルを導入した場合でも、再起動せずに同じセッション内でそのスキルを使えます。起動時にスキルを自動セットアップするような仕組みを作りたい人に便利です。
  • SessionStart フックが、起動・再開時に hookSpecificOutput.sessionTitle でセッションタイトルを設定できるようになりました。

    hooks

    詳しく
    SessionStart フックが、出力の hookSpecificOutput.sessionTitle を使ってセッションのタイトルを設定できるようになりました。起動時だけでなく再開(resume)時にも適用されます。プロジェクト名や用途に応じてセッション名を自動で付けたい場合に活用できます。
  • アシスタントのメッセージ表示時にテキストを変換・非表示にできる MessageDisplay フックイベントを追加。

    hooks

    詳しく
    アシスタントのメッセージが画面に表示される際に介入できる、新しいフックイベント MessageDisplay が追加されました。フックでメッセージのテキストを書き換えたり、表示そのものを隠したりできます。出力の整形やフィルタリングを自動化したいユーザー向けの機能です。
  • 管理設定 pluginSuggestionMarketplaces を追加。管理者が、文脈ヒントで提案され得る組織マーケットプレイスを許可リスト化できます。

    plugins

    詳しく
    管理者が制御できる設定 pluginSuggestionMarketplaces が追加されました。Claude Code は状況に応じたヒントとしてプラグインを提案することがありますが、この設定で「提案対象として許可する組織のマーケットプレイス」を指定(許可リスト化)できます。組織で利用するプラグインの提案範囲を管理したい管理者向けの設定です。
  • Vim モード: NORMAL モードの / が逆方向の履歴検索(Ctrl+R 相当)を開くようになり、bash/zsh の vi モードと一致。

    vim

    詳しく
    Vim モードを有効にしている場合、NORMAL モードで / を押すと過去の入力をさかのぼって検索する逆方向の履歴検索(Ctrl+R 相当)が開くようになりました。これは bash や zsh の vi モードと同じ挙動です。普段からシェルの vi モードに慣れている人が、より自然に操作できます。
改善 Improvement 10
  • /code-review --fix がレビュー後に指摘を作業ツリーへ適用し、再利用・簡素化・効率の提案を提示するようになりました。/simplify/code-review --fix を呼び出します。

    code-review

    詳しく
    コードレビューコマンドで --fix を付けると、レビュー結果を指摘するだけでなく、その修正を実際の作業ツリー(編集中のファイル)へ自動で適用するようになりました。指摘内容はコードの再利用・簡素化・効率の観点が中心です。また /simplify は内部で /code-review --fix を呼び出す形になり、レビューを使ったコード整理がより手軽になります。
  • claude plugin marketplace remove--scope user|project|local を受け付けるようになり、marketplace addinstalluninstall と対称になりました。

    plugins

    詳しく
    プラグインのマーケットプレイスを削除する claude plugin marketplace remove--scope user|project|local を指定できるようになりました。これにより、どの範囲(ユーザー全体・プロジェクト・ローカル)から削除するかを選べます。すでに marketplace addinstalluninstall にあった指定方法と揃い、操作の一貫性が増しました。
  • 主モデルが見つからない場合、各リクエストを失敗させる代わりに、設定済みの --fallback-model にセッション内で切り替えるようになりました。

    models

    詳しく
    指定した主モデルが見つからない場合の挙動が改善されました。以前は毎回のリクエストがエラーになっていましたが、今は設定済みの --fallback-model(代替モデル)へそのセッションの間切り替えて動作を続けます。モデル名の指定ミスや一時的な利用不可があっても作業を止めずに済みます。
  • auto モードがオプトインの同意を不要にしました。

    permissions

    詳しく
    auto モードを使う際に、これまで必要だった事前の同意(オプトイン)が不要になりました。今後は同意確認なしで auto モードを利用できます。利用開始までの手順が簡略化されています。
  • /usage の内訳に大きなセッションファイルが含まれるようになり、ストリーミング読み込みでメモリ使用量を一定に保ちます。

    usage

    詳しく
    使用状況を表示する /usage の内訳に、サイズの大きいセッションファイルも含まれるようになりました。これらのファイルは一度に全部読み込まず、少しずつ読む(ストリーミング)方式でスキャンされるため、メモリ使用量が増えずに一定に保たれます。大きなセッションを扱うユーザーでも、より正確な内訳を負荷を抑えつつ確認できます。
  • 折りたたみグループの thinking 要約が最低3秒は読める状態を保ち、マークダウン描画され、10行に制限されます(Ctrl+O で全文表示)。

    ui

    詳しく
    折りたたまれた状態で表示される thinking(モデルの思考過程)の要約が読みやすく改善されました。最低3秒は表示が残るようになり、マークダウンとして整形され、長さは10行までに制限されます。全文を見たいときは Ctrl+O で展開できます。要約が一瞬で消えて読めなかった人に嬉しい変更です。
  • フルスクリーンモードで「Thinking for Ns」表示が思考中にライブで加算され、思考途中で中断しても値を保持します。

    ui

    詳しく
    フルスクリーンモードで表示される「Thinking for Ns」(思考にかかった秒数)が、モデルの思考中にリアルタイムで増え続けるようになりました。また思考の途中で中断した場合も、その時点の値が保持されて消えません。どれだけ思考に時間がかかっているかを把握しやすくなります。
  • ワークフローツールのインライン進捗表示を簡素化。ライブのエージェント数はプロンプト下の常設ワークフローステータス行にのみ表示されます。

    workflows

    詳しく
    ワークフローツールの進捗表示が整理されました。実行中のエージェント数のようなライブの情報は、これまで複数箇所に出ていましたが、今後はプロンプトの下に常に表示されるワークフローのステータス行だけに集約されます。表示がすっきりして状況を追いやすくなります。
  • 応答後タイマーが、バックグラウンドのエージェント/ワークフロー実行中に「N 件の完了待ち」を表示し、結果処理後に累計時間を報告するようになりました。

    background

    詳しく
    応答が終わった後に出るタイマーの表示が改善されました。バックグラウンドで動かしているエージェントやワークフローがまだ実行中のときは「Waiting for N background agents/workflows to finish」(N 件の完了待ち)と表示し、それらの結果が処理され終わると合計の所要時間を報告します。裏で並行作業をさせている人が、待ち状況とかかった時間を把握しやすくなります。
  • セッションのエントリポイントを OpenTelemetry メトリクス属性 app.entrypoint として追加(OTEL_METRICS_INCLUDE_ENTRYPOINT=true でオプトイン)。

    telemetry

    詳しく
    セッションがどこから起動されたか(エントリポイント)を、計測データの属性 app.entrypoint として OpenTelemetry のメトリクスに含められるようになりました。OpenTelemetry は監視・計測データを収集する仕組みです。この属性は既定では付かず、環境変数 OTEL_METRICS_INCLUDE_ENTRYPOINT=true を設定したときだけ有効になります。利用状況を起動経路ごとに分析したい運用者向けの機能です。
修正 Fix 16
  • レンダラのスタイルプールを再利用し、非常に長いセッションでターミナルのスタイルが劣化する問題を修正。

    uiperformance

    詳しく
    非常に長いセッションを続けるとターミナルの文字色や装飾が崩れていく問題が修正されました。描画処理が内部で持つスタイルの管理領域(スタイルプール)を使い回すように改善したことが原因への対処です。長時間 Claude Code を使い続けるユーザーで表示が乱れにくくなります。
  • 簡易起動モードでサンドボックス有効の警告が出ない問題を修正し、全レイアウトで表示されるようになりました。

    sandbox

    詳しく
    サンドボックスが有効であることを知らせる警告が、簡易表示の起動モードでは出ていなかった問題が修正されました。今はどの表示レイアウトでもこの警告が表示されます。サンドボックスの有効状態を見落とさずに済むようになります。
  • ツール実行中にローディングスピナーが「still thinking/almost done thinking」と出る問題を修正し、各ツール後に thinking 状態を「thinking」へリセット。

    ui

    詳しく
    ツールの実行中に、読み込み中のスピナーが実際の状態と合わない「still thinking」「almost done thinking」を表示してしまう問題が修正されました。あわせて、各ツールの実行後には思考状態の表示を「thinking」に戻すようにしました。表示が実際の処理状況と一致し、誤解しにくくなります。
  • 非表示の活動がないターンでフォーカスモードが誤って「N messages hidden」と表示する問題を修正。

    ui

    詳しく
    フォーカスモードで、実際には隠れている活動が何もないターンなのに「N messages hidden」(N 件のメッセージが非表示)と誤って表示される問題が修正されました。今後はそのような誤表示が出なくなります。フォーカスモードを使う人が、表示を正しく信頼できるようになります。
  • 展開したツール結果内のリンクをクリックすると、リンクを開かずセクションが折りたたまれる問題を修正。

    ui

    詳しく
    展開したツール結果の中にあるリンクをクリックすると、リンクが開かずにそのセクションが折りたたまれてしまう問題が修正されました。今はリンクをクリックすると正しくリンクが開きます。ツール結果内のリンクをたどりたいときの操作ミスがなくなります。
  • マークダウン表のセル枠線がインラインコードの色を継承する、折り返し継続行のスタイルが失われる、狭ターミナルの積み重ねレイアウトで空ヘッダセルにラベルが出る問題を修正。

    ui

    詳しく
    マークダウンの表の描画に関する複数の不具合が修正されました。具体的には、セルの枠線がインラインコードの色を引き継いでしまう問題、折り返した行(継続行)のスタイルが失われる問題、狭いターミナルで表を縦に積む表示にしたときに空のヘッダセルに余計なラベルが出る問題です。表を含む出力がより正しく見えるようになります。
  • コマンドが同じで環境変数が異なるプラグイン MCP サーバが誤って重複排除される問題を修正。

    mcpplugins

    詳しく
    プラグインが提供する MCP サーバについて、起動コマンドは同じだが環境変数が異なる場合に、別物なのに同一と見なされて重複排除されてしまう問題が修正されました。MCP は外部ツールやデータ源と連携するための仕組みです。今は環境変数の違いも区別され、設定どおりに複数のサーバが起動します。
  • 削除済みマーケットプレイスや廃止プラグインを参照する古い enabledPlugins 項目に対し /doctor が「marketplace not found」「plugin not found」と報告する問題を修正。

    plugins

    詳しく
    診断コマンド /doctor が、すでに削除されたマーケットプレイスや廃止されたプラグインを指す古い enabledPlugins の項目に対して「marketplace not found」「plugin not found」と誤って報告する問題が修正されました。今はそうした不要なエラー報告が出なくなります。プラグインを整理した後でも /doctor の結果を正しく読めるようになります。
  • プラグインレジストリ再構築後、git ブランチを追跡するプラグインが黙って更新を受け取らなくなる問題を修正。

    plugins

    詳しく
    git のブランチを追跡する形で導入したプラグインが、内部のプラグインレジストリ(プラグイン一覧の管理データ)が再構築された後、何の通知もなく更新を受け取らなくなる問題が修正されました。今は再構築後も更新が正しく届きます。ブランチ追跡型のプラグインを使っている人が、最新の状態を取りこぼさずに済みます。
  • 送信プロキシ有効時に Claude Code Remote セッションでリモート MCP サーバが接続失敗する問題を修正。

    mcp

    詳しく
    送信(egress)プロキシが有効な環境の Claude Code Remote セッションで、リモートの MCP サーバへの接続が失敗する問題が修正されました。今はプロキシ有効時でも正しく接続できます。プロキシ経由でリモート接続している環境で MCP を使うユーザーに影響する修正です。
  • 会話にメッセージがないとき、または同じ実効値になる effort レベル間の切り替え時に、effort 変更確認ダイアログが出る問題を修正。

    ui

    詳しく
    effort(処理にかける労力のレベル)を変更する際の確認ダイアログが、不要な場面で出ていた問題が修正されました。具体的には、会話にメッセージが1件もないときや、見た目は違っても実際には同じ値になる effort レベルへ切り替えたときです。これらの場合は確認ダイアログが出なくなり、無駄な操作が減ります。
  • --bare 実行時や添付無効時に配信されないエージェント一覧を Agent ツールの説明が参照する問題を修正。

    agents

    詳しく
    Agent ツールの説明文が、--bare で実行したときや添付(attachments)を無効にしているときには配信されないエージェント一覧を参照してしまう問題が修正されました。これらのモードでは一覧が存在しないため、説明文との不整合が起きていました。該当の実行モードでエージェントを使う際の混乱がなくなります。
  • サブエージェントのキャンセル後に古い許可プロンプトを承認すると claude agents のバックグラウンドワーカーがクラッシュする問題を修正。

    agentsbackground

    詳しく
    claude agents で、サブエージェントをキャンセルした後に古い(もう有効でない)許可プロンプトを承認すると、バックグラウンドのワーカーがクラッシュする問題が修正されました。今は同じ操作をしてもクラッシュしなくなります。サブエージェントを途中で止めることがあるユーザーの安定性が向上します。
  • API がキャッシュ書き込みをネストした cache_creation 内訳でのみ報告する場合に、トランスクリプトと結果の使用量で cache_creation_input_tokens が 0 になる問題を修正。

    telemetry

    詳しく
    API がキャッシュ書き込みの情報を、入れ子になった cache_creation の内訳としてのみ返すケースで、トランスクリプトや結果の使用量に出る cache_creation_input_tokens が 0 と表示されてしまう問題が修正されました。今は正しいトークン数が反映されます。キャッシュ関連の利用量を正確に集計したい人に関係する修正です。
  • リモートコントロール有効の SDK ホストセッションで、PushNotification ツールが誤って「Mobile push not sent (Remote Control inactive)」と報告する問題を修正。

    remote-control

    詳しく
    リモートコントロールが有効になっている SDK ホスト型のセッションで、PushNotification ツールが実際には送れる状態なのに「Mobile push not sent (Remote Control inactive)」と誤って報告する問題が修正されました。今は正しく通知が送られ、誤ったメッセージも出なくなります。SDK 経由でリモートコントロールとモバイル通知を使う構成のユーザー向けの修正です。
  • モデルやログインの切り替えで履歴に古い thinking ブロック署名が残りセッションが固まる問題を修正。先回りで除去し、リトライの安全網も追加。

    models

    詳しく
    モデルやログインを切り替えた際に、会話履歴へ古い thinking ブロックの署名(整合性確認用のデータ)が残り、セッションが固まって進まなくなる問題が修正されました。今はその古い署名を事前に取り除き、さらに失敗した場合に備えてリトライの安全網も用意しています。モデルやアカウントを切り替えながら作業する人がフリーズに悩まされにくくなります。
原文 Markdown を表示
## 2.1.152
- `/code-review --fix` now applies review findings to your working tree after the review, surfacing reuse, simplification, and efficiency suggestions; `/simplify` now invokes `/code-review --fix`
- Skills and slash commands can now set `disallowed-tools` in frontmatter to remove tools from the model while the skill is active
- Added `/reload-skills` command to re-scan skill directories without restarting the session
- `SessionStart` hooks can now return `reloadSkills: true` to re-scan skill directories, making skills installed by the hook available in the same session
- `SessionStart` hooks can now set the session title via `hookSpecificOutput.sessionTitle` on startup and resume
- Added a `MessageDisplay` hook event that lets hooks transform or hide assistant message text as it is displayed
- Added `pluginSuggestionMarketplaces` managed setting: admins can allowlist org marketplaces whose plugins may be suggested via context-aware tips
- `claude plugin marketplace remove` now accepts `--scope user|project|local` for symmetry with `marketplace add`, `install`, and `uninstall`
- Claude Code now switches to your configured `--fallback-model` for the rest of the session when the primary model is not found, instead of failing every request
- Auto mode no longer requires opt-in consent
- Vim mode: `/` in NORMAL mode now opens reverse history search (like Ctrl+R), matching bash/zsh vi-mode
- The `/usage` breakdown now includes large session files; files are scanned with a streaming read so memory usage stays flat
- Thinking summaries in the collapsed group now stay readable for at least 3 seconds, render as markdown, and cap at 10 lines (`Ctrl+O` shows the full thinking)
- In fullscreen mode, the "Thinking for Ns" indicator now counts up live while the model is thinking, and keeps its value if you interrupt mid-thought
- Simplified the Workflow tool's inline progress display — live agent counts now show only in the persistent workflow status row below the prompt
- The post-response timer now shows "Waiting for N background agents/workflows to finish" when backgrounded agents or workflows are still running, and reports the cumulative time once their results are processed
- Added the session entrypoint as an OpenTelemetry metric attribute (`app.entrypoint`, opt-in via `OTEL_METRICS_INCLUDE_ENTRYPOINT=true`)
- Fixed terminal styling degrading in very long sessions by recycling the renderer's style pool
- Fixed the sandbox-enabled warning not appearing in condensed startup mode — it now shows in every layout
- Fixed the loading spinner showing "still thinking"/"almost done thinking" while a tool is running, and reset the thinking status to "thinking" after each tool
- Fixed focus mode showing a spurious "N messages hidden" count on turns with no hidden activity
- Fixed clicking a link inside an expanded tool result collapsing the section instead of opening the link
- Fixed markdown table cell borders inheriting the color of inline code, wrapped continuation lines losing their style, and empty header cells showing a label in the narrow-terminal stacked layout
- Fixed plugin MCP servers with the same command but different environment variables being incorrectly deduplicated
- Fixed `/doctor` reporting "marketplace not found" or "plugin not found" for stale `enabledPlugins` entries referencing removed marketplaces or dropped plugins
- Fixed plugins that track a git branch silently no longer receiving updates after the plugin registry was rebuilt
- Fixed remote MCP servers failing to connect in Claude Code Remote sessions when the egress proxy is enabled
- Fixed the effort-change confirmation dialog appearing when the conversation has no messages or when switching between effort levels that resolve to the same underlying value
- Fixed the Agent tool description referencing an agent list that is never delivered when running with `--bare` or with attachments disabled
- Fixed a background worker crash in `claude agents` when accepting a stale permission prompt after a subagent was cancelled
- Fixed `cache_creation_input_tokens` reporting as 0 in transcript and result usage when the API reports cache writes only via the nested `cache_creation` breakdown
- Fixed the PushNotification tool incorrectly reporting "Mobile push not sent (Remote Control inactive)" in SDK-hosted sessions when Remote Control is enabled
- Fixed sessions getting stuck after a model or login switch left stale thinking-block signatures in history; now stripped proactively with a retry safety-net