一覧へ戻るv2.1.229

バックナンバー · BACK ISSUE

v2.1.229

破壊的変更
▲1破壊的変更✦3新機能✚10改善◆18修正· 32 件の変更

サーバ提供のフックとプラグインマーケットプレイスの command ソースを追加し、ストリーミング・Windows のパス処理・MCP OAuth・セルフホストランナー・コンテナにまたがるクラッシュと安定性の修正を多数含みます。Windows のセルフホストランナー起動は --base-dir の明示指定が必須になり、/commit-push-pr は危険な git/gh フラグを自動承認しなくなりました。

▲破壊的変更Breaking1
  • セルフホストランナーの Windows での起動で --base-dir の明示指定を必須にしました。Windows にはデフォルトのチェックアウト先ディレクトリはありません。

    self-hosted-runnerwindows

    詳しく
    Windows でセルフホストランナーを起動する際、リポジトリを取得する場所(チェックアウト先)を指定する --base-dir の指定が必須になりました。Windows には既定の置き場所が用意されていないため、指定せずに起動していた場合は起動できなくなります。Windows でセルフホストランナーを動かしている利用者は、起動コマンドに --base-dir を追加する必要があります。
✦新機能Feature3
  • セルフホストランナーのセッションで、サーバから提供される Claude Code フックに対応しました(マネージド環境と同じ挙動)。

    self-hosted-runnerhooks

    詳しく
    サーバ側から配布されるフック(特定のタイミングで自動実行される処理)を、セルフホストランナーのセッションでも使えるようになりました。これまではマネージド(提供側が管理する)環境でしか効きませんでしたが、今回セルフホストでも同じように動作し、両環境でフックの挙動が揃います。自前のランナーを運用している利用者が対象です。
  • プラグインマーケットプレイスに command ソースを追加しました。ローカルのコマンド(例: IDE)がプラグインのディレクトリを出力し、それをセッションごとに再解決して再起動なしで反映します。mode: "link" を指定するとその場所のまま使います。

    pluginsmarketplace

    詳しく
    プラグインの入手元として、ローカルのコマンドを指定できる command ソースが加わりました。指定したコマンド(たとえば IDE)がプラグインの置き場所(ディレクトリ)を出力し、Claude Code はそれをセッションのたびに読み直して、再起動せずに反映します。mode: "link" を付けると、その場所をコピーせずそのまま参照して使います。プラグインを開発・配布する人に便利な仕組みです。
  • [VSCode] サイドバーにセッショングループを追加しました。右クリックで作成・名前変更・削除でき、Cmd/Ctrl クリックや Shift クリックで複数のセッションをまとめて移動できます。

    ideui

    詳しく
    [VSCode] サイドバーのセッション一覧を、グループにまとめて整理できるようになりました。右クリックからグループの作成・名前の変更・削除ができ、Cmd/Ctrl キーや Shift キーを押しながらクリックすれば複数のセッションを選んで一度に別のグループへ移動できます。セッションが増えても目的のものを見つけやすくなります。
