一覧へ戻るv2.1.208

バックナンバー · BACK ISSUE

v2.1.208

4新機能12改善29修正· 45 件の変更

オプトインのスクリーンリーダーモード、vimInsertModeRemaps、企業向けランチャー用の CLAUDE_CODE_PROCESS_WRAPPER、フルスクリーンメニューのマウスクリック対応を追加。あわせて、ストリーミング/SDK 出力、長時間セッションのメモリリーク、権限ルールの照合、バックグラウンドエージェント、ワークツリー、Bedrock 認証にわたる多数の修正とパフォーマンス改善を含みます。

新機能Feature4
  • スクリーンリーダーモードを追加しました。スクリーンリーダー利用者向けに、プレーンテキストで描画するオプトイン方式の表示です。claude --ax-screen-reader で起動するか、CLAUDE_AX_SCREEN_READER=1 を設定するか、設定に "axScreenReader": true を追加して有効化します。

    accessibilityconfig

    詳しく
    画面読み上げソフト(スクリーンリーダー)を使う人向けに、装飾を省いたプレーンテキストで表示する「スクリーンリーダーモード」が追加されました。通常の TUI は色や枠線などの装飾が読み上げの妨げになりがちですが、このモードでは読み上げやすい素のテキストで出力されます。claude --ax-screen-reader の起動フラグ、環境変数 CLAUDE_AX_SCREEN_READER=1、または設定の "axScreenReader": true のいずれかで有効にできます。
  • vimInsertModeRemaps 設定を追加しました。vim モードで jj のような 2 キーの挿入モード連続入力を Escape に割り当てられます。

    vimconfig

    詳しく
    vim モードの入力を自分好みにカスタマイズできる vimInsertModeRemaps 設定が追加されました。挿入(insert)モード中に jj のような 2 キーの連続入力を Escape に割り当てるといった、vim ユーザーによくあるキー再割り当てができます。ホームポジションから手を離さずにノーマルモードへ戻れるようになり、vim に慣れた人の入力効率が上がります。
  • CLAUDE_CODE_PROCESS_WRAPPER を追加しました。エージェントビューとバックグラウンドサービスが、Claude Code が自身を起動するすべての場面を、指定した必須のラッパー実行ファイル経由で実行し、企業向けランチャーに対応します。

    configsecurityagents

    詳しく
    企業などが用意する起動ラッパー(ランチャー)経由での実行に対応する環境変数 CLAUDE_CODE_PROCESS_WRAPPER が追加されました。エージェントビューやバックグラウンドサービスが、Claude Code 自身を新たに起動するとき、必ずこの指定されたラッパー実行ファイルを通すようになります。組織がプロセス起動を集中管理・監査したい環境で、自己起動される子プロセスも管理下に置けるようになります。
  • フルスクリーンモードで、複数選択メニューと「Other」入力行のマウスクリック操作に対応しました。

    uimouse

    詳しく
    フルスクリーンモードにおいて、複数選択(multi-select)メニューの項目や「Other」入力行を、マウスのクリックで操作できるようになりました。以前はキーボードでの選択が中心でしたが、今はクリックでも項目を選んだり入力行に切り替えたりできます。キーボードとマウスを併用する人の操作性が向上します。
