Context Bar:Claude Code のコンテキスト内訳をバーで表示
Claude Code のコンテキストウィンドウを、カテゴリごとに色分けした 1 本の積み上げバーとしてプロンプトの上に表示します。トークン数付き。
権限
- UI を変更Claude Code の画面に描画します。バンド、ペイン、ステータス表示、トーストなど(ui.render / $.ui.*)。
- コマンド・ツールを追加あなたや Claude が呼び出せる新しいスラッシュコマンドやツールを登録します($.command.register / $.tool.register)。
- データを保存プラグイン専用のストアにセッションをまたいでデータを保持します($.store.*)。
- 検証バージョン
- v2.1.291
- 最終検証日
- 必要バージョン
- Claude Code ≥ 2.1.287
- 表示先
- プロンプト上部
Claude Code 内でインストール:
/plugin install context-bar --marketplace hamzafer/claude-code-modsこのModでできること
Context Bar は、Claude Code のコンテキスト内訳を見せてくれるコミュニティ Mod で、Hamza Zafar(hamzafer)による claude-code-mods コレクションの一部です。答えてくれる問いはひとつ、「コンテキストウィンドウを何が埋めているのか?」です。Claude Code のプロンプトの上に小さな枠付きの帯を描き、その中にターミナル幅いっぱいの積み上げバーを 1 本表示します。バーは /context と同じカテゴリ(システムプロンプト、ツール、MCP ツール、メモリファイル、スキル、メッセージなど)に分割され、その後に空き領域と自動コンパクト用のバッファが続きます。
ヘッダー行は 48k of 200k · compacts at 167k のような表示で、色付きのパーセンテージバッジが付きます。バッジは緑で、コンパクト開始位置の 70% で黄色、90% で赤に変わります(自動コンパクトがオフの場合はウィンドウ全体に対して計算します)。バーの下には凡例があり、各カテゴリのトークン数とウィンドウに占める割合が、ターミナル幅に応じて必要な行数に詰めて並びます。必要に応じて読み込まれるツールスキーマは、/context がグリッドから除外しているのと同じように除外されます。
Context Bar は私たちの コンテキストメーター に近いものですが、見せる情報は異なります。コンテキストメーターはステータスラインの 1 行の文字列で、コンテキスト全体の使用率、5 時間・7 日間のプランウィンドウ、セッションのコスト、そして 80% での一度きりの警告を表示します。Context Bar はプラン使用量やコストを表示しない代わりに、コンテキストをカテゴリ別に分解するので、場所を取っているのが MCP ツールなのか、メモリファイルなのか、会話そのものなのかがわかります。作者の README によると、Claude Code 2.1.287 以降が必要です。
デモ
録画では、小さなデモプロジェクトでこの Mod を読み込んだ Claude Code を起動し、Claude に README.md を読んでプロジェクトを一文で説明するよう依頼します。ターンが完了すると、プロンプトの上の帯に、カテゴリ別(システムプロンプト、システムツール、スキル、メッセージ、空き領域)に分割されたコンテキストウィンドウ、54k of 200k のような合計、自動コンパクトが始まる位置、そして使用率が表示されます。
インストール
インストールブロックのいずれかの方法を使ってください。どれも作者自身のマーケットプレイスから直接インストールします。バーは次のセッション開始時に表示され、/context-bar で表示・非表示を切り替えられます。
$ install context-bar
Claude Code 2.1.287 以上が必要
作者のマーケットプレイスからインストール: hamzafer/claude-code-mods
1.Claude Code 内で1行
/plugin install context-bar --marketplace hamzafer/claude-code-mods実行中のセッション(v2.1.275 以降)に貼り付けます。最初に Claude Code がマーケットプレイスの追加を確認します。
2.シェルから
claude plugin marketplace add hamzafer/claude-code-mods claude plugin install context-bar@claude-code-modsその後、すでに開いているセッションでは /reload-plugins を実行してください。
3.インストールせずに試す
git clone https://github.com/hamzafer/claude-code-mods claude --plugin-dir ./claude-code-mods/mods/context-barその1セッションだけ Mod を読み込みます。設定には何も追加されません。
仕組み
Mod は最新の読み取り結果をホスト側が保持する $.state アトムに保存するため、ホットリロードをまたいでも残ります。そしてそれを AbovePrompt の描画位置に再描画します。以下は hooks/register.tsx の更新関数です。
// Asks the engine for /context's breakdown, estimated locally (no token-count calls).
async function refresh($: EngineInterface) {
if (await read($, isHidden)) return
const usage = await $.session.usage({ breakdown: 'summary' })
const b = usage.context.breakdown
if (!b || !(b.rawMaxTokens > 0)) return // no window to measure against
await update($, reading, () => toReading(b))
}refresh は session.start、agentId がないときの turn.complete(サブエージェントのターンはスキップ)、そして session.compact で実行されます。/compact はターンの終了なしにウィンドウを空にするためです。toReading は遅延読み込みのカテゴリと空のカテゴリを除外し、使用中の行を空き領域とバッファより前に並べて、色を割り当てます。純粋なヘルパー関数 cells と legend が読み取り結果をバーの区間と凡例の行に変換します。使用中のカテゴリには必ず 1 セル以上が割り当てられ、端数はまず空き領域に回されます。内側の幅が 20 列未満の場合、バーは描画されません。アンケートがプロンプトの上のスペースを使っている間、帯はその場を譲ります。
カスタマイズ
/config に設定項目はありません。唯一のスイッチは /context-bar コマンドで、表示・非表示の状態は $.store に保存されます。見た目を変えたい場合は、register.tsx の先頭にある定数を編集してください。PALETTE はカテゴリの色、MESSAGES はメッセージの色、GLYPH はバーの文字、MIN_WIDTH は描画できる最小の幅です。
権限と安全性
私たちは実行前に、プラグインが実行しうるすべてのファイル(hooks/hooks.json、hooks/register.tsx、型宣言、テスト)を読みました。package.json、インストールスクリプト、バンドルされたコードはありません。
UI の変更 はプロンプトの上の帯に対応します。コマンドの追加 は /context-bar に対応します。Mod は $.session.usage を通じてコンテキストの数値を読み取り、$.store に true/false の値をひとつだけ保存し、読み取り結果を $.state に保持します。シェルコマンドの実行、ファイルの読み書き、ネットワークの使用、環境変数の読み取り、モデルの呼び出しは行いません。claude plugin validate はエラーも警告も報告せず、作者の 6 件のテストは Claude Code 2.1.291 ですべて成功しました。
- UI を変更
- Claude Code の画面に描画します。バンド、ペイン、ステータス表示、トーストなど(ui.render / $.ui.*)。
- コマンド・ツールを追加
- あなたや Claude が呼び出せる新しいスラッシュコマンドやツールを登録します($.command.register / $.tool.register)。
- データを保存
- プラグイン専用のストアにセッションをまたいでデータを保持します($.store.*)。
互換性とトラブルシューティング
macOS 上の Claude Code 2.1.291 で確認しました(validate とテスト)。バーが表示されない場合は、次を確認してください。
claude --versionが 2.1.287 以降であること。- 以前に非表示にしていないこと。
/context-barを一度実行し、"Context bar on" と表示されるか確認してください。 - ターミナルの幅が十分であること。帯には少なくとも 24 列が必要です。
- 入力欄の上にアンケートが開いていないこと。閉じると帯は戻ってきます。
- 内訳は Claude Code がウィンドウサイズを把握してから利用可能になります。開始直後に帯が出ていない場合は、プロンプトを一度送信してください。
よくある質問
- Context Bar はトークンを消費したり API を呼び出したりしますか?
- いいえ。/context が描画するのと同じ要約の内訳を Claude Code に問い合わせるだけで、コード内のコメントによると、これはトークン数の取得呼び出しを行わずにローカルで見積もられています。Mod 自身がネットワークリクエストを送ることはありません。
- バーを非表示にするには?
- /context-bar を実行してください。バーの表示・非表示が切り替わり、その選択はプラグイン専用のストアに保存されるため、新しいセッションも前回の状態で始まります。
- バーはいつ更新されますか?
- セッション開始時、メインエージェントの各ターンの後、そしてコンパクトの後です。サブエージェントのターンはあなたのウィンドウではなく自分自身のウィンドウを消費するため、スキップされます。
- コンテキストメーター(cm-context-meter)とは何が違いますか?
- コンテキストメーターは、コンテキスト使用率、5 時間・7 日間のプラン使用量、セッションのコストをステータスラインに 1 行で表示し、80% で警告トーストを出します。Context Bar はプロンプトの上に枠付きの帯を描き、コンテキストをカテゴリごとに分割して表示します。プラン使用量、コスト、トーストはありません。
- 色や記号は何を意味しますか?
- 使用中の各カテゴリ(システムプロンプト、ツール、MCP ツール、メモリファイル、スキルなど)には固定パレットから個別の色が割り当てられ、メッセージはオレンジで描かれます。空き領域は細いグレーの線、自動コンパクト用のバッファは斜線で表示されます。
# 関連する Mod
おすすめコンテキストメーター
コンテキストウィンドウの使用率、5 時間・7 日間のプラン使用量、セッションのコストをステータスラインに表示し、上限が近づくと警告します。
- ステータス
- トースト
- UI を変更
v2.1.310 で検証済み
おすすめツール呼び出しカウンター
Claude のツール呼び出しをターンごと・セッションごとに数え、スピナーの横に件数を表示。/tally で内訳も確認できます。
- スピナー
- トランスクリプト
- ステータス
- ツール呼び出しを傍受
- UI を変更
- コマンド・ツールを追加
v2.1.310 で検証済み
同じカテゴリの Mod: コンテキスト、利用枠、コスト、ステータスラインとプロンプトバー。