✚改善Improvement10
  • 直近の Remote Control セッションを再開する claude remote-control --continue をドキュメント化しました。

    remote-controldocs

    詳しく
    別の端末から Claude Code を操作する Remote Control で、直前に使っていたセッションをそのまま再開できる claude remote-control --continue の使い方が正式にドキュメントに載りました。毎回どのセッションかを指定し直さなくても、--continue を付けるだけで最新のセッションに繋ぎ直せます。Remote Control を日常的に使う人が対象です。
  • 長い思考の間の待ち時間中、ゲートウェイのストリーミング応答に SSE のキープアライブ ping を送るようにし、Vertex・Bedrock 上流でのアイドルタイムアウト切断を防ぎます。

    streamingvertexbedrock

    詳しく
    Vertex や Bedrock 経由で使う際、Claude が長く考え込んで応答が途切れる時間が続くと、通信が無通信とみなされてタイムアウトで切断されることがありました。今回、応答の合間に定期的な生存確認(キープアライブ ping)を送るようにしたことで、思考中でも接続が維持され、途中で切れにくくなります。Vertex・Bedrock 経由の利用者に影響します。
  • ListAgents が、切断された Remote Control セッションを offline と表示し、クラウドセッションには cloud のラベルを付けるようになりました。

    agentsremote-control

    詳しく
    エージェント一覧を表示する ListAgents の表示がわかりやすくなりました。接続が切れている Remote Control のセッションには offline、クラウド上で動いているセッションには cloud というラベルが付くようになり、どのセッションが今どこで動いているのか、繋がっているのかを一覧で見分けやすくなります。
  • ワークフローのファンアウトを改善し、同じプレフィックスを持つ兄弟エージェントの起動をずらすことで、後続のエージェントがプロンプトのプレフィックスを再送せずキャッシュを読むようにしました(CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS=0 で無効化)。

    workflowsperformance

    詳しく
    ワークフローで多数のエージェントを一斉に立ち上げる(ファンアウトする)とき、同じ冒頭部分(プロンプトのプレフィックス)を共有するエージェントの起動タイミングをわずかにずらすようにしました。これにより、後から動くエージェントは同じ冒頭を送り直さずにキャッシュを再利用でき、無駄なコストと時間を減らせます。CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS=0 を設定すればこの挙動を無効にできます。
  • 「prompt is too long」エラーを改善し、/compact を勧めるだけでなく、自動圧縮で回復できなかった理由も説明するようにしました。

    compactionui

    詳しく
    会話が長くなりすぎて「prompt is too long」というエラーが出るとき、以前は /compact を試すよう促すだけでした。今回の改善で、履歴を自動でまとめる圧縮(コンパクション)がなぜうまくいかなかったのかという理由も一緒に表示されるようになり、どう対処すればよいか判断しやすくなります。
  • サンドボックスを改善: ネットワークのドメインリスト内の IPv6 リテラルを角括弧で囲む形([::1]:443)にし、あいまいな表記は fail-closed(安全側で拒否)で扱い /doctor で警告するようにしました。

    sandboxsecurity

    詳しく
    サンドボックス(通信先を制限する仕組み)でネットワークのドメインリストを扱う際の挙動が改善されました。IPv6 アドレスは [::1]:443 のように角括弧で囲む正しい書き方に統一され、解釈が定まらないあいまいな表記は、通してしまわずに安全側で拒否(fail-closed)し、/doctor でも問題として指摘されるようになります。設定ミスによる意図しない通信許可を防ぎます。
  • /login を更新し、ログイン成功後にも CLAUDE_CODE_OAUTH_TOKEN による上書きの警告を再表示するようにしました。

    authlogin

    詳しく
    環境変数 CLAUDE_CODE_OAUTH_TOKEN が設定されていると、ログインしても実際にはそのトークンが優先されて使われます。今回、/login でログインが成功した後にも、この上書きが効いている旨の警告を改めて表示するようになり、ログインしたつもりでも別のトークンが使われている状況に気づきやすくなります。
  • /commit-push-pr を変更し、危険なフラグ(--force・--amend・--no-verify など)を含む git/gh コマンドを自動承認しなくなりました。

    permissionssecurity

    詳しく
    /commit-push-pr はコミット・プッシュ・プルリクエスト作成をまとめて行うコマンドですが、これまでは --force・--amend・--no-verify のような取り消しの難しい危険なフラグを含む git/gh コマンドも自動で承認して実行していました。今回の変更で、こうした危険なフラグを伴うコマンドは自動承認されなくなり、実行前に確認が求められます。誤って履歴を上書きするような操作を防ぐための安全側の変更です。
  • [VSCode] 「Report a problem」と /bug が、廃止されたアンケートリンクではなく組み込みのフィードバックダイアログを開くようになりました。

    ideui

    詳しく
    [VSCode] 問題を報告する「Report a problem」や /bug を使うと、以前はすでに廃止された外部アンケートのリンクが開いてしまい、正しく報告できないことがありました。今回の変更で、拡張機能に組み込まれたフィードバック用のダイアログが開くようになり、その場から問題を報告できるようになります。
  • [VSCode] /btw の脇質問パネルを、境界をドラッグしてサイズ変更できるようにしました(横に並べたレイアウトと縦に積んだレイアウトの両方)。

    ideui

    詳しく
    [VSCode] メインの会話とは別に補足の質問ができる /btw のパネルが、境界をドラッグして大きさを自由に変えられるようになりました。横に並べて表示する場合でも縦に積んで表示する場合でも調整でき、見やすい大きさで使えます。
