Skip to content

CLAUDE_CODE_MAX_RETRIES の上限変更と CLAUDE_CODE_RETRY_WATCHDOG の導入

原文(日本語に翻訳)

CLAUDE_CODE_MAX_RETRIES を15回に上限を設定しました。無人セッションには代わりに CLAUDE_CODE_RETRY_WATCHDOG を使用してください。

原文(英語)

Changed CLAUDE_CODE_MAX_RETRIES to cap at 15; for unattended sessions, use CLAUDE_CODE_RETRY_WATCHDOG instead

概要

APIリクエストのリトライ回数を制御する環境変数 CLAUDE_CODE_MAX_RETRIES が、最大15回に上限が設定されました。無人(自動化)セッションで無制限のリトライが必要な場合には、新しい CLAUDE_CODE_RETRY_WATCHDOG 環境変数を使用することが推奨されます。この変更により、誤った設定による無限ループや過度なAPIコストの発生を防ぎます。

基本的な使い方

MAX_RETRIES の設定(上限15)

bash
# リトライを最大10回に設定(15以下ならそのまま適用)
export CLAUDE_CODE_MAX_RETRIES=10

# 15を超える値を設定した場合、自動的に15にキャップされる
export CLAUDE_CODE_MAX_RETRIES=100  # → 実際は15として動作

無人セッション用のウォッチドッグ設定

bash
# 無人セッションでの長時間実行に適したウォッチドッグを使用
export CLAUDE_CODE_RETRY_WATCHDOG=true

実践例

CI/CDパイプラインでの設定

yaml
# GitHub Actions の例
- name: Run Claude Code
  env:
    CLAUDE_CODE_MAX_RETRIES: 10
    CLAUDE_CODE_RETRY_WATCHDOG: true
  run: |
    claude --print "コードをレビューしてください" < prompt.txt

スクリプトでの無人実行

bash
#!/bin/bash
# 長時間実行の自動化スクリプト
export CLAUDE_CODE_RETRY_WATCHDOG=true
export CLAUDE_CODE_MAX_RETRIES=15

claude --print "大規模なリファクタリングを実施してください" \
  --max-turns 100

インタラクティブセッションでのリトライ設定

bash
# 通常の対話的使用では少ないリトライ回数で十分
export CLAUDE_CODE_MAX_RETRIES=5
claude

注意点

  • CLAUDE_CODE_MAX_RETRIES に15を超える値を設定しても、15として動作します
  • 無人セッション(CI/CD、スクリプト自動実行)では CLAUDE_CODE_RETRY_WATCHDOG の使用が推奨されます
  • リトライは一時的なAPIエラー(レート制限、タイムアウトなど)に対して機能します
  • 過度なリトライ設定はAPIコストの増加につながる可能性があります
  • この変更は既存の設定に影響する場合があります(15を超える値を設定していた場合)

関連情報