
Claude Codeでコンテキスト使用率を常に表示する

Claude Code のステータスラインにコンテキストウィンドウの使用率を表示
はじめに
Claude Code を使っていると、会話が長くなるにつれてコンテキストウィンドウが一杯になり、AIの回答精度が落ちてしまうことがあります。
コンテキストウィンドウ = Claudeが一度に記憶できる会話の量
- 会話履歴、コード、ファイルの内容など、すべてがこの容量に入る
- 容量が一杯になると、古い情報が忘れられたり、回答の精度が落ちたりする
- トークン数で測られる (Claude Opus 4.5なら約200,000トークン)
コンテキストの使用状況は /context コマンドの結果で確認できます。

今回は、コンテキストの使用状況を把握し、管理するための機能であるステータスラインのコンテキスト表示と /compact コマンドについて見ていきます。
ステータスラインでコンテキスト使用量を確認する
2026年1月13日のアップデート v2.1.6 で、Claude Code のステータスラインでコンテキストウィンドウの使用率がより簡単に表示できるようになりました。
ステータスラインとは
Claude Codeの入力欄の下に表示される情報バーです。

これをカスタマイズすることで、コンテキスト使用率やトークン数など、自分が知りたい情報を自由に表示できるようになります。
今回のアップデートでステータスラインのカスタマイズで使えるフィールドが追加されました。
context_window.used_percentage
コンテキストウィンドウの使用率をパーセンテージで表示
context_window.remaining_percentage
コンテキストウィンドウの残り容量をパーセンテージで表示
やってみた
今回は下記のClaudeCodeのドキュメントを参考に設定していきます。
概要
最終的にこのような表示になるように設定していきます。
Opus 4.5 | 4027/1184 tokens | Context: 1% used | 0.1s
※値はイメージです
事前準備
Claude Code のバージョン
この機能を利用するには Claude Code v2.1.6 以降が必要です。
jq のインストール
今回は、シェルスクリプトと jq コマンドを利用してやっていきます。
jq がインストールされていない場合は、お使いの環境に合わせてインストールしてください。
設定手順
設定は、スクリプトを作成し、Claude Code の設定ファイルでそのスクリプトを呼び出す、という2つのステップです。
設定ファイルについて
Claude Codeの設定ファイルには、グローバル設定とプロジェクト設定の2種類があります。
| 設定の種類 | ファイルパス | 適用範囲 |
|---|---|---|
| グローバル設定 | ~/.claude/settings.json |
すべてのプロジェクトで有効 |
| プロジェクト設定 | .claude/settings.local.json |
特定のプロジェクトのみ有効 |
今回はグローバル設定として設定していきます。
statusline.sh スクリプトの作成
まず、コンテキスト情報を整形して表示するためのシェルスクリプトを作成します。
~/.claude/ ディレクトリに statusline.sh という名前で以下の内容のファイルを作成してください。
#!/bin/bash
# 標準入力からJSON形式のデータを読み込む
input=$(cat)
# 各種情報を取得
model=$(echo "$input" | jq -r '.model.display_name // "Claude"')
input_tokens=$(echo "$input" | jq -r '.context_window.total_input_tokens // "0"')
output_tokens=$(echo "$input" | jq -r '.context_window.total_output_tokens // "0"')
used=$(echo "$input" | jq -r '.context_window.used_percentage // "0"')
duration_ms=$(echo "$input" | jq -r '.cost.total_api_duration_ms // "0"')
# レイテンシを秒に変換(小数点1桁)
latency=$(echo "scale=1; $duration_ms / 1000" | bc)
# ステータスライン表示
echo "${model} | ${input_tokens}/${output_tokens} tokens | Context: ${used}% used | ${latency}s"
このスクリプトは、Claude Codeから渡されるデータ (JSON形式) から情報を抽出し、以下の情報を表示します。
- モデル名
- 入出力トークン数
- コンテキスト使用率
- レイテンシ(応答時間)
次に、作成したスクリプトに実行権限を付与します。
chmod +x ~/.claude/statusline.sh
settings.json の設定
次に、Claude Code の設定ファイルに、先ほど作成したスクリプトをステータスラインの表示に使うよう設定します。
~/.claude/settings.json ファイルを開き、以下の statusLine の設定を追加します。
{
"statusLine": {
"type": "command",
"command": "~/.claude/statusline.sh"
}
}
もし settings.json に既に他の設定が存在する場合は、statusLine ブロックを追加してください。
※プロジェクト設定(.claude/settings.local.json)にも statusLine の設定がある場合、プロジェクト設定が優先されます。グローバル設定を有効にしたい場合は、プロジェクト設定から statusLine の記述を削除してください。
動作確認
上記の設定が完了した後、画面下部のステータスラインに、以下のようにコンテキストの使用率が表示されていれば成功です。

※設定が反映されない場合、Claude Codeの再起動をしてみてください。
※入出力トークン数の表示は、好みがあると思いました。(実際に使ってみた感想)
/compact でコンテキストを要約・圧縮する
コンテキストが上限に近づいてきた時には /compact コマンドを使います。
このコマンドを実行すると、Claudeはそれまでの会話の履歴やコードの文脈を要約してコンテキストを圧縮し、コンテキストのサイズを削減してくれます。
Auto-compactについて
Claude Codeにはauto-compactという自動圧縮機能があります。
コンテキストが95%を超えるとデフォルトでauto-compactが発動し、会話履歴を要約してコンテキストを圧縮してくれます。
ただし、auto-compactは「コンテキストがほぼ一杯」という緊急時に発動するため、作業途中で発動すると文脈が途切れることがあります。
そのため、ステータスラインで使用率が80-90%程度になったら手動で /compact を実行し、適切なタイミングで圧縮できて良いと思います。
ちなみにこの設定は/configのAuto-compact設定から有効、無効を切り替えられます。

使うタイミング
通常はステータスラインのコンテキスト使用率が80%〜90%ぐらいになったら、/compact を実行する感じです。
それ以外でも、会話のテーマが切り替わる前や、複雑なタスクを依頼する前に実行しておくのも、回答精度を良くするにはいいかもしれません。
この辺りは色々な説や思想があると思います。
まとめ
-
ステータスラインの表示
コンテキストの使用状況を常に把握できるようにカスタマイズできる -
/compact コマンド
コンテキストが一杯になる前に、会話の要点を維持しつつ圧縮する -
auto-compact機能
95%に達すると自動的に圧縮されるが、作業途中での発動を避けたい場合は/compactする
今回は、Claude Code のステータスラインをカスタマイズして、コンテキストの使用状況を表示する方法を紹介しました。
トークンの消費量を常に意識しながら、より快適に Claude Code を活用できるような人間になりたいです。
このブログがどなたかのお役に立てば幸いです。
参考資料
クラスメソッドオペレーションズ株式会社について
クラスメソッドグループのオペレーション企業です。
運用・保守開発・サポート・情シス・バックオフィスの専門チームが、IT・AIをフル活用した「しくみ」を通じて、お客様の業務代行から課題解決や高付加価値サービスまでを提供するエキスパート集団です。
当社は様々な職種でメンバーを募集しています。
「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、クラスメソッドオペレーションズ株式会社 コーポレートサイト をぜひご覧ください。※2026年1月 アノテーション㈱から社名変更しました