◆修正Fix18
  • 長い応答がストリーミング中に一部消えたり、ターミナルに二重に表示されたりする問題を修正。

    uistreaming

    詳しく
    応答が長いとき、文字が流れて表示される(ストリーミング)途中で内容の一部が消えたり、同じ部分がターミナルに二重に表示されたりすることがありました。今回の修正で、長い応答でも欠けや重複なく正しく表示されるようになります。
  • ツール呼び出しの glob・file_path・command が文字列でない値だったときに、エラー画面へのクラッシュ(該当セッションの --resume 時を含む)が起きる問題を修正。

    crashtools

    詳しく
    ツールの呼び出しで glob・file_path・command の値が本来の文字列以外になっていると、Claude Code がエラー画面に落ちてしまい、そのセッションを --resume で再開しようとしても同じように落ちることがありました。今回の修正で、こうした不正な値が来てもクラッシュせず処理を続けられるようになります。
  • 非常に狭いターミナルウィンドウでプログレスバーや Markdown の表を描画したときに RangeError でクラッシュする問題を修正(claude --continue/--resume の起動時にクラッシュすることもありました)。

    crashui

    詳しく
    ターミナルの横幅が極端に狭い状態でプログレスバーや Markdown の表を表示しようとすると、内部の計算でエラー(RangeError)が起きて Claude Code が落ちることがありました。claude --continue や --resume での起動時にこれが起きると、そのまま立ち上がらないこともありました。今回の修正で、狭い画面でもクラッシュせずに表示できるようになります。
  • Windows で、ツール呼び出しやメッセージが拡張長(\\?\)や UNC パスでファイルを参照したときにクラッシュする問題を修正。

    windowscrash

    詳しく
    Windows では、\\?\ で始まる長いパス形式(拡張長パス)やネットワーク共有を指す UNC パスでファイルを参照すると、Claude Code がクラッシュすることがありました。今回の修正で、こうした特殊な形式のパスを含む場合でも落ちずに処理できるようになります。Windows でこれらのパスを使う利用者に影響します。
  • CLAUDE_CODE_ATTRIBUTION_HEADER で属性ヘッダーを無効にしているユーザー(Anthropic API への直接接続)で、Auto モードがすべてのツール呼び出しで失敗する問題を修正。

    auto-modeapi

    詳しく
    CLAUDE_CODE_ATTRIBUTION_HEADER を使って属性ヘッダー(送信元を示すヘッダー)を無効にし、Anthropic API に直接つないでいる場合に、状況に応じてモデルを自動選択する Auto モードがツールを呼び出すたびに失敗していました。今回の修正で、この設定でも Auto モードが正常に動くようになります。該当の設定を使っている利用者に影響します。
  • カスタムの ANTHROPIC_BASE_URL ゲートウェイを使う claude.ai サブスクライバーで、/model が Sonnet/Opus の 1M を拒否する問題を修正。

    modelapi

    詳しく
    claude.ai の契約者が独自の ANTHROPIC_BASE_URL(接続先ゲートウェイ)を設定していると、/model で Sonnet や Opus の 1M(100万トークンの長いコンテキスト)を選ぼうとしても拒否されて使えないことがありました。今回の修正で、こうした構成でも 1M のモデルを選択できるようになります。
  • リダイレクト URI に localhost の代わりに 127.0.0.1 を使うようにし、厳格な認可サーバでの MCP の OAuth 認証を修正。

    mcpauth

    詳しく
    MCP サーバの OAuth 認証で、認可サーバが厳格な場合に、リダイレクト先の URI に localhost を使っていると認証が通らないことがありました。今回、より確実に受け付けられる 127.0.0.1 を使うようにしたことで、こうした厳格な認可サーバでも OAuth 認証が成功するようになります。
  • ノートPCのターミナルでスラッシュコマンドを入力した後に、Remote Control クライアントで作業中スピナーが回り続ける問題を修正。

    remote-controlui

    詳しく
    手元のターミナルでスラッシュコマンドを入力すると、Remote Control で接続している側の画面では作業中を示すスピナーが回ったまま止まらなくなることがありました。今回の修正で、コマンドが終わればスピナーも正しく止まり、実際の状態が表示に反映されるようになります。
  • /install-github-app が生成する Claude Code Review ワークフローが、プルリクエストにレビューを投稿しないまま完了してしまう問題を修正。

    githubci

    詳しく
    /install-github-app で作られる自動レビュー用のワークフローが、実行自体は成功扱いで終わるのに、肝心のレビュー結果をプルリクエストに書き込まないことがありました。今回の修正で、レビューが正しくプルリクエスト上にコメントとして投稿されるようになります。GitHub 連携で自動レビューを使っている利用者に影響します。
  • IDE 拡張が接続された状態で、数千件の IDE 診断があるファイルを編集した後に UI が数秒間停止する問題を修正。

    ideperformance

    詳しく
    IDE 拡張をつないでいる状態で、警告やエラーなどの診断が数千件も出ているファイルを編集すると、その後 UI が数秒間固まってしまうことがありました。今回の修正で、大量の診断があっても操作が止まらず、快適に編集を続けられるようになります。
  • 一度きりの claude plugin コマンドが余分な liveness ファイルを残し、古いプラグインバージョンのクリーンアップを妨げることがある問題を修正。

    plugins

    詳しく
    claude plugin を単発で実行したときに、稼働状態を示す liveness ファイルが不要に残ってしまい、古くなったプラグインのバージョンが「まだ使用中」とみなされて削除されないことがありました。今回の修正で、余分なファイルが残らなくなり、不要になった古いプラグインが正しく片付けられるようになります。
  • CPU 制限のあるコンテナ内で、動的ワークフローがコンテナの CPU 上限ではなくホストマシンのコア数を使ってしまう問題を修正。

    workflowscontainers

    詳しく
    CPU の使用量に上限を設けたコンテナの中で動的ワークフローを動かすと、コンテナに割り当てられた上限ではなく、ホストマシン全体のコア数を基準に並列度を決めてしまっていました。今回の修正で、コンテナの CPU 制限を正しく参照するようになり、割り当てを超える負荷をかけなくなります。CPU 制限付きコンテナでワークフローを動かす利用者に影響します。
  • アトミックなファイル置換の後にファイル監視のハンドルがリークする問題と、Windows でスケジュールタスクの監視がネットワークや仮想ファイルシステム上で失敗したときに未捕捉のエラーになる問題を修正。

    windowsfile-watcher

    詳しく
    ファイルを一気に差し替える(アトミックな置換)操作の後に、ファイル変更を見張る仕組みの内部リソース(ハンドル)が解放されずに溜まっていく問題がありました。また Windows では、スケジュールされたタスクの監視がネットワーク共有や仮想的なファイルシステム上で失敗すると、そのエラーが処理されずに表面化することがありました。今回、これらをまとめて修正し、リソースの無駄な消費とエラーを防ぎます。
  • SDK や --input-format stream-json のセッションで、空白のみのメッセージを送信すると 400 の API エラーになる問題を修正。

    sdkapi

    詳しく
    SDK 経由や --input-format stream-json を使ったセッションで、中身が空白だけのメッセージを送ると、API から 400 エラーが返ってセッションが止まってしまうことがありました。今回の修正で、そうしたメッセージが送られても API エラーにならず、処理を続けられるようになります。SDK やストリーミング入力を使って自動化している利用者に影響します。
  • メッセージだけで API の 32 MB リクエスト上限を超える会話が、剥がせる画像やドキュメントが無いのに圧縮のリトライを繰り返す問題を修正。今後は明確なメッセージとともに一度で失敗するようになりました。

    compactionapi

    詳しく
    会話が非常に大きく、テキストのメッセージだけで API の 1 リクエスト上限である 32 MB を超えてしまう場合、削れる画像や添付ドキュメントが無いにもかかわらず、履歴の圧縮(コンパクション)を何度も試みて無駄に繰り返していました。今回の修正で、こうした場合は理由のわかるメッセージを出して一度できっぱり失敗するようになり、いつまでも止まらない事態を避けられます。
  • Claude Desktop のセッションからの OpenTelemetry のエクスポートが、そのゲートウェイがテレメトリの送信先も兼ねている場合に、Desktop 管理のゲートウェイに拒否される問題を修正。

    telemetrydesktop

    詳しく
    Claude Desktop のセッションが計測データ(OpenTelemetry のテレメトリ)を送る際、Desktop が管理するゲートウェイがちょうどそのテレメトリの送信先も兼ねていると、送信が拒否されてデータを記録できないことがありました。今回の修正で、この構成でもテレメトリが正しく送られるようになります。Claude Desktop でテレメトリを収集している利用者に影響します。
  • managed-mcp.json が配置されサーバが MCP サーバを配信するときに、セルフホストランナーやその他のリモートセッションが起動時に終了してしまう問題を修正。該当の MCP サーバは警告付きでスキップされるようになりました。

    self-hosted-runnermcp

    詳しく
    managed-mcp.json(管理者が配布する MCP 設定)が置かれ、かつサーバ側からも MCP サーバが配信される状況で、セルフホストランナーなどのリモートセッションが起動直後に終了してしまうことがありました。今回の修正で、こうした MCP サーバは警告を出したうえでスキップされ、セッションは問題なく立ち上がるようになります。セルフホストランナーやリモート運用の利用者に影響します。
  • セルフホストランナーのリポジトリ準備が Git Credential Manager のプロンプトで止まる問題を修正。認証情報が無い場合、git はすぐに失敗するようになりました。

    self-hosted-runnergit

    詳しく
    セルフホストランナーがリポジトリを準備する際、認証情報が無いと Git Credential Manager の入力待ちプロンプトが出て、誰も応答できないまま処理が止まってしまうことがありました。今回の修正で、認証情報が無いときは git がプロンプトを出さずにすぐ失敗を返すようになり、無応答で固まらなくなります。自前のランナーを運用する利用者に影響します。
