Skip to content

原文(日本語に翻訳)

v2.1.110での非ストリーミングフォールバックリトライの上限設定を元に戻しました。この上限は、APIが過負荷の際に長い待ち時間と引き換えに、より多くの完全な失敗を招いていました。

原文(英語)

Reverted the v2.1.110 cap on non-streaming fallback retries — it traded long waits for more outright failures during API overload.

概要

Claude Code v2.1.110で導入された非ストリーミングフォールバックリトライの上限設定がv2.1.111でリバートされました。この上限はAPI過負荷時の長い待ち時間を短縮することを目的としていましたが、実際には待ち時間が短くなる代わりに完全な失敗(エラー)が増加するという問題が生じていました。リバートにより、以前の動作(より多くリトライし、成功率を優先する)に戻ります。

基本的な使い方

この変更はユーザーによる設定が不要な自動改善です。Claude CodeがAPI過負荷時(高トラフィック時)に内部的に非ストリーミングモードにフォールバックする際のリトライ動作が改善されます。

影響を受ける場面

# API過負荷時(レート制限・高トラフィック)の動作

# v2.1.110での動作(問題あり):
# リトライ上限を早めに打ち切る → 完全な失敗エラーが増加

# v2.1.111での動作(リバート後):
# 十分な回数リトライする → 待ち時間は長くなることがあるが成功率が高い

実践例

API過負荷時の体験改善

# 以前(v2.1.110):
# Claude Codeが応答しない場合、比較的早くエラーが返ってきていた
# "Error: API request failed after max retries"

# 以降(v2.1.111リバート後):
# 少し時間がかかることがあるが、最終的に成功する可能性が高い

バッチ処理での信頼性向上

bash
#!/bin/bash
# 複数のタスクをバッチ処理する場合
# v2.1.111では、API過負荷時でも各タスクが成功する可能性が高くなる

TASKS=(
  "ファイル1を解析してください"
  "ファイル2をリファクタリングしてください"
  "ファイル3のテストを生成してください"
)

for task in "${TASKS[@]}"; do
  # リトライが十分に行われるため、成功率が向上
  claude --print "$task"
done

CI/CDパイプラインでの安定性

yaml
# GitHub Actionsでの例
# API過負荷時でもリトライが適切に行われるため、
# ジョブが不必要に失敗する頻度が減少する

- name: Run Claude Analysis
  run: claude --print "コードベースを分析してください"
  # timeout-minutesを適切に設定することで、長いリトライにも対応
  timeout-minutes: 10

注意点

  • この変更はユーザーに直接的な操作上の変化をもたらすものではありませんが、API過負荷時の動作が改善されます
  • 高トラフィック時に応答が遅くなることがありますが、これは成功率を高めるためのトレードオフです
  • タイムアウトを設定している場合、リトライが多く行われることで設定したタイムアウト時間内に処理が完了しない場合があります。必要に応じてタイムアウト値を調整してください
  • --max-tokens--timeoutフラグで動作を調整できます
  • 非ストリーミングフォールバックはAPIストリーミングが利用できない場合の内部的なフォールバック機構です

関連情報