Claude Code v2.1.301:無人リトライの使用量制限待機に上限、Vimの%モーション、分類器テレメトリ
Claude Code v2.1.301は、使用量制限のリセットが遠い場合に無人リトライモードがリクエストを終了できるようにし、vimの%モーションとOpenTelemetryの自動モード分類器フィールドを追加し、worktree、サインイン、検索、VS Codeの問題を修正しています。
Claude Code v2.1.301は、変更履歴に51項目が並ぶ大規模なリリースです。無人リトライモードが使用量制限で待機する時間に上限を設けられるようになったほか、vimモードの%モーションと、自動モードの分類器による判断を権限ルールと区別できるOpenTelemetryフィールドが追加されました。また、コンテキストウィンドウが小さいモデルへの切り替え時の動作が変わり、VS CodeでLaTeX数式が表示されるようになり、worktree、サインイン、検索、ワークフロー、ターミナルにわたる問題が修正されています。
新機能
無人リトライの使用量制限待機に上限
新しいCLAUDE_CODE_RETRY_WATCHDOG_MAX_USAGE_LIMIT_WAIT_MS変数により、無人リトライモード(CLAUDE_CODE_RETRY_WATCHDOG)は、リセットまでの時間が長すぎる使用量制限に達したとき、リセットを待たずにリクエストを終了できるようになりました。
Vimモード:%モーションとEscapeの修正
Vimモードに%モーションが追加され、単独で、またはd/c/yと組み合わせて対応する括弧へジャンプできます。また、低速なマシンや負荷の高いマシンでEscape後もINSERTのままになることがある問題が修正され、AskUserQuestionの自由入力欄がvimのNORMALモードに対応しました。EscはNORMALモードからのみキャンセルするため、入力済みの回答が破棄されなくなります。
OpenTelemetryで自動モード分類器の詳細を記録
OpenTelemetryのtool_decisionイベントにclassifier_verdictとpermission_modeが追加され、自動モードの分類器による判断と権限ルールによる判断を区別できるようになりました。OTEL_LOG_TOOL_DETAILS=1を設定している場合は、分類器によるブロックが一致した組み込みルールを示すclassifier_categoryも含まれます。
コンテキストウィンドウが小さいモデルへの切り替え
コンテキストウィンドウが小さいモデルに切り替える際、新しいモデルには長すぎる会話は、まず以前のモデルによって要約されるようになりました。関連する修正により、この切り替えで確認なしに要約のための利用クレジットが消費されることがあるケースも解消されています。
fableとbestエイリアスのフォールバック
最新のFableモデルを組織で利用できない場合でも、fable(およびbest)モデルエイリアスがAnthropic APIでエラーにならなくなりました。Claude Codeは1つ前のFableモデルで1回再試行します。
Mod APIの変更
- modの
Inputがrowsに対応し、ターミナルで複数行のテキストフィールドを使えるようになりました。Enterで送信し、Shift+EnterまたはEnterの前にバックスラッシュを入力すると改行します。 - modフックの
.catchハンドラーは、フックが例外をスローしたかタイムアウトした場合にのみ実行されるようになりました。フック自身の呼び出しの下で発生したイベントは、.catchに問い合わせることなくそのフックをスキップします。 $.env.setは、変数の設定または解除が完了すると{}で解決し、書き込みが行われなかった場合は理由を示す{ deny }で解決するようになりました。- VS Code、デスクトップアプリ、モバイルアプリでは、質問ダイアログの上に描画するツリーにMarkdownと最大48行を含められるようになりました。ターミナルではプレーンテキスト12行のままです。
VS Code:LaTeX数式と「Get more usage」リンク
VS CodeでClaudeの応答に含まれるLaTeX数式が表示されるようになりました。$$や複数行の\[ … \]ブロック、インラインの$…$と\(…\)に対応しています。また、ProプランとMaxプランでは、VS CodeとJetBrainsのパネルの使用量制限バナーに「Get more usage」リンクが表示されます。
修正と改善
- Worktree:
WorktreeCreateフックで作成したworktreeにプッシュしていないコミットが含まれている可能性がある場合に、終了時に確認なしで削除される問題を修正しました。 - 検索と読み取り:検索プログラムが結果を返す前に予期せず失敗した場合、GrepとGlobは一致なしと報告せず、検索が失敗したことを示すエラーを返すようになりました。Readツールが.xlsm、.parquet、.epub、.heicなどのバイナリファイルをテキストとして読み込む問題も修正されました。
- サインイン:ディスクがいっぱいでログインを更新できない場合、誤解を招く「Please run /login」ではなく、ディスクを示してファイルの削除を促すエラーが表示されるようになりました。
claude auth statusやclaude plugin listなどの短いコマンドがトークン更新の途中で終了した後に、更新のタイムアウトや予期しないサインアウトが起きる問題も修正されました。 - ワークフロー:タスクのテキストにはユーザー権限がないというハーネスの注記を読んだワークフローエージェントが、自分のステップをスキップしたのに実行全体は成功と報告されることがある問題を修正しました。同じセッションでBashの
cdを実行した後に、ワークフロースクリプトの読み取り、編集、再実行で権限を求められたり拒否されたりする問題も修正されました。 - スキルとコマンド:引数名が非常に多い、または非常に長いスキルやコマンドを呼び出すと数秒間止まる問題を修正しました。現在は先頭の64個の名前(各64文字まで)のみが埋め込まれます。また、
/rewindの使用後にスキルがモデルに提示されなくなる問題も修正されました。 - コンパクション:応答に記載されるモデル名がリクエストしたモデルと異なるLLMゲートウェイの背後で、選択していないモデルによって会話が繰り返しコンパクションされる問題を修正しました。
- 権限:権限チェック中にターンの途中で送られたメッセージによって中断されたツール呼び出しが、ユーザーに拒否されたものとしてモデルに報告される問題を修正しました。プラグインやスキルのフックによる
ask判定の権限プロンプトには、そのフックがどのプラグインまたはスキルのものかが表示されるようになりました。 - モデル切り替え:プロバイダーがBedrockでない場合に、名前に
application-inference-profileを含むモデルへ切り替えるとawsAuthRefreshコマンドが実行され、モデル切り替えフックが遅れる問題を修正しました。 - ターミナル:0.53より古いVTEをベースにしたターミナル(RHEL 8のMATE Terminalなど)で
>0qや>4mなどの余計な文字が表示される問題と、一部のバージョンのiTerm2で起動時にプロンプトへGOKという文字が表示される問題を修正しました。 - パフォーマンス:長時間実行されるサブエージェントの作業中、進行状況の表示がレンダリングのたびに全体を再処理せず、差分で更新されるようになりました。
claude-apiスキル:antCLIを使ったトレース送信先の設定を含む、OpenTelemetryトレーシングのガイダンスが追加されました。- Self-hosted runner:管理設定でMCPサーバーが制限されている場合に、Slackから開始したセッションがリポジトリを見つけたりアタッチしたりできない問題を修正しました。
- Windows:停止したバックグラウンドのPowerShellコマンドの出力ファイルに、最後の
[killed]行が含まれない問題を修正しました。 - VS Code:パネルをクラッシュまたはフリーズさせた会話がリロードのたびに再度開かれる問題と、長い思考中にチャットパネルが遅くなる問題を修正しました。
このリリースには合計51件の変更が含まれています。すべての項目は完全な変更履歴をご覧ください。
アップデート方法
- インストール済みのバージョンを確認:
claude --version - その場でアップデート:
claude update - MCPサーバーを制限する管理設定のもとでself-hosted runnerを運用している場合、Slackから開始したセッションがリポジトリを見つけてアタッチできるようになりました。これらのツールをオフのままにするには
deniedMcpServersを使用してください。