一覧へ戻る v2.1.153

バックナンバー · BACK ISSUE

v2.1.153

破壊的変更
1 破壊的変更 1 新機能 9 改善 25 修正 · 36 件の変更

MCP・インストーラ・バックグラウンドセッションの堅牢化に加え、/model が選択を既定として保存するように。これに伴い modelPicker:setAsDefault キーバインドが改名され、カスタマイズしている場合は手動移行が必要です。

破壊的変更 Breaking 1
  • modelPicker:setAsDefault キーバインドをカスタマイズしている場合は、keybindings.json で modelPicker:thisSessionOnly に改名してください(d アクションは s に置き換えられました)。

    keybindings

    詳しく
    破壊的変更です。前述のモデルピッカーの仕様変更にともない、キーバインドの名前が変わりました。modelPicker:setAsDefault を自分でカスタマイズしていた場合は、keybindings.json でその名前を modelPicker:thisSessionOnly に書き換える手動移行が必要です(操作キーも d から s に変更されています)。カスタマイズしていない人は対応不要ですが、設定していた人は名前を直さないと該当キーバインドが効かなくなります。
新機能 Feature 1
  • github/git プラグインマーケットプレイスソースに、clone/update 時の Git LFS ダウンロードをスキップする skipLfs オプションを追加。

    plugins

    詳しく
    プラグインマーケットプレイスを github/git ソースから取得する際の設定に、Git LFS(大きなファイルを別管理する Git の仕組み)のダウンロードを省略する skipLfs オプションが追加されました。これを有効にすると、clone や update のたびに重い LFS 管理ファイルを取りに行かなくなります。LFS を含む大規模リポジトリをマーケットプレイスとして使っていて、取得を速くしたい人や帯域を節約したい人に役立ちます。
改善 Improvement 9
  • npm グローバルインストールが自動更新できない場合に一度だけ通知を表示するようになり、/doctor に対処法が一覧されます。

    installer

    詳しく
    npm のグローバルインストール環境で自動更新ができない状態のとき、その旨を1回だけ知らせる通知が表示されるようになりました。これまでは自動更新が黙って失敗して古いバージョンのまま気づきにくかったのが、明示的に気づけて、対処方法は /doctor に一覧されます。npm 経由でインストールしていて更新が反映されていない人が、原因と直し方を把握しやすくなります。
  • ステータスラインコマンドに環境変数 COLUMNSLINES が渡され、スクリプトが出力をターミナル幅に合わせられるようになりました。

    statusline

    詳しく
    画面下部のステータスラインを生成する独自コマンドに、端末の桁数・行数を表す環境変数 COLUMNSLINES が渡されるようになりました。スクリプト側でこれらを読めば、ターミナルの幅に合わせて表示を切り詰めたり整形したりできます。ステータスラインをカスタムスクリプトで作っている人が、はみ出しや折り返しを防いだ表示を作りやすくなります。
  • claude agents: ディスパッチ入力の補完が、プロジェクトスキルだけでなくネイティブのスラッシュコマンドや同梱スキルも候補に出すようになりました。

    agents

    詳しく
    claude agents のディスパッチ(タスク投入)入力欄での補完候補が拡張されました。これまではプロジェクト固有のスキルしか候補に出ませんでしたが、組み込みのスラッシュコマンドや同梱スキルも候補に表示されるようになりました。エージェントへ何を実行させるか入力する際、使える機能を見つけやすくなります。
  • claude agents: PR 列が、単一なら PR #N、複数なら N PRs と表示するようになりました。

    agents

    詳しく
    claude agents の一覧画面にある PR 列の表示が分かりやすくなりました。関連する PR が1件なら PR #N のように番号で、複数なら N PRs のように件数で表示されます。各エージェントがどの PR に紐づくか、または何件あるかを一目で把握できます。
  • claude doctor が直近の更新試行の結果を表示するようになりました。

    doctor

    詳しく
    診断コマンド claude doctor が、直近におこなった更新試行の結果も表示するようになりました。これにより、前回の更新が成功したのか失敗したのかをその場で確認できます。更新がうまくいっているか不安な人が、状態を素早く確かめられます。
  • MCP サーバとコネクタの「認証が必要」起動通知を1つのメッセージに統合。

    mcp

    詳しく
    起動時に出る「認証が必要」という通知が、MCP サーバ(外部ツール連携の仕組み)とコネクタで別々に出ていたのを、1つのメッセージにまとめました。以前は対象ごとに通知が分かれて煩雑でしたが、今後はまとめて確認できます。複数の連携で認証待ちが発生したときの起動画面がすっきりします。
  • macOS: バックグラウンドエージェントがプライバシーとセキュリティで「Claude Code」として表示され、アップグレード後も権限が維持されるようになりました。

    macos

    詳しく
    macOS において、バックグラウンドエージェントがシステムの「プライバシーとセキュリティ」設定に「Claude Code」という名前で表示されるようになりました。あわせて、アップグレードしても付与済みの権限が引き継がれるようになっています。これまではアップグレードのたびに権限を付け直す必要があった人が、再許可の手間なく使い続けられます。
  • Claude の応答中に /bg すると、応答を破棄せずバックグラウンドセッションで継続するようになりました。

    background

    詳しく
    Claude が応答している最中に /bg(バックグラウンドへ移す操作)を実行したときの挙動が改善されました。以前は進行中の応答が破棄されていましたが、今後はバックグラウンドセッションに引き継がれてそのまま続行されます。長い応答の途中で作業を裏に回したい人が、結果を失わずに済みます。
  • /model が選択を新規セッションの既定として保存するようになりました(IDE と同様)。ピッカーで s を押すと現在のセッションのみ切り替えます。

    model

    詳しく
    /model でモデルを選ぶと、その選択が新規セッションの既定として保存されるようになりました(IDE での挙動に合わせたものです)。一方で、現在のセッションだけ一時的にモデルを切り替えたい場合は、ピッカーで s を押します。毎回同じモデルを使いたい人は設定が引き継がれて便利になり、その場限りで変えたい人は s を使い分けられます。
