ステータスラインに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形式のデータを標準入力から受け取ります