CLAUDE LABEN
TEACHERS — AnthropicがClaude for Teachersを公開。米国K-12の認証済み教員に、プレミアム機能と授業向けスキル、全50州の学習指導基準に沿ったカリキュラム連携を無償提供しますADMIN — Claude Enterprise全組織でAdmin APIがベータ提供に。メンバーと招待の操作はベータヘッダー不要、グループとカスタムロールは専用ヘッダーが必要ですM365 — Microsoft 365コネクタに書き込みツールが追加。メールの下書き・送信・整理、カレンダー操作、OneDriveとSharePointのファイル作成・更新まで任せられますMCP — --mcp-configや.mcp.jsonのサーバ単位request_timeout_msが無視され、新規セッションで60秒既定のままタイムアウトする不具合が修正されましたSUBAGENT — --forward-subagent-textとCLAUDE_CODE_FORWARD_SUBAGENT_TEXTが追加。サブエージェントのテキストと思考をstream-json出力に含められますDEADLINE — 7月24日にOpus 4.7のfastモードが削除されます。残り7日、speed: "fast" はエラーになるためOpus 4.8への移行をご確認くださいTEACHERS — AnthropicがClaude for Teachersを公開。米国K-12の認証済み教員に、プレミアム機能と授業向けスキル、全50州の学習指導基準に沿ったカリキュラム連携を無償提供しますADMIN — Claude Enterprise全組織でAdmin APIがベータ提供に。メンバーと招待の操作はベータヘッダー不要、グループとカスタムロールは専用ヘッダーが必要ですM365 — Microsoft 365コネクタに書き込みツールが追加。メールの下書き・送信・整理、カレンダー操作、OneDriveとSharePointのファイル作成・更新まで任せられますMCP — --mcp-configや.mcp.jsonのサーバ単位request_timeout_msが無視され、新規セッションで60秒既定のままタイムアウトする不具合が修正されましたSUBAGENT — --forward-subagent-textとCLAUDE_CODE_FORWARD_SUBAGENT_TEXTが追加。サブエージェントのテキストと思考をstream-json出力に含められますDEADLINE — 7月24日にOpus 4.7のfastモードが削除されます。残り7日、speed: "fast" はエラーになるためOpus 4.8への移行をご確認ください
記事一覧/Claude Code
Claude Code/2026-03-27中級

Claude Code ステータスライン — rate_limits 表示とカスタムスクリプトの実践設定

Claude Code のステータスラインを活用して使用量や rate_limits をリアルタイム表示する方法を解説。settings.json での設定、カスタムスクリプトの作成、コミュニティツールの活用法まで網羅します。

Claude Code197statuslinerate limitsカスタマイズ3設定6

Claude Code のステータスラインで使用状況を可視化する

Claude Code をターミナルで使っていると、「あとどれくらい使えるか」が気になるタイミングがあります。特に Pro プランや Max プランでは、5時間ウィンドウや7日間ウィンドウのレート制限が適用されるため、突然レート制限に達して作業が中断されるのは避けたいところです。

Claude Code v2.1.80 以降では、ステータスライン機能で rate_limits フィールドが利用可能になり、リアルタイムで使用率やリセット時刻を確認できるようになりました。ここではステータスラインの基本設定からカスタムスクリプトの作成、便利なコミュニティツールの活用法まで、実践的にお伝えします。

Claude Code の設定ファイル全般については、Claude Code settings.json 完全ガイドも合わせてご覧ください。

ステータスラインとは

ステータスラインは、Claude Code の画面下部に表示される情報バーです。デフォルトではモデル名やトークン使用量などが表示されますが、カスタムコマンドを指定することで、自分好みの情報を表示できます。

表示される主な情報は次の通りです。

  • モデル名: 現在使用中のモデル(Sonnet 4.6、Opus 4.6 など)
  • トークン使用量: セッション内の入出力トークン数
  • rate_limits: 5時間/7日間ウィンドウの使用率とリセット時刻
  • git 情報: 現在のブランチ名やステータス
  • カスタム情報: スクリプトで自由に定義した内容

基本設定: settings.json にステータスラインを追加する

ステータスラインの設定は ~/.claude/settings.json(ユーザー設定)に記述します。

{
  "statusLine": {
    "type": "command",
    "command": "echo 'Hello from statusline'"
  }
}

この設定を追加するだけで、ステータスラインに任意のコマンドの出力が表示されるようになります。

設定ファイルの場所

