cheapestinference/claude-auto-retry

Auto-retry Claude Code on subscription rate limits, API overload (529/5xx) and safeguard false positives — waits for the printed reset, exponential backoff, tmux-based

何を解決するか

claude-auto-retry は、Anthropic のサブスクリプションのレート制限、API の過負荷、一時的なエラーによってセッションが一時停止された場合に、自動的に再開するユーティリティです。ユーザーがターミナルを監視してリセット後に手動で「continue」と入力する必要がなくなり、生産性の低下を防ぎます。

動作方法

このツールは claude コマンドをラップするシェル関数として動作します。tmux を使って、ユーザーが切断されたり、ノートPCがスリープ状態になっても、セッションをバックグラウンドで継続実行します。バックグラウンドのモニタは、5秒ごとに tmux パネルの出力をポーリングし、特定のエラーメッセージを検出します。

検出されたメッセージに応じて、以下の回復パスをトリガーします:

  • 使用制限: リセット時刻(タイムゾーン対応)を解析し、リセット後60秒のマージンを加えて「continue」を送信します。
  • API 過負荷: 5xx エラーまたは overloaded_error 応答に対して、ジッター付きの指数バックオフを実装します。
  • セーフガードの誤検出: 一時的な AUP フラグをクリアするために、限定回数の即時再送信を実行します。
  • 中断されたストリーム: 接続が切断された場合や、コンピュータが応答途中でスリープした場合に、作業を再開します。

対象ユーザー

長時間実行されるタスク、夜間ジョブ、または頻繁にレート制限やAPIの不安定性によって中断されるエージェントワークフローを実行する開発者。

特徴

  • ワークフロー変更なし: claude コマンドの代替として統合され、同じTUI体験を維持します。
  • tmux 統合: SSH切断やシステムスリープにかかわらず、セッションの永続性を確保するため、自動的に tmux セッションを作成・管理します。
  • タイムゾーン対応の解析: IANAタイムゾーンオフセットと夏時間の切り替えを正確に処理し、リセット時刻を計算します。
  • イベント駆動型検出: 端末のスクレイピングなしで曖昧さのない過負荷検出のためのオプション StopFailure フック。
  • Chrome対応のスクレイピング: 入力ボックスやステータススピンナーなどのUI要素を無視する知能的な端末監視により、誤検出を回避します。
  • 純粋な Node.js: 外部の node_modules 依存関係が一切ありません。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • Dispatch
  • プロジェクト