Skip to content

ステータスラインにClaude.aiレート制限使用状況を表示する

原文(日本語に翻訳)

ステータスラインスクリプトに rate_limits フィールドを追加 — 5時間および7日間ウィンドウの used_percentage および resets_at でClaude.aiのレート制限使用状況を表示可能

原文(英語)

Added rate_limits field to statusline scripts for displaying Claude.ai rate limit usage (5-hour and 7-day windows with used_percentage and resets_at)

概要

Claude Code v2.1.80から、ステータスラインスクリプトで rate_limits フィールドを使用して、Claude.aiのレート制限使用状況をリアルタイムに確認できるようになりました。5時間ウィンドウと7日間ウィンドウの使用率(used_percentage)とリセット時刻(resets_at)を表示でき、使用量の管理がより簡単になります。

基本的な使い方

ステータスラインスクリプト(statusline 設定で指定するスクリプト)から rate_limits データにアクセスできます。

json
{
  "rate_limits": {
    "5h": {
      "used_percentage": 45.2,
      "resets_at": "2026-03-20T15:30:00Z"
    },
    "7d": {
      "used_percentage": 12.8,
      "resets_at": "2026-03-27T00:00:00Z"
    }
  }
}

実践例

シンプルなレート制限表示スクリプト

bash
#!/bin/bash
# ~/.claude/statusline.sh

# 標準入力からJSONを読み込む
data=$(cat)

# 5時間ウィンドウの使用率を取得
used_5h=$(echo "$data" | jq -r '.rate_limits["5h"].used_percentage // 0')
resets_5h=$(echo "$data" | jq -r '.rate_limits["5h"].resets_at // ""')

echo "📊 5h: ${used_5h}% used"

使用率に応じて色を変えて表示

bash
#!/bin/bash
data=$(cat)
used=$(echo "$data" | jq -r '.rate_limits["5h"].used_percentage // 0')
used_int=${used%.*}

if [ "$used_int" -ge 90 ]; then
  icon="🔴"
elif [ "$used_int" -ge 70 ]; then
  icon="🟡"
else
  icon="🟢"
fi

echo "${icon} ${used}%"

settings.jsonでのステータスライン設定

json
{
  "statusline": {
    "script": "~/.claude/statusline.sh",
    "interval": 30
  }
}

リセット時刻をローカルタイムに変換して表示

bash
#!/bin/bash
data=$(cat)
resets_at=$(echo "$data" | jq -r '.rate_limits["5h"].resets_at // ""')
used=$(echo "$data" | jq -r '.rate_limits["5h"].used_percentage // 0')

if [ -n "$resets_at" ]; then
  local_time=$(date -d "$resets_at" '+%H:%M' 2>/dev/null || date -j -f '%Y-%m-%dT%H:%M:%SZ' "$resets_at" '+%H:%M' 2>/dev/null)
  echo "⏱ ${used}% (reset: ${local_time})"
else
  echo "⏱ ${used}%"
fi

注意点

  • rate_limits フィールドはClaude.aiアカウントでサインインしている場合にのみ有効です
  • APIキー認証を使用している場合、このフィールドは提供されない場合があります
  • used_percentage は小数点を含む浮動小数点数です
  • resets_at はISO 8601形式のUTCタイムスタンプです
  • 5時間ウィンドウ(5h)と7日間ウィンドウ(7d)の両方が提供されます
  • ステータスラインスクリプトはJSON形式のデータを標準入力から受け取ります

関連情報