Claude CodeAnthropic の機能

FEATURE

status line (ステータスライン)

status line (ステータスライン) は、Claude Code の画面下部に表示される、カスタマイズ可能なバーです。

提供中公式発表と照合済み
初出未調査
ページ更新
提供状態提供中
公式の記載で確認できた環境ターミナル
提供を確認できたプラン公式に記載なし
目次 CONTENTS
  1. できること
  2. 機能解説
  3. 使い方
  4. 利用シーン
  5. ChatGPT・OpenAI の対応する機能
  6. これまでの変更
  7. 関連する機能
  8. 出典
CAN DO

できること

POINT 01

任意のスクリプトで表示

設定した任意のシェルスクリプトを実行し、その出力を Claude Code の画面下部のバーに表示できます。スクリプトはセッションの JSON データを stdin で受け取ります。

POINT 02

セッション状態を常時表示

コンテキストウィンドウの使用率、推定のセッションコスト、git の状態などを常に表示しておけます。コンテキストの使用率は計算済みの値 context_window.used_percentage として渡されます。

POINT 03

表示の形を細かく調整

echo や print ごとに別の行として表示でき、複数行の status line を作れます。環境変数 COLUMNS と LINES でターミナルの大きさに合わせた出力ができます。また、ハイパーリンクに対応したターミナルでは、OSC 8 エスケープシーケンスでテキストをクリック可能なリンクにできます。

GUIDE

機能解説

概要

設定したシェルスクリプトを実行し、stdin で受け取ったセッションの JSON データをもとに、スクリプトが出力した内容をそのまま表示します。コンテキストの使用量、コスト、git の状態など、追いかけたい情報を常に一目で見られる場所に置けます。status line はローカルで動作し、API のトークンを消費しません。

status line は、組み込みのフッターバッジの上に独立した行として表示され、バッジを置き換えません。一方で、独自の status line を設定すると、フッターのキーボードヒントの大半 (esc to interrupt、? for shortcuts、hold space to speak など) は表示されなくなります。

スクリプトはセッションの開始時 (再開時を含む) に 1 回実行され、その後は新しいアシスタントのメッセージ、/compact の完了、権限モードの変更、vim モードの切り替えなどのイベントで再び実行されます。更新は 300ms でデバウンスされ、短い間に続いた変化はまとめられ、変化が止まった後に 1 回だけ実行されます。スクリプトの出力が表示されるのは、スクリプトが終了コード 0 で終了した後です。

スクリプトが受け取るデータ

スクリプトには、セッションの情報が JSON で渡されます。主なものは次のとおりです。

  • cost.total_cost_usd:USD 建ての推定セッションコストです。クライアント側で計算され、実際の請求額と異なる場合があります。
  • context_window.used_percentage:コンテキストウィンドウの使用率です。入力トークン (input_tokens + cache_creation_input_tokens + cache_read_input_tokens) だけから計算し、output_tokens は含みません。
  • prompt_cache:メインの会話がプロンプトキャッシュをどう使っているかをまとめたオブジェクトです。サブエージェントのリクエストは数えません。キャッシュミスの推定原因 (ツール定義やシステムプロンプトの変更、TTL を超えたアイドルなど) も含みます。
  • workspace.git_worktree:現在のディレクトリがリンクされた git worktree 内にあるときに設定されます。
  • effort.level と thinking.enabled:effort のレベルと thinking の有効・無効です。
  • GitHub のリポジトリと PR の情報:検出された場合に含まれます。
  • rate_limits.spend_limit:支出上限のある Claude apps ゲートウェイを利用する開発者向けのフィールドです。

設定の選択肢

statusLine の設定には、次の任意のフィールドがあります。

  • padding:内容に左右の余白 (文字数) を加えます。既定値は 0 です。
  • refreshInterval:イベントによる更新に加えて、N 秒ごとにコマンドを再実行します。最小値は 1 です。
  • hideVimModeIndicator:プロンプトの下に出る組み込みの -- INSERT -- 表示を消します。

