Skip to content

原文(日本語訳)

Bashツールが gh コマンドでGitHubのAPIレート制限に達した際にヒントを表示するようになりました。エージェントがリトライを繰り返す代わりにバックオフできるようになります。

原文(英語)

Bash tool now surfaces a hint when gh commands hit GitHub's API rate limit, so agents can back off instead of retrying

概要

Claude Codeのエージェントが gh コマンド(GitHub CLI)を使用してGitHub APIにアクセスする際、レート制限(rate limit)に達すると従来は無限にリトライを繰り返す可能性がありました。v2.1.116では、Bashツールがレート制限エラーを検出するとヒントメッセージを表示し、エージェントがリトライを止めて適切なバックオフ(待機)処理を行えるようになりました。

基本的な使い方

特別な設定は不要です。gh コマンドがレート制限に達すると、Bashツールが自動的にヒントを表示します。

bash
# gh コマンドでレート制限に達した場合
gh api /repos/owner/repo/issues

# Bashツールが以下のようなヒントを表示:
# "GitHub API rate limit reached. Consider waiting before retrying."

実践例

大量のIssue/PR処理でのレート制限対応

エージェントが多数のIssueやPRを処理するタスクで、APIレート制限を適切にハンドリングできます。

bash
# エージェントへの指示
claude "このリポジトリの全てのOpenなPRをレビューして、コメントをまとめてください"

# gh コマンドがレート制限に達した場合:
# → Bashツールがヒントを表示
# → エージェントがバックオフして、しばらく待ってから処理を再開

CI/CD環境でのスクリプト実行

自動化スクリプト内でのGitHub API呼び出し時にも、レート制限の検知が役立ちます。

bash
# エージェントがレート制限を検出したら自動的に待機
claude --agent "毎時間、新しいIssueをチェックしてラベルを付けてください"
# → レート制限時は自動バックオフし、制限がリセットされるまで待機

レート制限の残量確認

bash
# 現在のレート制限状況を確認
gh api rate_limit
# {
#   "rate": {
#     "limit": 5000,
#     "remaining": 42,
#     "reset": 1735000000
#   }
# }

注意点

  • GitHub APIのレート制限は認証状態によって異なります(未認証: 60回/時間、認証済み: 5000回/時間)
  • gh auth login で認証することでレート制限を大幅に緩和できます
  • GitHub ActionsやCI環境では専用のトークンを使用することを推奨します
  • レート制限のリセット時間は X-RateLimit-Reset ヘッダーで確認できます
  • このヒント機能はエージェントの自律的なバックオフを補助するものです

関連情報