Claude Code v2.1.208:スクリーンリーダーモード、Vim挿入モードのキーリマップ、企業向けランチャー用のプロセスラッパー
Claude Code v2.1.208では、オプトインのスクリーンリーダーモード、vimInsertModeRemaps設定、企業向けランチャー用のCLAUDE_CODE_PROCESS_WRAPPERが追加され、メモリ、パフォーマンス、バックグラウンドエージェントに関する修正も含まれます。
Claude Code v2.1.208は、変更履歴に46項目が並ぶ大規模なリリースです。オプトインのスクリーンリーダーモード、Vim挿入モードのキーリマップ、企業向けランチャーのためのプロセスラッパーが追加され、フルスクリーンメニューでのマウス操作も拡充されました。そのほかの多くは、長時間セッションのメモリ使用量とパフォーマンス、バックグラウンドエージェント、ヘッドレス出力、認証に関するものです。
新機能
スクリーンリーダーモード
スクリーンリーダーの利用者向けに、プレーンテキストで表示するオプトインのスクリーンリーダーモードが追加されました。claude --ax-screen-readerを実行する、CLAUDE_AX_SCREEN_READER=1を設定する、または設定に"axScreenReader": trueを追加すると有効になります。
vimInsertModeRemaps設定
新しいvimInsertModeRemaps設定を使うと、vimモードでjjのような2キーの挿入モードシーケンスをEscapeに割り当てられます。
企業向けランチャー用のCLAUDE_CODE_PROCESS_WRAPPER
CLAUDE_CODE_PROCESS_WRAPPERを使うと、エージェントビューとバックグラウンドサービスが企業のランチャーに従い、Claude Codeが自ら起動するすべてのプロセスを必須のラッパー実行ファイル経由で実行します。
フルスクリーンメニューでのマウスクリック
フルスクリーンモードで、複数選択メニューと「Other」入力行がマウスクリックに対応しました。
破壊的な削除の確認対象を拡大
$(…)、バッククォート、<(…)を含むコマンド内のrm -rf ~のような破壊的な削除は、--dangerously-skip-permissionsやオートモードでも確認を求めるようになりました。通常の形式で書いた場合と同じ挙動です。
/tasksとアタッチ時のバックグラウンドエージェント
完了したバックグラウンドエージェントは、完了した瞬間に消えるのではなく、クリーンアップされるまで/tasksに表示され続けるようになりました。停止中のバックグラウンドエージェントにアタッチすると、空白の「Session is starting」画面ではなく、セッションの準備中でもすぐにトランスクリプトが表示されます。
修正と改善
- パフォーマンス:権限のdeny/askルールが多いセッションで、ターンごとに数秒の遅延が発生する問題を修正しました。ルールのマッチャーは一度だけコンパイルされ、キャッシュされます。MCPツールが多いprint/SDKセッションでは、ツールプールの構築結果をキャッシュすることでツール呼び出しごとのCPU負荷が下がり、ツール数が多い場合にツールラウンドが最大7倍高速になります。
- メモリとディスク:長時間セッションにおける複数のメモリリークを修正しました。MCP stdioサーバーのstderrがサーバーごとに最大64 MBまで蓄積される問題、LSPドキュメントが無期限に開いたままになる問題(50ドキュメント上限のLRUに変更)、バックグラウンド化後も非同期フックの出力が保持される問題、大きなツール結果ペイロードによりheadless/SDKセッションが際限なく肥大化する問題が含まれます。ファイル編集の読み取りキャッシュは、最大1,000件のファイル全体を保持する代わりに16 MBに制限されました。セッションのトランスクリプトも小さくなり(編集の多いセッションで最大79倍)、置き換え済みのファイル履歴バックアップを整理することでチェックポイントのディスク使用量にも上限が設けられています。
- ファストモード:ファストモードに対応したモデルに戻した後もファストモードがオフのままになる問題を修正しました。設定で有効にしている場合は自動的に復元されます。
- バックグラウンドエージェント:バックグラウンドエージェントへの返信が配信失敗時に失われる問題を修正しました。テキストは保存され、セッションの再起動時に配信されます。実行中の
claude agentsプロセスの起動元バイナリがアップデートで置き換えられた後、バックグラウンドセッションへのアタッチが「Couldn’t start the background daemon」で恒久的に失敗する問題も修正されています。 - コンテキストウィンドウ:CLIの自動アップデート後にコンテキストウィンドウと自動コンパクトのインジケーターが一時的に200kにリセットされ、長いコンテキストのセッションを再開すると誤って「100% context used」と表示される問題を修正しました。
- printモード:
claude -pから大きなレスポンスをパイプする際に、stream-json/JSON出力が途中で切れたり、結果メッセージが欠落したりする問題を修正しました。 - 組み込みツール:読み取り後に変更されたファイルで、対象テキストがまだ一意に一致する場合でもEditツールが失敗する問題を修正しました。Readが空のファイルを「shorter than offset」と報告する問題、Grepが無効な正規表現に対して黙って「No files found」を返す問題やページネーション時のカウントモードで合計を少なく報告する問題、パターン・パス・作業ディレクトリにnullバイトが含まれるとGlobが分かりにくいエラーでクラッシュする問題も修正されています。
- 認証:
apiKeyHelperスクリプトの失敗が、約10回の暗黙の再試行の後に一般的な401エラーに隠れてしまう問題を修正しました。スクリプト自体のエラーが3回以内の試行で表示されるようになりました。また、sso_regionがBedrockのリージョンと異なるAWS SSOプロファイルで、Bedrockの認証が「Session token not found or invalid」で失敗する問題(2.1.207のリグレッション)も修正されています。 - 環境変数:
CLAUDE_CODE_MAX_OUTPUT_TOKENSなどの環境変数が、指数表記の値の仮数部だけを黙って使う問題を修正しました(1e6が1になっていました)。 - Markdownの表:非常に大きな表でレンダリングが止まったり、メモリを過剰に使ったりする問題を修正しました。200行を超える表は最初の200行と「… N more rows」という通知が表示されます。
/release-notes:表示したリリースノートがモデルのコンテキストに追加される問題を修正しました。以前は「Show all」を選ぶと、以降のすべてのリクエストに変更履歴全体が挿入されていました。/usage:使用量エンドポイントがレート制限を受けている場合、/usageはエラー画面の代わりに、最後に取得した使用量バーを「as of」の注記付きで表示するようになりました。- エージェントビュー:Ctrl+Xは名前を変更したブランチのworktreeも削除するようになり、プッシュされていないコミットを破棄することはなく、worktreeを残す場合はセッションの行も保持します。再利用されたworktree名は現在のベースにリセットされます。
- Fable 5:Fable 5の利用クレジットの同意プロンプトが、拒否の選択肢にフォーカスした状態で表示されるようになりました。
このリリースには合計46件の変更が含まれています。すべての項目は変更履歴をご覧ください。
アップデート方法
- インストール済みのバージョンを確認:
claude --version - その場でアップデート:
claude update --dangerously-skip-permissionsやオートモードで実行している場合、$(…)、バッククォート、<(…)の中にあるrm -rf ~のような破壊的な削除が、通常の形式と同様に確認を求めるようになった点に注意してください。