テック技報最新号へ →
AIコーディング

Claude Code のステータスラインに5時間・7日の使用率を出す(rate_limits)

ステータスライン用スクリプトに渡る JSON には rate_limits.five_hour / seven_day の使用率とリセット時刻が入っている(v2.1.80 以降)。コンテキスト使用率と並べて常に見えるようにしておくと、上限に当たる前に作業を切り替えられる。

@oikon48 · 2026-10-28
#claude-code#statusline#料金#rate-limit

手順

~/.claude/settings.json:

json
{
  "statusLine": { "type": "command", "command": "~/.claude/statusline.sh" }
}

~/.claude/statusline.sh(chmod +x):

bash
#!/bin/bash
input=$(cat)
MODEL=$(echo "$input" | jq -r '.model.display_name')
CTX=$(echo "$input" | jq -r '.context_window.used_percentage // empty')
FIVE_H=$(echo "$input" | jq -r '.rate_limits.five_hour.used_percentage // empty')
WEEK=$(echo "$input" | jq -r '.rate_limits.seven_day.used_percentage // empty')
RESET=$(echo "$input" | jq -r '.rate_limits.five_hour.resets_at // empty')
out="$MODEL"
[ -n "$CTX" ] && out="$out | ctx ${CTX%.*}%"
[ -n "$FIVE_H" ] && out="$out | 5h ${FIVE_H%.*}%"
[ -n "$RESET" ] && out="$out (〜$(date -d @"$RESET" +%H:%M 2>/dev/null || date -r "$RESET" +%H:%M))"
[ -n "$WEEK" ] && out="$out | 7d ${WEEK%.*}%"
printf '%s' "$out"
  • used_percentage は 0〜100、resets_at は Unix 秒(ISO 形式ではない)
  • 見た目に凝るなら逆瀬川さんの記事に表示用スクリプトの例がある。記事の URL を Claude に渡して入れてもらうのが早い

注意点

  • rate_limits は claude.ai の Pro / Max 契約者(または支出上限のある Claude apps gateway 経由)だけで、セッション最初の API 応答のあとに現れる。各窓は欠けることがあるので // empty で受ける
  • gateway 経由では rate_limits.spend_limit(使用率、ドル額)も来る
  • 時刻表示を更新し続けたい場合は statusLine に refreshInterval(秒)を足す
  • 上限に近いときの使い方は Claude Code: Haiku 5.5 の自動コンパクトを100Kにして安い料金帯に収める も参照

追記(2026-10-29)

@suthio_ も /usage の内容をステータスバーに出していて「地味に便利」と紹介していた(X の投稿より @suthio_ · 2026-03-04 )。

出典

X の元の投稿を開く