原文 Markdown を表示
## 2.1.229

- Documented `claude remote-control --continue` for resuming the most recent Remote Control session
- Added server-supplied Claude Code hook support for self-hosted runner sessions, matching managed-environment behavior
- Added SSE keepalive pings to gateway streaming responses during long thinking pauses, preventing idle-timeout disconnects on Vertex and Bedrock upstreams
- Added plugin marketplace `command` sources: a local command (e.g. an IDE) prints the plugin directory, which is re-resolved each session and applied without a restart; `mode: "link"` uses it in place
- `ListAgents` now marks disconnected Remote Control sessions as `offline` and labels your cloud sessions as `cloud`
- Fixed long responses partly disappearing while streaming and being printed twice in the terminal
- Fixed a crash to the error screen (including on `--resume` of the affected session) when a tool call had a non-string `glob`, `file_path`, or `command` value
- Fixed a RangeError crash when a progress bar or markdown table rendered in a very narrow terminal window (could also crash `claude --continue`/`--resume` at startup)
- Fixed a crash on Windows when a tool call or message referenced a file by an extended-length (`\\?\`) or UNC path
- Fixed auto mode failing on every tool call for users who disable the attribution header via `CLAUDE_CODE_ATTRIBUTION_HEADER` (direct Anthropic API connections)
- Fixed `/model` rejecting Sonnet/Opus 1M for claude.ai subscribers using a custom `ANTHROPIC_BASE_URL` gateway
- Fixed MCP OAuth with strict authorization servers by using `127.0.0.1` instead of `localhost` in the redirect URI
- Fixed Remote Control clients showing a stuck working spinner after a slash command typed in the laptop terminal
- Fixed the Claude Code Review workflow generated by `/install-github-app` completing without posting its review on the pull request
- Fixed multi-second UI stalls after editing a file with thousands of IDE diagnostics while the IDE extension is connected
- Fixed one-shot `claude plugin` commands leaving a stray liveness file that could prevent cleanup of outdated plugin versions
- Fixed dynamic workflows inside CPU-limited containers using the host machine's core count instead of the container's CPU limit
- Fixed a file-watcher handle leak after atomic file replacements, and an uncaught error on Windows when the scheduled-tasks watcher failed on a network or virtual filesystem
- Fixed SDK and `--input-format stream-json` sessions getting a 400 API error when a whitespace-only message was submitted
- Fixed conversations whose messages alone exceed the API's 32 MB request limit retrying compaction when no images or documents can be stripped; they now fail once with a clear message
- Fixed OpenTelemetry export from Claude Desktop sessions being rejected by the Desktop-managed gateway when that gateway is also the telemetry endpoint
- Fixed self-hosted runner and other remote sessions exiting at startup when `managed-mcp.json` is deployed and the server delivers MCP servers; those servers are now skipped with a warning
- Fixed self-hosted runner repository preparation hanging on a Git Credential Manager prompt; git now fails fast when credentials are missing
- Improved workflow fan-outs to stagger same-prefix sibling agents so subsequent agents read the cached prompt prefix instead of re-paying it (`CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS=0` disables)
- Improved "prompt is too long" errors to explain why automatic compaction could not recover instead of only suggesting `/compact`
- Improved sandbox: IPv6 literals in network domain lists are now bracketed (`[::1]:443`), and ambiguous spellings are enforced fail-closed and flagged by `/doctor`
- Updated `/login` to repeat the `CLAUDE_CODE_OAUTH_TOKEN` override warning after a successful login
- Changed `/commit-push-pr` so git/gh commands with dangerous flags (`--force`, `--amend`, `--no-verify`, etc.) are no longer auto-approved
- Changed self-hosted runner Windows startup to require an explicit `--base-dir`; there is no default checkout directory on Windows
- [VSCode] "Report a problem" and `/bug` now open the built-in feedback dialog instead of a retired survey link
- [VSCode] Made the `/btw` side-question panel resizable by dragging its boundary, in both side-docked and stacked layouts
- [VSCode] Added session groups in the sidebar — right-click to create, rename, or delete; Cmd/Ctrl- or Shift-click to move several sessions at once