修正 Fix 25
  • オプションの GET SSE ストリームを持たないステートフル MCP サーバが tools/list で再接続ループする問題を修正(v2.1.147 のリグレッション)。

    mcp

    詳しく
    状態を保持するタイプの MCP サーバのうち、任意機能である GET の SSE ストリームを持たないものが、tools/list(ツール一覧の取得)で再接続を繰り返してしまう不具合を修正しました。これは v2.1.147 で混入したリグレッション(以前は動いていたのに壊れた退行)です。該当する MCP サーバを使っていて接続が安定しなかった人で解消します。
  • カスタム API ゲートウェイがゲートウェイ自身のトークンではなくユーザーの Anthropic OAuth 認証情報を受け取りうるリグレッションを修正。

    securityapi

    詳しく
    独自の API ゲートウェイ経由で接続する構成で、ゲートウェイ本来のトークンの代わりにユーザーの Anthropic OAuth 認証情報が送られてしまうことがあった退行を修正しました。誤って自分の認証情報がゲートウェイに渡る恐れがあったため、セキュリティ上重要な修正です。カスタムゲートウェイを使う企業や開発者に影響します。
  • サブエージェント(Agent ツール)の frontmatter MCP サーバが --strict-mcp-config--bare・リモートモード・エンタープライズ管理 MCP 設定・管理設定の MCP 許可/拒否ポリシーを無視する問題を修正。

    mcpagents

    詳しく
    サブエージェント(Agent ツール)の定義ファイル冒頭(frontmatter)で指定した MCP サーバが、各種の制御設定を無視してしまう不具合を修正しました。具体的には --strict-mcp-config--bare・リモートモード・エンタープライズ管理の MCP 設定・管理設定の許可/拒否ポリシーが効かず、本来読み込まれないはずの MCP サーバが動いていました。MCP の利用を組織的に制限している管理者にとって、ポリシーが正しく適用される重要な修正です。
  • --strict-mcp-config が明示指定したエージェント定義(--agents / SDK agents)のインライン mcpServers を除去しなくなり、ブロックされたサブエージェント MCP サーバは可視の警告を出すようになりました。

    mcp

    詳しく
    --strict-mcp-config(MCP 設定を厳格に絞り込むオプション)が、--agents や SDK の agents で明示的に渡したエージェント定義に直接書かれた mcpServers まで削除してしまっていたのを修正し、明示指定したものは残るようになりました。あわせて、ポリシーでブロックされたサブエージェントの MCP サーバについては、見える形で警告が出るようになりました。意図的に渡した MCP 設定が消えて困っていた人や、なぜ MCP が動かないか分からなかった人に役立ちます。
  • 実際にはインストール失敗なのに Windows PowerShell インストーラが「Installation complete!」と報告する問題を修正。

    windowsinstaller

    詳しく
    Windows の PowerShell 用インストーラが、実際にはインストールに失敗しているのに「Installation complete!(インストール完了)」と表示してしまう不具合を修正しました。これまでは失敗に気づかず先に進んでしまう恐れがありました。Windows でインストール時にトラブルが起きた際、正しく失敗が分かるようになります。
  • npm インストールで claude update が設定済みリリースチャネルのバージョンではなく最新版をインストールする問題を修正。

    installer

    詳しく
    npm でインストールした環境において、claude update が設定したリリースチャネルのバージョンではなく、常に最新版をインストールしてしまう不具合を修正しました。安定版など特定チャネルに固定していても最新版に上がってしまっていたのが、今後は設定どおりのバージョンが入ります。チャネルを指定してバージョンを管理している人に関係します。
  • 保存セッションが多いマシンでトランスクリプトのファイルパス指定で再開する際、メモリを数GB浪費する問題を修正。

    performance

    詳しく
    保存済みセッションが大量にあるマシンで、トランスクリプト(会話記録)のファイルパスを指定してセッションを再開する際に、数GB ものメモリを無駄に消費してしまう不具合を修正しました。これまでは再開だけでメモリを圧迫していたのが、効率的に処理されるようになります。多数のセッションを蓄積していて再開が重かった人に効果があります。
  • アップグレード後もバイナリ引き継ぎ対応前に起動した古いデーモンで claude agentsclaude --bg が動く問題を修正。

    agents

    詳しく
    claude agentsclaude --bg が、バイナリ引き継ぎ機能の対応前に起動していた古いデーモン(常駐プロセス)の上で動き続けてしまい、アップグレード後も新しい挙動が反映されない不具合を修正しました。今後はアップグレードした版が正しく使われます。バックグラウンド機能を使っていて更新が効いていないように見えた人で解消します。
  • stream-json モードで stdin が EOF なしに閉じられたとき CLI が終了できずハングし、古いセッションマーカーが残る問題を修正。

    cli

    詳しく
    stream-json モードで標準入力(stdin)が EOF(入力終端の合図)なしに閉じられたとき、CLI が終了できずにハングし、古いセッションマーカーが残ってしまう不具合を修正しました。今後はこの状況でも正しく終了します。スクリプトや自動化から stream-json モードで Claude Code を呼び出している人に関係します。
  • Claude の応答内の不正な file:// リンクがターミナルでクリックできない問題を修正。

    ui

    詳しく
    Claude の応答に含まれる、形式が崩れた file:// リンクがターミナル上でクリックできなかった不具合を修正しました。今後はそうしたリンクも正しく扱われ、クリックで開けるようになります。応答からローカルファイルへのリンクをよく使う人にとって便利になります。
  • 92桁未満のターミナルで claude --help の出力が折り返されない問題を修正。

    ui

    詳しく
    幅が92桁未満の狭いターミナルで claude --help を実行すると、出力が折り返されずに崩れてしまう不具合を修正しました。今後は端末の幅に合わせてヘルプが折り返し表示されます。小さめのウィンドウや分割画面でヘルプを見ている人にとって読みやすくなります。
  • 折りたたみツール表示で MCP ツールの進捗通知が描画されない問題を修正。

    mcp

    詳しく
    ツールの表示を折りたたんだ状態のとき、MCP ツールの進捗通知が描画されない不具合を修正しました。これまでは折りたたみ表示だと進み具合が見えませんでしたが、今後は表示されます。時間のかかる MCP ツールを使っていて、進行状況を確認したい人に役立ちます。
  • subagent_type: 'claude'Agent ツールが未文書化の一時 worktree で動き、gitignore 対象パスへの出力が黙って捨てられる問題を修正。

    agentsworktree

    詳しく
    subagent_type: 'claude' を指定した Agent ツールが、文書化されていない一時的な worktree(Git の作業ツリー)の中で動いてしまう不具合を修正しました。この影響で、gitignore で除外されているパスへの出力が黙って捨てられることがありました。サブエージェントに gitignore 対象の場所へファイルを書かせていて、結果が消えていた人で解消します。
  • タスク実行中のバックグラウンドセッションで /btw のキーボードショートカットが無反応になる問題を修正。

    background

    詳しく
    バックグラウンドセッションでタスクの実行中に、/btw のキーボードショートカットが反応しなくなる不具合を修正しました。今後はタスク実行中でも操作できます。裏で動かしているセッションに対して /btw を使う人に関係します。
  • バックグラウンドセッションが $CLAUDE_JOB_DIR に一時ファイルを書く際「機密ファイル」許可プロンプトが出る問題を修正。

    backgroundpermissions

    詳しく
    バックグラウンドセッションが作業用ディレクトリ $CLAUDE_JOB_DIR に一時ファイルを書き込む際、本来不要な「機密ファイル」の許可確認プロンプトが出てしまう不具合を修正しました。今後はこの正規の書き込みでは確認が求められません。バックグラウンド処理を使っていて余計な許可確認に煩わされていた人が快適になります。
  • 作業ディレクトリが削除されたバックグラウンドエージェントの復旧時に、明確なエラーではなく切り詰められたスタックトレースが出る問題を修正。

    background

    詳しく
    作業ディレクトリがすでに削除されているバックグラウンドエージェントを復旧しようとしたとき、原因の分かる明確なエラーではなく、途中で切れたスタックトレースが表示される不具合を修正しました。今後は何が起きたか理解しやすいエラーメッセージが出ます。フォルダを移動・削除した後にバックグラウンドエージェントを復旧しようとする人に役立ちます。
  • バックグラウンドセッションで EnterWorktree がすぐ使えない問題を修正(従来は先に ToolSearch が必要)。

    worktreebackground

    詳しく
    バックグラウンドセッションで EnterWorktree(worktree に入るツール)がすぐに使えない不具合を修正しました。これまでは先に ToolSearch を呼ばないと利用できませんでしたが、今後は最初から使えます。バックグラウンドで worktree を扱う作業をする人の手間が減ります。
  • iTerm2/Terminal.app の cmd+k でアタッチ中のバックグラウンドセッションが再描画されない問題を修正。

    ui

    詳しく
    iTerm2 や Terminal.app で画面クリアの cmd+k を押しても、アタッチ中(接続中)のバックグラウンドセッションが再描画されない不具合を修正しました。今後は cmd+k で正しく画面が描き直されます。macOS の標準的なターミナルでバックグラウンドセッションに接続して使う人に関係します。
  • Windows のアタッチ中バックグラウンドセッションで、IME 候補ウィンドウが入力キャレット横ではなく画面下に出る問題を修正。

    windows

    詳しく
    Windows でアタッチ中のバックグラウンドセッションを使う際、日本語などの IME(文字入力変換)の候補ウィンドウが、入力位置(キャレット)の横ではなく画面下に出てしまう不具合を修正しました。今後はカーソルのそばに候補が表示されます。日本語入力を多用する人にとって変換操作がしやすくなります。
  • 256色のみのターミナルから、ファイル差分を描画済みのバックグラウンドエージェントにアタッチすると背景色がにじむ問題を修正。

    ui

    詳しく
    256色までしか扱えないターミナルから、すでにファイル差分を表示済みのバックグラウンドエージェントにアタッチした際、背景色がにじんで崩れる不具合を修正しました。今後は接続時に表示が正しく整います。色数の少ない環境でバックグラウンドエージェントに接続して差分を確認する人で解消します。
  • tmux 内でバックグラウンドセッションにアタッチ中、/copy と選択コピーがシステムクリップボードを更新できず黙って失敗する問題を修正。

    backgroundtmux

    詳しく
    tmux の中でバックグラウンドセッションにアタッチしているとき、/copy や選択してコピーする操作がシステムのクリップボードを更新できず、エラーも出さずに失敗する不具合を修正しました。今後はこの環境でも正しくコピーできます。tmux でバックグラウンドセッションを使い、内容をコピーしたい人に役立ちます。
  • リモートコントロール有効時に claude agents を開くと、終了後も Code タブにゾンビセッションが残る問題を修正。

    remote-control

    詳しく
    リモートコントロールを有効にした状態で claude agents を開くと、終了後も Code タブに使われていないゾンビセッションの項目が残ってしまう不具合を修正しました。今後は終了時にきちんと片付けられます。リモートコントロールを使いつつ claude agents を利用する人で、一覧が散らからなくなります。
  • バックグラウンドセッションでの /rename がセッションバナーを即座に更新しない問題を修正。

    background

    詳しく
    バックグラウンドセッションで /rename を使って名前を変更しても、画面のセッションバナー(見出し表示)がすぐに更新されない不具合を修正しました。今後は変更が即座に反映されます。バックグラウンドセッションに分かりやすい名前を付けて管理している人に関係します。
  • Windows の更新ロールバックを修正。更新失敗時に元の実行ファイルをコピーで復元し、復旧方法を案内するようになりました。

    windowsinstaller

    詳しく
    Windows でアップデートが失敗した場合のロールバック(元に戻す処理)を修正しました。今後は更新に失敗すると、元の実行ファイルをコピーで復元したうえで、復旧の手順を案内するようになります。これにより、更新失敗で Claude Code が起動できなくなる事態を避けられます。Windows ユーザーにとって更新の安全性が高まります。
  • [VSCode] Windows で VS Code を閉じた際に Claude Code プロセスがきれいに終了せず、誤った「unclean exit」報告や孤立 MCP サーバが生じる問題を修正。

    idewindows

    詳しく
    Windows で VS Code を閉じたときに、Claude Code のプロセスがきれいに終了せず残ってしまう不具合を修正しました(VSCode 拡張向け)。これにより、誤った「unclean exit(異常終了)」の報告や、行き場を失った孤立 MCP サーバが発生していました。今後は VS Code を閉じると関連プロセスが正しく終了します。Windows で VS Code と組み合わせて使っている人に関係します。