改善Improvement12
  • エージェントのタスクリスト更新中の入力応答性を改善しました。タスクの更新で UI 全体を再描画しなくなりました。

    uiagentsperformance

    詳しく
    エージェントのタスクリストが更新されている最中の、入力の反応の良さを改善しました。以前はタスクが更新されるたびに画面(UI)全体を描き直していたため、その間の入力がもたつくことがありました。今は変わった部分だけを更新し、UI 全体を再描画しなくなったため、タスクが頻繁に動く状況でも快適に入力できます。
  • 多数の MCP ツールを使う print/SDK セッションで、ツールプールの組み立てをキャッシュすることでツール呼び出しごとの CPU オーバーヘッドを削減しました(ツール数が多い場合、ツールラウンドが最大 7 倍高速)。

    performancemcpsdk

    詳しく
    多数の MCP ツールを利用する print/SDK セッションで、ツール呼び出しのたびにかかっていた CPU の無駄を削減しました。毎回作り直していたツールプール(利用可能なツールの一覧)の組み立てをキャッシュして使い回すようにした結果、ツール数が多い環境ではツールのやり取り(ラウンド)が最大 7 倍高速になります。たくさんの MCP ツールを組み込んでいる人ほど効果が大きくなります。
  • ファイル編集用の読み込みキャッシュを、最大 1,000 ファイル分をそのまま保持する方式から 16 MB 上限に変更し、メモリ使用量を削減しました。

    performanceedit

    詳しく
    ファイル編集に使う読み込みキャッシュのメモリ消費を抑えました。以前は最大 1,000 ファイル分の内容をまるごとメモリに固定して保持していましたが、今は 16 MB の上限を設けて超えた分は解放します。多くの、あるいは大きなファイルを編集するセッションでも、キャッシュがメモリを圧迫しにくくなります。
  • 上書きされたファイル履歴のバックアップを削除することで、セッションのトランスクリプトのサイズを削減し(編集の多いセッションで最大 79 倍)、チェックポイントのディスク使用量を抑えました。

    performanceresume

    詳しく
    セッションのトランスクリプト(会話・操作の記録)のサイズと、チェックポイント(復元用スナップショット)のディスク使用量を削減しました。仕組みとして、後から上書きされて不要になった古いファイル履歴のバックアップを間引くようにしました。編集が非常に多いセッションでは、トランスクリプトが最大 79 倍もコンパクトになります。ディスクを圧迫しにくく、再開も軽くなります。
  • 大きな会話から生成されたバックグラウンドエージェントやフォークを含むセッションを再開する際のメモリ使用量を削減しました。

    performanceresumebackground

    詳しく
    大きな会話から派生したバックグラウンドエージェントやフォーク(分岐セッション)を含むセッションを再開するときの、メモリ使用量を削減しました。以前はこうしたセッションの再開時にメモリを多く消費しがちでしたが、今はより少ないメモリで済みます。長い会話から多くの派生を作って運用している人にとって、再開が軽くなります。
  • 完了したバックグラウンドエージェントが、終了した瞬間に消えるのではなく、クリーンアップまで /tasks に表示され続けるようになりました。

    backgroundagents

    詳しく
    バックグラウンドエージェントが完了したときの一覧表示の挙動を改善しました。以前は処理が終わった瞬間に /tasks の一覧から消えてしまい、結果を確認しづらいことがありました。今はクリーンアップ(整理)されるまで一覧に残り続けるため、完了したタスクの内容や結果を後から落ち着いて確認できます。
  • 停止したバックグラウンドエージェントにアタッチすると、空の「Session is starting」画面ではなく、セッションの準備中にすぐトランスクリプトが表示されるようになりました。

    backgroundagents

    詳しく
    停止しているバックグラウンドエージェントにアタッチ(接続)したときの表示を改善しました。以前はセッションが立ち上がるまで、空の「Session is starting」画面が表示されて中身が見えませんでした。今は準備が整うのを待つ間も、これまでのトランスクリプト(やり取りの記録)がすぐに表示されるため、何のセッションかを待たずに確認できます。
  • エージェントビュー: Ctrl+X が、名前を変更したブランチのワークツリーも削除でき、未プッシュのコミットを決して破棄せず、ワークツリーを残した場合はセッション行を保持し、再利用したワークツリー名は現在のベースにリセットされるようになりました。

    agentsworktree

    詳しく
    エージェントビューの Ctrl+X によるワークツリー削除の挙動を、より安全で分かりやすいものに改善しました。ブランチ名を変更したワークツリーもきちんと削除できるようになり、未プッシュ(未送信)のコミットは決して破棄されなくなりました。ワークツリーを残す選択をした場合はセッションの行も一覧に保持され、名前を再利用したワークツリーは現在のベースにリセットされます。作業の取り違えや消したくない変更の喪失を防ぎます。
  • $(…)・バッククォート・<(…) を含むコマンド内の破滅的な削除(例: rm -rf ~)が、--dangerously-skip-permissions や auto mode でも確認を求めるようになり、通常形と同じ扱いになりました。

    permissionssecurity

    詳しく
    rm -rf ~ のような取り返しのつかない削除コマンドについて、安全確認の網を広げました。以前は $(…)・バッククォート・<(…) といったコマンド置換や入出力の構文の中にこうした削除が紛れ込んでいると、--dangerously-skip-permissions や auto mode で確認なしに実行されてしまう恐れがありました。今はこれらの形でも、通常の書き方と同じく必ず確認を求めます。危険な削除の見落としを防ぐ安全策です。
  • /install-github-app/mcp の設定メニューが、バックグラウンドセッションでは開かなくなりました。

    backgroundmcp

    詳しく
    /install-github-app(GitHub アプリの導入)と /mcp の設定メニューが、バックグラウンドセッションでは開かないようになりました。これらは対話的な操作を前提とするため、画面を持たないバックグラウンドで開いても操作できず不都合でした。今はバックグラウンドでは起動しないようにして、想定どおりの場面でだけ使われるようになります。
  • 空の URL で設定された MCP サーバが、/mcp で設定エラーではなく「not configured」と表示されるようになりました。

    mcpconfig

    詳しく
    MCP サーバの URL が空のまま設定されている場合の /mcp での表示を改善しました。以前は設定エラーとして扱われて分かりにくかったのですが、今は「not configured」(未設定)と表示されます。まだ設定を書き終えていないだけなのか、本当に不具合なのかが一目で区別しやすくなります。
  • 使用状況のエンドポイントがレート制限された場合、/usage がエラー画面の代わりに、最後に判明している使用状況のバーを「as of」の注記付きで表示するようになりました。

    usageui

    詳しく
    利用状況を取得するエンドポイントがレート制限(短時間に多く呼びすぎたことによる一時的な制限)にかかったときの /usage の表示を改善しました。以前はエラー画面が出て何も分かりませんでしたが、今は最後に取得できた使用状況のバーを、いつ時点のものかを示す「as of」の注記を添えて表示します。制限中でも直近のおおよその使用量を把握できます。