subagentStatusLine の設定を使うと、プロンプトの下のエージェントパネルに表示される各サブエージェントの行を、既定の name · description · token count から独自の表示に置き換えられます。ペイロードには推論の effort が含まれ、モデルと effort を表示できます。

スクリプトを書く代わりに、/statusline コマンドに表示したい内容を自然言語で指示する方法もあります (例:/statusline show model name and context percentage with a progress bar)。Claude Code が ~/.claude/ にスクリプトを生成し、設定を自動で更新します。途中でファイル編集の許可を求められた場合は承認します。無効にするときは、/statusline delete のように /statusline に削除を依頼するか、settings.json から statusLine フィールドを削除します。

Windows では、Git Bash がインストールされていれば Git Bash 経由で、無い場合は PowerShell 経由で status line のコマンドを実行します。

管理者・導入時に確認したい点

  • status line はローカルで動作し、API のトークンを消費しません。
  • ワークスペースの信頼ダイアログを承認するまで、status line は空白のままです。
  • status line のコスト見積もりは、データレジデンシーのワークスペース向けの 1.1 倍の US-only 推論の割増を含みます。見積もりはクライアント側の計算で、実際の請求額と異なる場合があります。
HOW TO USE

使い方

ここでは、スクリプトを自分で作って設定する流れを示します。

  1. stdin から JSON を読み取って出力するスクリプトを作成し、~/.claude/statusline.sh に保存します。
  2. chmod +x ~/.claude/statusline.sh を実行し、スクリプトを実行可能にします。
  3. ~/.claude/settings.json に statusLine の設定を追加し、type を "command" に、command を作成したスクリプトに向けます。
  4. 設定ファイルを保存すると、Claude Code が設定を自動で再読み込みし、すぐにスクリプトを実行します。
公式ヘルプを開く ↗
USE CASES

利用シーン

CASE 01

長いセッションで、コンテキストウィンドウの使用率を常に確認しながら作業を進める場面に向いています。

CASE 02

推定のセッションコストを手元で見ながら作業する場面に使えます。

CASE 03

複数の git worktree や PR を行き来する開発で、今どの worktree・リポジトリ・PR にいるかを表示しておく場面に向いています。

CASE 04

サブエージェントを使う作業で、各サブエージェントのモデルと effort を一覧で確認する場面に使えます。

COMPARISON

ChatGPT・OpenAI の対応する機能

比較の単位となる業務: ターミナル上でのセッション状態 (利用上限・コスト・キャッシュ・Git 情報など) の常時表示とカスタマイズ

status line は、Claude Code の画面下部に、スクリプトの出力としてコンテキストの使用量やコストなどのセッション情報を常に表示する仕組みです。表示内容はスクリプトで自由に組み立てます。

/usage の分析ダッシュボードは、アカウントの利用状況、トークンの合計、プラグインとスキルのアクティビティを確認する画面です。ホーム画面・ロック画面のウィジェットは、残りの利用量とリセット時刻を、端末のホーム画面やロック画面で確認するためのものです。

TIMELINE

これまでの変更

  1. prompt_cache フィールドに、プロンプトキャッシュのミスの推定原因が加わりました。

  2. rate_limits.spend_limit フィールドと prompt_cache オブジェクトが追加されました。

  3. コスト見積もりに、データレジデンシーのワークスペース向けの 1.1 倍の US-only 推論の割増が含まれるようになりました。

  4. subagentStatusLine のペイロードに推論の effort が追加されました。

  5. コマンドが環境変数 COLUMNS と LINES を受け取るようになり、出力をターミナル幅に合わせられるようになりました。

  6. 検出された場合に GitHub のリポジトリと PR の情報が JSON 入力に含まれるようになりました。

  7. stdin の JSON に effort.level と thinking.enabled が加わりました。

  8. refreshInterval の設定と、JSON 入力の workspace.git_worktree が追加されました。

SOURCES

出典

出典 11 件を表示