原文 Markdown を表示
## 2.1.153
- Added `skipLfs` option to `github`/`git` plugin marketplace sources to skip Git LFS downloads during clone and update
- Claude Code now shows a one-time notice when your npm global install can't auto-update; `/doctor` lists the fixes
- Status line commands now receive `COLUMNS` and `LINES` environment variables so scripts can size output to the terminal width
- `claude agents`: autocomplete in the dispatch input now suggests native slash commands and bundled skills, not just project skills
- `claude agents`: PR column now shows `PR #N` for a single PR or `N PRs` for multiple
- `claude doctor` now shows the result of your last update attempt
- Combined the separate "needs authentication" startup notifications for MCP servers and connectors into a single message
- macOS: background agents now appear as "Claude Code" in Privacy & Security and keep their permission grants across upgrades
- Fixed stateful MCP servers without the optional GET SSE stream reconnect-looping on `tools/list` (regression in v2.1.147)
- Fixed a regression where a custom API gateway could receive the user's Anthropic OAuth credential instead of the gateway's own token
- Fixed subagent (Agent tool) frontmatter MCP servers ignoring `--strict-mcp-config`, `--bare`, remote mode, enterprise managed MCP config, and managed-settings MCP server allow/deny policies
- `--strict-mcp-config` no longer strips inline `mcpServers` from explicitly-passed agent definitions (`--agents` / SDK `agents`), and blocked subagent MCP servers now surface a visible warning
- Fixed the Windows PowerShell installer reporting "Installation complete!" when installation actually failed
- Fixed `claude update` installing the latest version instead of the configured release channel's version for npm installations
- Fixed excessive memory usage (multiple GB) when resuming a session by transcript file path on machines with many stored sessions
- Fixed `claude agents` and `claude --bg` running on a stale daemon started before binary-takeover support, even after upgrading
- Fixed a hang where the CLI could fail to exit when stdin was closed without EOF in stream-json mode, leaving a stale session marker behind
- Fixed malformed `file://` links in Claude's responses not being clickable in the terminal
- Fixed `claude --help` rendering unwrapped output on terminals narrower than 92 columns
- Fixed MCP tool progress notifications not rendering in the collapsed tool view
- Fixed `Agent` tool with `subagent_type: 'claude'` running in an undocumented temporary worktree, which could silently discard outputs written to gitignored paths
- `/bg` while Claude is responding now continues the response in the background session instead of dropping it
- Fixed `/btw` keyboard shortcuts becoming unresponsive in background sessions while a task is running
- Fixed background sessions writing temp files to `$CLAUDE_JOB_DIR` triggering a "sensitive file" permission prompt
- Fixed recovering a background agent whose working directory was deleted showing a truncated stack trace instead of a clear error message
- Fixed `EnterWorktree` not being available immediately in background sessions (previously required `ToolSearch` first)
- Fixed `cmd+k` in iTerm2/Terminal.app not repainting attached background sessions
- Fixed the IME candidate window appearing at the bottom of the screen instead of next to the input caret in attached background sessions on Windows
- Fixed background-color bleed when attaching to a background agent from 256-color-only terminals after the agent had rendered file diffs
- Fixed `/copy` and copy-on-select silently failing to update the system clipboard when attached to a background session inside tmux
- Fixed opening `claude agents` with Remote Control enabled leaving zombie session entries on the Code tab after exiting
- Fixed `/rename` in background sessions not updating the session banner immediately
- Fixed Windows update rollback: if a Windows update fails, Claude Code now restores the original executable by copy and tells you how to recover
- [VSCode] Fixed Claude Code processes not shutting down cleanly when VS Code closed on Windows, causing false "unclean exit" reports and orphaned MCP servers
- `/model` now saves your selection as the default for new sessions (matching the IDE). Press `s` in the picker to switch models for the current session only.
- If you customized the `modelPicker:setAsDefault` keybinding, rename it to `modelPicker:thisSessionOnly` in keybindings.json (the `d` action was replaced by `s`)