修正Fix29
  • ファストモードに対応するモデルへ切り替え直しても、ファストモードがオフのままになる問題を修正しました。設定で有効にしていれば自動的に復元されるようになりました。

    modelconfig

    詳しく
    ファストモード(高速モード)に対応したモデルへ戻したときに、ファストモードがオフのままになってしまう不具合を修正しました。以前は一度別のモデルに切り替えると、対応モデルに戻しても手動で入れ直す必要がありましたが、今は設定で有効にしていれば自動的に復元されます。モデルを行き来しながら使う人の手間が減ります。
  • バックグラウンドエージェントに入力した返信が、配信に失敗すると失われる問題を修正しました。テキストは保存され、セッション再起動時に配信されるようになりました。

    backgroundagents

    詳しく
    バックグラウンドで動くエージェントに宛てて入力した返信が、配信に失敗するとそのまま消えてしまう不具合を修正しました。以前は打ち込んだ内容が届かずに失われることがありましたが、今は一旦保存され、セッションが再起動したときに改めて配信されます。書いた指示を取りこぼさずに済みます。
  • 実行中の claude agents プロセスの起動元バイナリが更新で置き換えられた後、バックグラウンドセッションへのアタッチが恒久的に失敗する(「Couldn't start the background daemon」)問題を修正しました。

    backgroundagents

    詳しく
    動作中の claude agents プロセスを起動した実行ファイル(バイナリ)が、アップデートによって置き換えられた後で、バックグラウンドセッションへのアタッチ(接続)が「Couldn't start the background daemon」というエラーでずっと失敗してしまう不具合を修正しました。以前は更新後に接続不能に陥ることがありましたが、今はバイナリが入れ替わっても正しくアタッチできます。
  • CLI の自動更新後にコンテキストウィンドウ(および自動コンパクトのインジケータ)が一時的に 200k にリセットされ、長いコンテキストのセッションを再開したときに誤った「コンテキスト使用率 100%」が表示される問題を修正しました。

    uiresume

    詳しく
    CLI が自動更新された直後に、コンテキストウィンドウの容量(および自動コンパクトの表示)が一時的に 200k へリセットされてしまう不具合を修正しました。以前はこのせいで、長いコンテキストのセッションを再開したときに実際とは異なる「コンテキスト使用率 100%」が誤表示されることがありましたが、今は正しい容量が保たれます。長い会話を継続する人の混乱がなくなります。
  • リクエスト処理中にサーバが GOAWAY で HTTP/2 接続を閉じたとき、監視付きセッションやバックグラウンドセッションがクラッシュする問題を修正しました。

    backgroundapi

    詳しく
    リクエストを送っている最中に、サーバ側が HTTP/2 の GOAWAY(接続をこれ以上使わない旨の通知)で接続を閉じた場合に、監視付き(supervised)セッションやバックグラウンドセッションがクラッシュしてしまう不具合を修正しました。以前は正常なはずの接続終了で処理が落ちることがありましたが、今は GOAWAY を適切に扱ってクラッシュしなくなります。
  • claude -p から大きな応答をパイプするときに、stream-json/JSON 出力が途中で切れ、結果メッセージが欠落する問題を修正しました。

    sdkapi

    詳しく
    claude -p(非対話の print モード)から大きな応答を他のコマンドへパイプで渡すとき、stream-json や JSON の出力が途中で切れたり、最後の結果メッセージが抜け落ちたりする不具合を修正しました。以前は大きな出力を後段のツールで処理する際にデータが欠けることがありましたが、今は完全な出力が得られます。スクリプトや SDK で出力を扱う人に影響します。
  • CLAUDE_CODE_MAX_OUTPUT_TOKENS などの環境変数が、指数表記の値の仮数部だけを黙って使ってしまう(1e61 になる)問題を修正しました。

    configapi

    詳しく
    CLAUDE_CODE_MAX_OUTPUT_TOKENS のような数値を取る環境変数に、1e6 のような指数(科学)表記を指定したとき、仮数部だけが使われて意図しない小さな値になってしまう不具合を修正しました。以前は 1e61 と解釈されるなど、設定値が黙って誤って扱われていましたが、今は指数表記も正しく解釈されます。
  • 非常に大きなマークダウンの表が描画を停滞させたり過剰にメモリを消費したりする問題を修正しました。200 行を超える表は最初の 200 行を表示し「… N more rows」の注記を添えます。

    uiperformance

    詳しく
    行数が非常に多いマークダウンの表を表示すると、描画が止まったり大量のメモリを使ってしまう不具合を修正しました。今は 200 行を超える表については最初の 200 行だけを表示し、残りは「… N more rows」(あと N 行)という注記で示します。巨大な表を含む応答でも動作が重くならず、快適に読めます。
  • 読み込み後に変更されたファイルでも、対象テキストが一意に一致する場合に Edit ツールが失敗する問題を修正しました。

    edit

    詳しく
    Read で読み込んだ後にファイルが変更された場合、編集対象のテキストがファイル内で一意に特定できるにもかかわらず、Edit ツールが失敗してしまう不具合を修正しました。以前は読み込み後の変更を検知して安全のため一律に拒否していましたが、対象箇所が確実に一致するなら今は編集を通します。無用な失敗が減り、編集がスムーズになります。
  • 空ファイルを Read が「shorter than offset」と報告する、Grep が不正な正規表現に対して黙って「No files found」を返す、Grep のカウントモードがページング時に合計を過少報告する、パターン・パス・作業ディレクトリにヌルバイトが含まれると Glob が不明瞭なエラーでクラッシュする、といった問題をまとめて修正しました。

    readgrep

    詳しく
    ファイル検索・読み込みツールの複数の不具合をまとめて修正しました。空のファイルを Read が「shorter than offset」と誤って報告する、Grep が不正な正規表現パターンに対してエラーを出さず黙って「No files found」と返す、Grep のカウントモードがページング時に合計数を実際より少なく報告する、そしてパターンやパス・作業ディレクトリにヌルバイトが混じると Glob が意味の分かりにくいエラーで落ちる、という各点が対象です。今はそれぞれ正しい結果や明確なエラーが返ります。
  • apiKeyHelper スクリプトの失敗が、約 10 回の無言のリトライの末に一般的な 401 エラーの裏に隠れてしまう問題を修正しました。今はスクリプト自身のエラーが 3 回以内の試行で表示されます。

    authapi

    詳しく
    APIキーを取得するための apiKeyHelper スクリプトが失敗したとき、その原因が分かりにくかった不具合を修正しました。以前は約 10 回も黙ってリトライした挙げ句、汎用的な 401(認証失敗)エラーが出るだけで、スクリプト自体が何を出力したのかが埋もれていました。今は 3 回以内の試行でスクリプト本来のエラーメッセージが表示され、原因を突き止めやすくなります。
  • ゲートウェイが応答を変換したときに、Bedrock のストリーミングリクエストが紛らわしい「Truncated event message received」で失敗する問題を修正しました。エラーは content-type を示し、プロキシを指摘するようになりました。

    bedrockapi

    詳しく
    Amazon Bedrock 経由のストリーミングリクエストで、間に入るゲートウェイが応答を変換してしまった場合に、「Truncated event message received」という誤解を招くエラーで失敗する不具合を修正しました。以前は本当の原因が分かりにくかったのですが、今のエラーメッセージは実際の content-type を示し、原因がプロキシ(ゲートウェイ)側にあることを指摘します。企業プロキシ越しに Bedrock を使う人が原因を特定しやすくなります。
  • ブラウザを開けなかったときに、/upgrade がアップグレード URL の代わりにログインフローを表示する問題を修正しました。

    authui

    詳しく
    /upgrade(プラン変更)を実行した際に、ブラウザが自動で開けなかった場合の挙動を修正しました。以前はアップグレード用の URL を提示すべきところで、代わりにログインフローが表示されてしまい、目的のページにたどり着けませんでした。今はブラウザが開かなくてもアップグレード URL が示され、手動で開いて操作を続けられます。
  • Windows 形式の SDK ホストから送られる空の CRLF 行や空白のみの行によって、stream-json 入力がセッションを落とす問題を修正しました。

    sdkwindows

    詳しく
    stream-json 形式で入力を受け取るとき、Windows 形式の SDK ホストが送ってくる空の CRLF(改行)行や空白だけの行が原因で、セッションが落ちてしまう不具合を修正しました。以前はこうした無害な空行でも処理が中断されていましたが、今は読み飛ばして正常に処理を続けます。Windows 環境の SDK 連携で安定して動くようになります。
  • control_request が文字列でない set_model ペイロードを含む場合に、ヘッドレスの stream-json セッションが恒久的にハングする問題を修正しました。今は CLI がエラー応答を返します。

    sdkmodel

    詳しく
    ヘッドレス(画面のない)stream-json セッションで、制御メッセージ control_request に、文字列でない不正な set_model(モデル指定)のデータが含まれていると、セッションが永久に応答しなくなる不具合を修正しました。以前は待ち続けて固まっていましたが、今は CLI が明確なエラー応答を返して処理を進めます。SDK からモデルを指定するホストの実装ミスでも詰まらなくなります。
  • セッション再開時に「No completion record was found」の通知が繰り返される問題を修正しました。孤立したバックグラウンドタスクは 1 件のサマリにまとめられるようになりました。

    resumebackground

    詳しく
    セッションを再開したときに、「No completion record was found」(完了記録が見つからない)という通知が何度も繰り返し表示される不具合を修正しました。原因は、親を失った(孤立した)バックグラウンドタスクごとに個別に通知が出ていたことで、今はそれらを 1 つのサマリにまとめて表示します。再開直後の画面が通知で埋め尽くされなくなります。
  • ターミナルがホストするセッションに接続した Remote Control クライアントが、タスクが開始または停止するまでバックグラウンドエージェントとワークフローの進行状況を確認できない問題を修正しました。

    remote-controlbackground

    詳しく
    ターミナル上で動いているセッションに Remote Control(遠隔操作)クライアントが接続したとき、バックグラウンドエージェントやワークフローの進み具合が、何らかのタスクが始まる・止まるまで表示されない不具合を修正しました。以前は接続直後に現在の状況が見えないことがありましたが、今はアタッチした時点で進行状況が反映されます。モバイルや Web から様子を確認したい人に役立ちます。
  • サブエージェントの tools リストが何も解決しない場合に、Agent ツールがツールなしで起動する問題を修正しました。今は認識できない項目を挙げた明確なエラーを返します。

    agents

    詳しく
    サブエージェントの tools(利用可能ツールの指定)リストが、指定ミスなどで最終的に 1 つのツールにも解決しないとき、Agent ツールがツールを一切持たない状態で起動してしまう不具合を修正しました。以前は原因不明のまま何もできないエージェントが立ち上がっていましたが、今は認識できなかった項目の名前を挙げた明確なエラーを返します。設定ミスに気づきやすくなります。
  • /usage が新しいデータより古いキャッシュのバーを表示する問題と、/mcp が設定編集後もプレースホルダのサーバを再分類しない問題を修正しました。

    mcpusage

    詳しく
    2 つの表示の不具合を修正しました。/usage(利用状況)が、より新しいデータがあるのに古いキャッシュのバーを表示してしまう点と、/mcp が設定を編集した後もプレースホルダ(仮)扱いのサーバを分類し直さない点です。今は /usage は最新のデータを表示し、/mcp は設定変更を反映してサーバの状態を正しく再判定します。
  • SDK ホスト(例: Claude Desktop)の「Change directory」が、バックグラウンドタスクを実行中のアイドルセッションで「A turn is in progress」エラーで失敗する問題を修正しました。

    sdkbackground

    詳しく
    SDK ホスト(例えば Claude Desktop)で作業ディレクトリを変更する「Change directory」操作が、バックグラウンドタスクを走らせている待機中(アイドル)のセッションで、「A turn is in progress」(処理中)エラーになって失敗する不具合を修正しました。以前はバックグラウンドの処理があるとディレクトリ変更ができませんでしたが、今はアイドル状態なら正しく切り替えられます。
  • ワークフローの保存ダイアログが、ユーザースコープの保存先として CLAUDE_CONFIG_DIR の場所ではなく ~/.claude/workflows/ を表示する問題を修正しました。

    workflowsconfig

    詳しく
    ワークフローを保存するダイアログで、ユーザー単位(user-scope)の保存先の表示が誤っていた不具合を修正しました。CLAUDE_CONFIG_DIR で設定ディレクトリを変更している場合でも、以前は常に既定の ~/.claude/workflows/ が表示されていました。今は実際の保存先である CLAUDE_CONFIG_DIR 配下の場所が正しく示されます。設定ディレクトリをカスタマイズしている人に関係します。
  • /release-notes で閲覧したノートがモデルのコンテキストに追加される問題を修正しました。以前は「Show all」がその後のすべてのリクエストに変更履歴全体を注入していました。

    uiperformance

    詳しく
    /release-notes(リリースノートの表示)で見た内容が、モデルのコンテキスト(会話に渡される情報)に混入してしまう不具合を修正しました。特に「Show all」で全件表示すると、以前は変更履歴(changelog)全体が、その後のリクエストすべてに毎回注入されていました。今はリリースノートを見てもコンテキストを圧迫せず、無駄なトークン消費や応答への影響がなくなります。
  • エージェントビューで、ピーク返信を送信した後も貼り付け画像が画面の存続期間中ずっと保持されるメモリリークを修正しました。

    agentsperformanceimages

    詳しく
    エージェントビューで、のぞき見(peek)返信を送った後も、貼り付けた画像がその画面が存在する間ずっとメモリ上に保持され続けるメモリリーク(メモリの解放漏れ)を修正しました。以前は画像を使うたびにメモリ使用量が積み上がっていましたが、今は送信後に適切に解放されます。長時間エージェントビューを開いたまま画像をやり取りする人の負荷が下がります。
  • クライアントがアタッチする前にプラグインのリフレッシュが実行されると、SDK セッションが initialize リクエストで定義したエージェントを失う問題を修正しました。

    sdkagentsplugins

    詳しく
    SDK セッションで、initialize リクエストによって定義したエージェントが失われてしまう不具合を修正しました。原因は、クライアントが接続(アタッチ)する前にプラグインのリフレッシュ(再読み込み)が走ると、そこで定義済みのエージェントが消えてしまうことでした。今はプラグイン更新のタイミングにかかわらず、初期化時に定義したエージェントが保持されます。
  • 長時間セッションの複数のメモリリークを修正しました。MCP stdio サーバの stderr がサーバごとに最大 64 MB まで蓄積する、LSP ドキュメントが無期限に開いたままになる(50 件上限の LRU 方式に変更)、非同期フックの出力がバックグラウンド化後も保持される、ヘッドレス/SDK セッションで大きなツール結果ペイロードにより無制限に増大する、といった各点が対象です。

    performancemcp

    詳しく
    長時間動かし続けるセッションで起きていた複数のメモリリーク(メモリの解放漏れ)をまとめて修正しました。対象は、MCP の stdio サーバの標準エラー出力がサーバごとに最大 64 MB まで溜まる点、LSP(言語サーバ)のドキュメントが閉じられず開きっぱなしになる点(今は最大 50 件の LRU 方式で古いものを解放)、非同期フックの出力がバックグラウンド化後も残る点、そしてヘッドレス/SDK セッションで大きなツール結果によって際限なくメモリが増える点です。今はいずれも上限が設けられ、長時間の利用でもメモリが膨らみにくくなります。
  • offset/limit を使って極端に長い 1 行を含むファイルを読むときのメモリ急増を修正しました。今は行全体を読み込む代わりに、明確なエラーを返します。

    readperformance

    詳しく
    1 行が極端に長いファイルを、offset/limit(読み込み位置・行数の指定)を使って読もうとしたときに、メモリ使用量が一気に膨れ上がる不具合を修正しました。以前は指定範囲だけを読みたくても、その 1 行全体をメモリに載せてしまっていました。今はそうした場合、行全体を読み込まずに明確なエラーを返して処理を止めます。巨大な 1 行を含むファイルでメモリ不足に陥らなくなります。
  • 権限の deny/ask ルールが多いセッションで、1 ターンごとに数秒の遅延が生じる問題を修正しました。ルールのマッチャーは一度だけコンパイルしてキャッシュするようになりました。

    permissionsperformance

    詳しく
    権限の拒否(deny)や確認(ask)のルールを大量に設定しているセッションで、1 ターンごとに数秒の遅延が発生する不具合を修正しました。以前は毎ターン、すべてのルールの照合器(マッチャー)を作り直していたためです。今は一度コンパイルした照合器をキャッシュして使い回すため、ルールが多くても応答が遅くなりません。細かい権限ルールを多用する人の体感が改善します。
  • バックグラウンドセッション: 古いデーモンが、新しいバージョンで起動されたワーカーを古いバイナリで黙って再起動しないようになりました。

    background

    詳しく
    バックグラウンドセッションで、古いデーモン(常駐プロセス)が、新しいバージョンによって起動されたワーカーを、黙って古いバイナリ上で再起動してしまう不具合を修正しました。以前はバージョンの取り違えで、意図せず古い実装に戻ってしまうことがありましたが、今は起動元のバージョンが尊重されます。更新をまたいでバックグラウンド処理を動かす環境で挙動が一貫します。
  • sso_region が Bedrock のリージョンと異なる AWS SSO プロファイルで、Bedrock 認証が「Session token not found or invalid」で失敗する問題を修正しました(2.1.207 のリグレッション)。

    bedrockauth

    詳しく
    Amazon Bedrock の認証で、AWS SSO プロファイルの sso_region(SSO 用リージョン)が Bedrock の利用リージョンと異なる場合に、「Session token not found or invalid」というエラーで認証が失敗する不具合を修正しました。これはバージョン 2.1.207 で混入したリグレッション(以前は動いていた機能の劣化)です。SSO と Bedrock で別々のリージョンを使う構成の人が、再び正しく認証できるようになります。
原文 Markdown を表示
## 2.1.208

- Added screen reader mode: opt-in plain-text rendering for screen reader users. Run `claude --ax-screen-reader`, set CLAUDE_AX_SCREEN_READER=1, or add "axScreenReader": true to settings.
- Added `vimInsertModeRemaps` setting: map two-key insert-mode sequences like `jj` to Escape in vim mode
- Added `CLAUDE_CODE_PROCESS_WRAPPER`: agent view and the background service now honor a corporate launcher by running every Claude Code self-spawn through a required wrapper executable
- Added mouse-click support for multi-select menus and "Other" input rows in fullscreen mode
- Fixed fast mode staying off after switching back to a model that supports it — it now restores automatically when enabled in settings
- Fixed replies typed to a background agent being lost when delivery fails — the text is now saved and delivered when the session restarts
- Fixed background-session attach failing permanently ("Couldn't start the background daemon") after an update replaced the binary a running `claude agents` process was launched from
- Fixed the context window (and auto-compact indicator) briefly resetting to 200k after the CLI auto-updates, causing a false "100% context used" when resuming long-context sessions
- Fixed supervised and background sessions crashing when a server closed an HTTP/2 connection with a GOAWAY while requests were in flight
- Fixed truncated stream-json/JSON output and missing result message when piping large responses from `claude -p`
- Fixed `CLAUDE_CODE_MAX_OUTPUT_TOKENS` and similar env vars silently using the mantissa of scientific-notation values (`1e6` became `1`)
- Fixed very large markdown tables stalling rendering or using excessive memory; tables over 200 rows show the first 200 with a "… N more rows" notice
- Fixed the Edit tool failing on files modified after reading when the target text still matches uniquely
- Fixed Read reporting empty files as "shorter than offset", Grep silently returning "No files found" for invalid regex patterns, Grep count mode under-reporting totals when paginated, and Glob crashing with an unclear error when the pattern, path, or working directory contained a null byte
- Fixed `apiKeyHelper` script failures being hidden behind a generic 401 after ~10 silent retries; the script's own error is now shown within 3 attempts
- Fixed Bedrock streaming requests failing with a misleading "Truncated event message received" when a gateway transforms the response — the error now names the content-type and points at the proxy
- Fixed `/upgrade` showing a login flow instead of the upgrade URL when the browser fails to open
- Fixed stream-json input killing the session on blank CRLF or whitespace-only lines from Windows-style SDK hosts
- Fixed headless stream-json sessions hanging permanently when a `control_request` carried a non-string `set_model` payload; the CLI now answers with an error response
- Fixed repeated "No completion record was found" notices on session resume — orphaned background tasks now collapse into a single summary
- Fixed Remote Control clients attaching to a terminal-hosted session not seeing background agents and workflow progress until a task started or stopped
- Fixed the Agent tool launching with no tools when a subagent's `tools` list resolves to nothing — it now returns a clear error naming the unrecognized entries
- Fixed `/usage` showing stale cached bars over fresher data, and `/mcp` not reclassifying placeholder servers after config edits
- Fixed "Change directory" in SDK hosts (e.g. Claude Desktop) failing with "A turn is in progress" on idle sessions that have a running background task
- Fixed the workflow save dialog showing `~/.claude/workflows/` instead of the `CLAUDE_CONFIG_DIR` location for user-scope saves
- Fixed `/release-notes` adding the viewed notes to the model's context — "Show all" previously injected the entire changelog into every subsequent request
- Fixed a memory leak in the agent view where pasted images were retained for the screen's lifetime after sending peek replies
- Fixed SDK sessions losing agents defined via the initialize request when a plugin refresh ran before the client attached
- Fixed several memory leaks in long sessions: MCP stdio server stderr accumulating up to 64 MB per server, LSP documents staying open indefinitely (now LRU with 50-doc cap), async hook output retained after backgrounding, and unbounded growth in headless/SDK sessions from large tool-result payloads
- Fixed a memory blowup when reading files with extremely long single lines using offset/limit — the read now returns a clean error instead of loading the whole line
- Fixed multi-second per-turn slowdowns in sessions with many permission deny/ask rules — rule matchers are now compiled once and cached
- Improved input responsiveness while agent task lists update — task updates no longer re-render the entire UI
- Reduced per-tool-call CPU overhead in print/SDK sessions with many MCP tools by caching tool-pool assembly (up to 7x faster tool rounds at high tool counts)
- Reduced memory usage by bounding the file edit read cache to 16 MB instead of pinning up to 1,000 full files
- Reduced session transcript size (up to 79x in edit-heavy sessions) and bounded checkpoint disk usage by pruning superseded file-history backups
- Reduced memory usage when resuming sessions with background agents or forks spawned from large conversations
- Completed background agents now stay listed in `/tasks` until cleanup instead of vanishing the moment they finish
- Attaching to a stopped background agent now shows its transcript immediately while the session warms up, instead of a blank "Session is starting" screen
- Background sessions: an older daemon no longer silently restarts workers spawned by a newer version onto the older binary
- Agent view: Ctrl+X now deletes renamed-branch worktrees, never destroys unpushed commits, keeps the session row when a worktree is kept, and reused worktree names reset to the current base
- Catastrophic removals (e.g. `rm -rf ~`) in commands containing `$(…)`/backticks/`<(…)` now prompt in `--dangerously-skip-permissions` and auto mode, matching the plain form
- `/install-github-app` and the `/mcp` settings menu no longer open in background sessions
- MCP servers configured with an empty URL now show as "not configured" in `/mcp` instead of a config error
- `/usage` now shows your last-known usage bars with an "as of" note when the usage endpoint is rate-limited, instead of an error screen
- Fixed Bedrock auth failing with "Session token not found or invalid" for AWS SSO profiles whose sso_region differs from the Bedrock region (2.1.207 regression)