スコープパス用途
ユーザー設定~/.claude/settings.json個人のカスタマイズ
プロジェクト設定.claude/settings.jsonプロジェクト固有の設定
エンタープライズ~/.claude/settings.d/*.json組織ポリシーの配布

ステータスラインはユーザー設定に記述するのが一般的です。

rate_limits フィールドを活用する

v2.1.80 以降、ステータスラインのスクリプトには rate_limits オブジェクトが環境変数として渡されます。このオブジェクトには以下の情報が含まれます。

{
  "rate_limits": {
    "five_hour": {
      "used_percentage": 42.5,
      "resets_at": 1711540800
    },
    "seven_day": {
      "used_percentage": 15.3,
      "resets_at": 1712059200
    }
  }
}

各フィールドの意味

  • five_hour.used_percentage: 5時間ローリングウィンドウの使用率(0〜100)
  • five_hour.resets_at: リセット時刻(Unix エポック秒)
  • seven_day.used_percentage: 7日間ウィンドウの使用率(0〜100)
  • seven_day.resets_at: リセット時刻(Unix エポック秒)

このフィールドは Claude.ai サブスクライバー(Pro/Max) で、最初の API レスポンス後に利用可能になります。API キー利用の場合は表示されません。

実践: カスタムステータスラインスクリプトを作る

シンプルな Bash スクリプト

まずはシンプルに rate_limits を表示するスクリプトを作成しましょう。

#!/bin/bash
# ~/.claude/statusline.sh
# Claude Code ステータスライン用スクリプト
 
# 標準入力から JSON データを読み取る
INPUT=$(cat)
 
# jq で rate_limits を抽出
FIVE_HOUR=$(echo "$INPUT" | jq -r '.rate_limits.five_hour.used_percentage // "N/A"')
SEVEN_DAY=$(echo "$INPUT" | jq -r '.rate_limits.seven_day.used_percentage // "N/A"')
MODEL=$(echo "$INPUT" | jq -r '.model // "unknown"')
 
# リセット時刻を人間が読める形式に変換
RESETS_AT=$(echo "$INPUT" | jq -r '.rate_limits.five_hour.resets_at // 0')
if [ "$RESETS_AT" != "0" ] && [ "$RESETS_AT" != "null" ]; then
  RESET_TIME=$(date -d "@$RESETS_AT" '+%H:%M' 2>/dev/null || date -r "$RESETS_AT" '+%H:%M' 2>/dev/null)
else
  RESET_TIME="--:--"
fi
 
# 出力(絵文字でわかりやすく)
echo "${MODEL} | 5h: ${FIVE_HOUR}% | 7d: ${SEVEN_DAY}% | Reset: ${RESET_TIME}"

スクリプトに実行権限を付与し、settings.json に登録します。

chmod +x ~/.claude/statusline.sh
{
  "statusLine": {
    "type": "command",
    "command": "~/.claude/statusline.sh"
  }
}

Node.js で高機能なスクリプトを作る

より高度な表示をしたい場合は、Node.js スクリプトがおすすめです。

#!/usr/bin/env node
// ~/.claude/statusline.mjs
// プログレスバー付きステータスライン
 
import { createInterface } from 'readline';
 
const rl = createInterface({ input: process.stdin });
let data = '';
 
rl.on('line', (line) => { data += line; });
rl.on('close', () => {
  try {
    const info = JSON.parse(data);
    const parts = [];
 
    // モデル名(短縮表示)
    const model = info.model || 'unknown';
    const shortModel = model.replace('claude-', '').replace('-4-6', '4.6');
    parts.push(shortModel);
 
    // rate_limits が利用可能な場合
    if (info.rate_limits) {
      const fiveHour = info.rate_limits.five_hour;
      const sevenDay = info.rate_limits.seven_day;
 
      if (fiveHour) {
        const bar = makeBar(fiveHour.used_percentage);
        parts.push(`5h ${bar} ${fiveHour.used_percentage.toFixed(0)}%`);
      }
      if (sevenDay) {
        const bar = makeBar(sevenDay.used_percentage);
        parts.push(`7d ${bar} ${sevenDay.used_percentage.toFixed(0)}%`);
      }
    }
 
    // トークン使用量
    if (info.tokens) {
      const total = info.tokens.input + info.tokens.output;
      parts.push(`${(total / 1000).toFixed(1)}k tok`);
    }
 
    console.log(parts.join(' | '));
  } catch {
    console.log('statusline error');
  }
});
 
function makeBar(percentage) {
  // 10段階のプログレスバーを生成
  const filled = Math.round(percentage / 10);
  const empty = 10 - filled;
  const color = percentage > 80 ? '!' : percentage > 50 ? '*' : ' ';
  return '[' + '='.repeat(filled) + '-'.repeat(empty) + ']';
}

期待される出力は以下のようになります。

sonnet4.6 | 5h [====------] 42% | 7d [==--------] 15% | 12.3k tok

インラインコマンドで手軽に設定する

スクリプトファイルを作成せず、settings.json 内にインラインでコマンドを記述することもできます。

{
  "statusLine": {
    "type": "command",
    "command": "jq -r '\"\\(.model // \"?\") | 5h: \\(.rate_limits.five_hour.used_percentage // 0 | round)% | 7d: \\(.rate_limits.seven_day.used_percentage // 0 | round)%\"'"
  }
}

手軽に試したい場合はこの方法が便利です。ただし複雑な処理には外部スクリプトが適しています。

コミュニティツールを活用する

Claude Code のステータスラインをさらに充実させるコミュニティ製ツールも登場しています。

claude-powerline

Vim の Powerline にインスパイアされたステータスラインツールです。テーマのカスタマイズや色付き表示に対応しています。

# インストール
npm install -g claude-powerline
 
# settings.json に登録
# "command": "claude-powerline"

ccusage

Claude Code の使用量を分析・可視化するツールで、ステータスラインへの統合機能も備えています。

# インストール
npm install -g ccusage
 
# ステータスライン用のフォーマットを設定
# 詳細は https://ccusage.com/guide/statusline を参照

ClaudeCodeStatusLine(Rust 製)

Daniel Barreto 氏が開発した Rust 製のステータスラインツールです。モデル、トークン、rate_limits、git 情報をリアルタイム表示します。

# GitHub からインストール
cargo install --git https://github.com/daniel3303/ClaudeCodeStatusLine

レート制限の使い方全般については、レート制限のベストプラクティスでも詳しく解説しています。

レート制限に近づいたときの対処法

ステータスラインで使用率が高くなっていることに気づいた場合、いくつかの対処法があります。

1. モデルの切り替え

Opus 4.6 から Sonnet 4.6 に切り替えることで、レート制限の消費を抑えられます。コーディングタスクの多くは Sonnet 4.6 で十分対応可能です。

# セッション中にモデルを切り替える
/model sonnet

2. Effort レベルの調整

--effort フラグで応答の深さを調整できます。簡単な質問には低い Effort レベルを使うことで、トークン消費を抑制できます。

claude --effort low "この関数の戻り値の型は何?"

3. セッションの分割

長時間のセッションではコンテキストが肥大化し、トークン消費が増加します。定期的に新しいセッションを開始することで、効率的にレート制限を管理できます。

より深い最適化テクニックを知りたい方は、Claude Code の Effort 設定を極めるもご覧ください。

全体を振り返って

Claude Code のステータスラインは、設定一つで開発体験を大きく改善できる機能です。特に rate_limits のリアルタイム表示は、レート制限を意識しながら効率的に作業を進めるうえで欠かせません。

この記事で紹介した設定をベースに、自分のワークフローに合ったステータスラインをぜひカスタマイズしてみてください。Bash のワンライナーから始めて、慣れてきたら Node.js スクリプトやコミュニティツールを試すのがおすすめです。

シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

Claude Code2026-04-12
CLAUDE.md が反映されない・無視される問題を完全解決するトラブルシューティングガイド
CLAUDE.md の設定が Claude Code に反映されない・無視される問題の原因と対処法を徹底解説。ファイル配置ミス・書式エラー・階層設定の混乱など、よくある失敗パターンをすべて網羅します。
Claude Code2026-03-20
Claude Code のアウトプットスタイル — 応答をカスタマイズして開発効率を最大化
Claude Codeのアウトプットスタイル機能を徹底解説。組み込みスタイルの活用法からカスタムスタイルの作成方法まで、実践的なコード例付きで開発効率を劇的に向上させる設定テクニックを紹介します。
Claude Code2026-06-13
モデルの自動アップグレードでクレジットを使い切らないために — enforceAvailableModels で実行モデルを固定する
6月15日の課金変更で月次クレジットは繰越なしに移行します。サブエージェントやフォールバックが意図せず上位モデルへ上がってクレジットを溶かさないよう、enforceAvailableModels で実行モデルを管理側から固定する設計と検証手順をまとめました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →