case_1034

Claude Codeのステータスライン設定7手順|出ない時の直し方

Claude Codeのステータスライン設定7手順|出ない時の直し方

Claude Codeのステータスラインを設定する7手順。/statuslineでの生成、settings.jsonのstatusLine、context_windowとrate_limitsの表示、出ない時の切り分けまで公式情報で確認。

2026年9月27日時点の結論。Claude Codeのステータスラインは、settings.json の statusLine に「シェルコマンドを1つ」書くだけの仕組みだ。コマンドは標準入力でセッションの状態をJSONで受け取り、標準出力に吐いた文字列がそのまま画面下に並ぶ。自分で書くのが面倒なら /statusline に日本語で「残りコンテキストとモデル名を出して」と頼めば、Claude Codeが ~/.claude/ にスクリプトを作って設定まで書き換える。表示されない時の原因は、実行権限・標準エラー出力への誤出力・Windowsのバックスラッシュ・ワークスペース信頼の未承認・組織の管理設定の5つにほぼ集約される。

ステータスラインが効くのは、長時間のセッションを回している時だ。残りコンテキストがどれくらいか、利用枠をどこまで使ったか、いま何のモデルで動いているか。これらは /context や /usage を叩けば分かるが、叩いた瞬間の値しか見えない。常時見えていれば「そろそろ /compact する」「この作業は次の枠に回す」という判断が事前にできる。表示できる項目は公式ドキュメントにJSONスキーマとして定義されている(Anthropic「Customize your status line」(2026年9月確認))。

この記事の要点

  • 設定の実体:settings.json の statusLine に {"type": "command", "command": "..."} を書く。command はスクリプトのパスでも、インラインのシェルコマンドでもよい(Anthropic「Customize your status line」(2026年9月確認))。
  • 任せる方法:/statusline 残りコンテキストとモデル名をプログレスバーで出して のように自然言語で指示すると、Claude Codeが ~/.claude/ にスクリプトを生成し、設定も自動で更新する。
  • 入力:スクリプトには標準入力でJSONが渡る。model、context_window、cost、rate_limits、prompt_cache、workspace、pr、worktree などが入っている。
  • 出力:標準出力に出した文字列がそのまま表示される。複数行も、ANSIカラーも、OSC 8のクリック可能リンクも通る。
  • 消費しない:ステータスラインはローカルで動くだけで、APIトークンを消費しない。
  • オプション3つ:padding(余白・既定は0)、refreshInterval(N秒ごとに再実行・最小1)、hideVimModeIndicator(組み込みの -- INSERT -- を止める)。
  • 対象読者:Claude Codeを毎日使っている開発者、チームの設定を揃える開発リード。
  • 今日やること:claude を起動して /statusline モデル名と残りコンテキストの%を出して と打つ。生成されたファイルの編集を承認する。これで最小構成が出る。出なければ後半の切り分けに進む。

前提|ステータスラインに何が出せるか

まず置き場所を把握しておく。ステータスラインは組み込みのフッターバッジを置き換えるものではなく、その上に自分の行として描かれる。

ステータスラインの行がフッターバッジの上に描かれ、カスタム設定時にフッターのキーヒント3つが出なくなることを示した図
ステータスラインの行とフッターバッジの重なり

フッターのキーヒントが消える

ただし副作用がある。カスタムのステータスラインを設定すると、フッターのキーボードヒントの多くが出なくなる。esc to interrupt、? for shortcuts、hold space to speak の音声入力ヒントが該当する。ヒントを消したくないだけで、会話中に現れたIDをクリックできるバッジにしたいなら、スクリプトを書かずに footerLinksRegexes を設定するほうが目的に合う。

標準入力で渡るJSONのフィールド一覧は公式ドキュメントにある(Anthropic「Customize your status line」(2026年9月確認))。よく使う対応はこうなる。

出したいもの 使うフィールド
モデル名 model.display_name
残りコンテキスト context_window.used_percentage / remaining_percentage
セッション費用 cost.total_cost_usd
5時間枠・7日枠の消費率 rate_limits.five_hour / rate_limits.seven_day
プロンプトキャッシュの効き prompt_cache.hit_ratio / warm
gitブランチ・PR 自分で git を叩く / pr.number・pr.review_state

トークンは消費しない

もう1つ知っておくべき前提として、ステータスラインはローカルのシェルコマンドとして動くだけなので、APIトークンを消費しない。ヘルプメニューや権限プロンプトが出ている間は一時的に隠れる。

手順1|/statuslineに日本語で頼んで作らせる

手で書く前に、まず生成させるのが速い。/statusline は自然言語の指示を受け取り、~/.claude/ にスクリプトファイルを作って設定まで更新する。

/statuslineコマンドからスクリプト生成、settings.jsonへのstatusLine追記までを左から右へ矢印でつなぎ、削除の頼み方を下に添えた図
/statuslineが生成物と設定を用意する流れ
/statusline モデル名とコンテキスト使用率をプログレスバーで出して

セットアップの途中でファイル編集の許可を求められたら承認する。消したい時は /statusline delete、/statusline clear、/statusline remove it のように頼めばよい。手で settings.json から statusLine を削除しても同じだ。

生成に任せた時の注意

生成されたスクリプトは自分の環境のシェルとコマンドに依存する。jq を使うスクリプトを作られたら jq を入れておく必要がある。生成物は普通のシェルスクリプトなので、中身を読んで気に入らなければそのまま手で直せる。

手順2|settings.jsonにstatusLineを手で書く

チームで配りたい、あるいは生成物ではなく自分の書式で固めたい場合はこちらだ。ユーザー設定(~/.claude/settings.json)かプロジェクト設定に statusLine を足す。

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

command はシェルで実行されるので、スクリプトファイルを作らずにインラインで済ませることもできる。jq でJSONを解いてモデル名とコンテキスト率だけ出す最小形は次のようになる。

{
  "statusLine": {
    "type": "command",
    "command": "jq -r '\"[\\(.model.display_name)] \\(.context_window.used_percentage // 0)% context\"'"
  }
}

3つのオプションの使い分け

3つのオプションの既定値と挙動は公式ドキュメントに記載がある(Anthropic「Customize your status line」(2026年9月確認))。

フィールド 既定 使う場面
padding 0 端末の端から離したい。インターフェース側の余白に上乗せされる(文字数単位)
refreshInterval 未設定 時計など時間で変わる表示を出す時、バックグラウンドのサブエージェントが裏でgitを動かす時。最小は 1
hideVimModeIndicator false スクリプト側で vim.mode を描くので、組み込みの -- INSERT -- と二重に出したくない時

refreshInterval はイベント駆動の更新に「加えて」N秒ごとに再実行する設定だ。コーディネーターがバックグラウンドのサブエージェントを待っている間はイベントが静かになるので、時間で動く表示を持つなら入れておく。refreshInterval は2.1.97で追加された(anthropics/claude-code「CHANGELOG.md」2.1.97(2026年9月27日確認))。

仕組み|stdinのJSONと更新のきっかけ

書く前に、いつ何回動くのかを押さえておく。ここを誤解すると「重いスクリプトを置いて体感が悪くなる」に直行する。

中央のstatusLineを囲むように、model・context_window・cost・rate_limits・prompt_cache・workspaceの6フィールドを配置し、中央へ矢印を向けた図
標準入力のJSONに入る主なフィールド

スクリプトはセッション開始時(--resume での再開も含む)に1回走る。そのあと走るのは次の場合だ(Anthropic「Customize your status line」(2026年9月確認))。

  • 新しいアシスタントメッセージが届いた
  • /compact が終わった
  • 権限モードが変わった
  • Vimモードが切り替わった
  • statusLine 設定の command を変えた
  • refreshInterval のタイマーが来た(設定している場合)
  • 直前に受け取ったデータのレート制限枠が resets_at の時刻に達した
  • 直前に受け取ったデータの温かいプロンプトキャッシュが expires_at に達した

デバウンスとキャンセル

更新は300msでデバウンスされる(Anthropic「Customize your status line」(2026年9月確認))。連続した変化はまとめられ、変化が止まってから1回だけ走る。ただし command 自体の変更はデバウンスを飛ばして即実行される。スクリプトが動いている最中に新しい更新が発生すると、実行中のスクリプトはキャンセルされる。つまり、遅いスクリプトは「更新が来るたびに途中で殺される」ため、いつまでも古い表示のままになる。git status のような重いコマンドを毎回叩く構成は避け、結果をキャッシュする。

出力で使えるもの

複数行に対応している(Anthropic「Customize your status line」(2026年9月確認))。echo や print を複数回呼べば、それぞれが別の行になる。色は \033[32m のようなANSIエスケープで付く(端末が対応している必要がある)。OSC 8のエスケープシーケンスを使えばクリック可能なリンクになるが、対応端末はiTerm2、Kitty、WezTermなどに限られる。

幅の扱いには落とし穴がある。Claude Codeはスクリプトの出力を捕まえてから描くので、スクリプトの中から tput cols や言語側の幅検出で端末サイズは読めない。代わりに COLUMNS と LINES の環境変数を読む。Claude Codeはスクリプト実行前にこの2つを現在の端末サイズに設定する。この2変数の受け渡しは2.1.153で入った(anthropics/claude-code「CHANGELOG.md」(2026年9月27日確認))。

手順3|jqで読む最小スクリプトを置く

/statusline が裏でやっていることを、手でやってみる。モデル名・作業ディレクトリ・コンテキスト使用率の3つを出す。

#!/bin/bash
input=$(cat)

MODEL=$(echo "$input" | jq -r '.model.display_name')
DIR=$(echo "$input" | jq -r '.workspace.current_dir')
PCT=$(echo "$input" | jq -r '.context_window.used_percentage // 0' | cut -d. -f1)

echo "[$MODEL] ${DIR##*/} | ${PCT}% context"

jq はコマンドラインのJSONパーサで、-r で生文字列として取り出す(jq「jq Manual」(2026年9月確認))。// 0 は値が null だった時のフォールバックだ。これを ~/.claude/statusline.sh に置いて実行権限を付ける。

chmod +x ~/.claude/statusline.sh

モック入力で先に試す

設定に入れる前に、手で動かして出力を確かめる。公式ドキュメントが挙げているテスト方法がそのまま使える。

echo '{"model":{"display_name":"Opus"},"workspace":{"current_dir":"/home/user/project"},"context_window":{"used_percentage":25},"session_id":"test-session-abc"}' | ./statusline.sh

ここで何も出ない、あるいはエラーが出るなら、Claude Codeに入れても空白になる。標準出力に出ているかも同時に確認しておく。標準エラー出力に書いたものは表示されない。

手順4|context_windowで残り容量を出す

コンテキストは最も使う表示だ。context_window は直近のAPI応答から作られた「いまコンテキストに載っているトークン」を表す。フィールドの内訳は公式ドキュメントのスキーマに一覧がある(Anthropic「Customize your status line」(2026年9月確認))。

フィールド 中身
total_input_tokens 入力トークンの合計。キャッシュの読み書きを含む
total_output_tokens 直近応答の出力トークン
context_window_size 最大コンテキスト長。既定は200000、拡張コンテキストのモデルは1000000
used_percentage 使用率(計算済み)
remaining_percentage 残り率(計算済み)
current_usage 直近API呼び出しのトークン内訳

used_percentageの計算式を合わせる

used_percentage は入力トークンだけから計算されている。内訳で言えば input_tokens + cache_creation_input_tokens + cache_read_input_tokens で、output_tokens は含まない。自分で current_usage から計算するなら同じ式を使わないと used_percentage と数字がずれる。

#!/bin/bash
input=$(cat)
MODEL=$(echo "$input" | jq -r '.model.display_name')
PCT=$(echo "$input" | jq -r '.context_window.used_percentage // 0' | cut -d. -f1)

BAR_WIDTH=10
FILLED=$((PCT * BAR_WIDTH / 100))
EMPTY=$((BAR_WIDTH - FILLED))
BAR=""
[ "$FILLED" -gt 0 ] && printf -v FILL "%${FILLED}s" && BAR="${FILL// /▓}"
[ "$EMPTY" -gt 0 ] && printf -v PAD "%${EMPTY}s" && BAR="${BAR}${PAD// /░}"

echo "[$MODEL] $BAR $PCT%"

nullになる瞬間を織り込む

current_usage はセッション最初のAPI呼び出し前は null で、/compact の直後も次のAPI呼び出しまで null に戻る。used_percentage と remaining_percentage もセッション初期は null になりうる。// 0 のようなフォールバックを必ず入れる。/compact の回し方そのものはClaude Codeの/compact運用にまとめてある。

なお /context の表示とステータスラインの数字は、それぞれ計算されたタイミングが違うためずれることがある。単純にいまの状態を知りたいだけなら used_percentage を使う。

手順5|rate_limitsで5時間枠と7日枠を出す

上限に当たってから慌てるより、消費率を常時見ておくほうが安い。rate_limits には5時間枠と7日枠の消費率とリセット時刻が入る(Anthropic「Customize your status line」(2026年9月確認))。

5時間枠と7日枠の2つのフィールドを左に並べ、右の1つのステータスラインにまとめ、リセット時刻のフィールドを下に添えた図
2つの枠の消費率を1行にまとめる構図

消費率とリセット時刻のフィールド

フィールド 中身
rate_limits.five_hour.used_percentage 5時間枠の消費率(0〜100)
rate_limits.five_hour.resets_at 5時間枠がリセットされるUnixエポック秒
rate_limits.seven_day.used_percentage 7日枠の消費率(0〜100)
rate_limits.seven_day.resets_at 7日枠がリセットされるUnixエポック秒
rate_limits.spend_limit.used_percentage 自分に適用されている支出上限の消費率。上限超過で100を超える
rate_limits.spend_limit.resets_at その期間がリセットされるUnixエポック秒

spend_limitはgateway越しだけ

rate_limits フィールド自体は2.1.80で追加され、spend_limit は2.1.251で追加された(anthropics/claude-code「CHANGELOG.md」(2026年9月27日確認))。spend_limit はClaude apps gateway越しで支出上限が設定されている場合に現れ、Claude Code v2.1.251以降が必要だ。

無い場合を必ず書く

ここは欠けやすい。rate_limits が現れるのは、claude.aiのProまたはMax加入者か、自分に支出上限を設定しているClaude apps gateway越しの場合だけで、しかもセッション最初のAPI応答のあとだ。five_hour、seven_day、spend_limit はそれぞれ独立に欠けうるうえ、resets_at の時刻を過ぎるとClaude Codeはその枠を落とす。公式ドキュメントは欠損を素直に扱う書き方として jq -r '.rate_limits.five_hour.used_percentage // empty' を挙げている。

#!/bin/bash
input=$(cat)
FIVE=$(echo "$input" | jq -r '.rate_limits.five_hour.used_percentage // empty')
WEEK=$(echo "$input" | jq -r '.rate_limits.seven_day.used_percentage // empty')

OUT=""
[ -n "$FIVE" ] && OUT="5h ${FIVE%.*}%"
[ -n "$WEEK" ] && OUT="$OUT 7d ${WEEK%.*}%"
[ -z "$OUT" ] && OUT="limits n/a"
echo "$OUT"

上限に当たった後の再開手順そのものはClaude Codeの「session limit」対処法に、課金判定の見方は/statusで課金判定を確認する手順にある。

手順6|prompt_cacheでキャッシュの効きを出す

長いセッションで体感を決めるのはプロンプトキャッシュだ。prompt_cache オブジェクトは、そのセッションのメインの会話がキャッシュをどう使えているかを要約する。Claude CodeがAPI応答のキャッシュトークン数から計算しているため、どのプロバイダでも動く(Anthropic「Customize your status line」(2026年9月確認))。

フィールド 中身
warm キャッシュが温まっているか
hit_ratio ヒット率
misses ミス回数
ttl キャッシュのTTL
expires_at 失効するUnixエポック秒
last_miss_cause 直近のミスの原因

現れる条件とサブエージェントの扱い

このオブジェクトはメインの会話の最初のAPI応答のあとに現れる。サブエージェントのリクエストはこの統計に数えない。Claude Code v2.1.251以降が必要だ。ミスの原因を /cost とステータスラインの prompt_cache に出す変更は2.1.260で入っている(anthropics/claude-code「CHANGELOG.md」(2026年9月27日確認))。

キャッシュの読み書きが費用にどう乗るかはClaude Codeトークン使用量の確認とキャッシュ節約で扱った内容がそのまま当てはまる。仕組み自体の説明はAnthropicの「Prompt caching」にある。

費用と作業量も同じ行に置ける

cost には費用と時間、変更行数が入る。cost.total_cost_usd はセッションのAPI費用の見積りで、modelPricing が効いていない限りリスト価格でクライアント側が計算する。実際の請求額とは違いうる。/clear で新しいセッションが始まると0に戻る(2.1.211より前は繰り越していた。anthropics/claude-code「CHANGELOG.md」(2026年9月27日確認))。cost.total_duration_ms はセッションが動いていた実時間で、再開をまたいで積算される。cost.total_api_duration_ms はAPI応答を待っていた時間だけだ。

手順7|Windowsとチーム配布で詰まる所を先に潰す

ここが実務で一番踏む。Windowsでは、Git Bashが入っていればGit Bash経由、入っていなければPowerShell経由でステータスラインのコマンドが走る。

WindowsでstatusLineのコマンドがGit Bash経由かPowerShell経由に分かれ、どちらでもパスはスラッシュで書くことを示した図
Windowsでコマンドが渡される2経路とパスの書き方

Git Bashは引用符で囲まれていないバックスラッシュをエスケープ文字として扱う。そのため C:\Users\username\script.mjs のようなWindows形式のパスは、セパレータが消えた状態でスクリプトランナーに届き、目に見えるエラーも出さずに失敗する。command の中のファイルパスはスラッシュで書く。~ の短縮形も使えて、Windowsのホームディレクトリに展開される。

{
  "statusLine": {
    "type": "command",
    "command": "powershell -NoProfile -File C:/Users/username/.claude/statusline.ps1"
  }
}

PowerShellスクリプトを使う場合は上のように powershell 経由で呼ぶ。この書き方はGit Bash経由でもPowerShell経由でも動く。

サブエージェントの行も差し替えられる

subagentStatusLine を設定すると、プロンプト下のエージェントパネルに出る各サブエージェント行の本体を自分の書式に置き換えられる。既定の「名前・説明・トークン数」の行が対象だ。

{
  "subagentStatusLine": {
    "type": "command",
    "command": "~/.claude/subagent-statusline.sh"
  }
}

コマンドはリフレッシュごとに1回走り、表示中のサブエージェント行すべてを1つのJSONオブジェクトとして標準入力で受け取る。入力にはフック共通のフィールドに加えて、行の使える幅を示す columns と tasks 配列が入る。各タスクは id、name、type、status、description、label、startTime、model、effort、contextWindowSize、tokenCount、tokenSamples、cwd を持つ。model と contextWindowSize はv2.1.205以降、effort はv2.1.214以降で、effort はサブエージェントがセッションの値を継承している時は現れない(anthropics/claude-code「CHANGELOG.md」(2026年9月27日確認))。

出力は上書きしたい行ごとに {"id": "<task id>", "content": "<行の本体>"} を1行ずつ標準出力に書く。id を省いた行は既定の描画のままになり、content を空文字にするとその行は隠れる。サブエージェントの設計はClaude Codeのサブエージェント並列実行で扱った。

組織の管理設定に負ける場合がある

statusLine はシェルコマンドを実行するため、設定ファイル内のフックと同じワークスペース信頼の規則で動く。フォルダ、あるいは信頼が及ぶ親ディレクトリのダイアログを承認していれば足りる。承認前は空白のままで、claude --debug に Status line command skipped: workspace trust not accepted が記録される。

組織が管理設定で allowManagedHooksOnly を入れている場合、自分のカスタムステータスラインは警告もなく消える。この状況では管理設定の statusLine からしかステータスラインを得られない。disableAllHooks が管理設定の外で true になっている場合も、管理設定の statusLine だけが動き、管理側の statusLine が無ければステータスラインは無効になる。どちらも自分の手元では直せないので、管理者に確認する。管理設定の優先順位はAnthropic「Identity and access management」に、settings.json 全体の構造は本サイトのsettings.json設定ガイドにまとめてある。

出ない・空欄になる時の切り分け

設定したのに何も出ない、という相談が最も多い。上から順に潰す。

症状 確認すること
何も出ない chmod +x したか。標準出力に出しているか。手で実行して出力が出るか
何も出ない(Windows) command のパスがバックスラッシュのままではないか
何も出ない(組織端末) allowManagedHooksOnly / disableAllHooks が効いていないか
何も出ない(初回) ワークスペース信頼のダイアログを承認したか
-- や空欄が出る 最初のAPI応答前で null ではないか。フォールバックを入れたか
表示が古いまま スクリプトが遅すぎてキャンセルされていないか
文字化け・崩れ 複数行とエスケープを同時に使っていないか

–debugで原因を見る

claude --debug で起動すると、ステータスライン実行ごとにスクリプトの標準エラー出力が、そしてセッション最初の実行では終了コードがログに出る。ここが一番速い。それでも掴めない時は、Claude自身に設定ファイルを読ませて statusLine のコマンドを直接実行させると、エラーがそのまま画面に出る。

リンクが押せない・エスケープが生で出る

OSC 8のリンクが押せない場合は、まず端末の対応を確認する。iTerm2、Kitty、WezTermは対応しているが、Apple Terminalはクリック可能なリンクに対応していない。リンクのテキストは出るのにクリックできない場合は、Claude Codeが端末のハイパーリンク対応を検出できていない可能性がある。起動前に FORCE_HYPERLINK を立てて検出を上書きする。

FORCE_HYPERLINK=1 claude

PowerShellでは先に現在のセッションで変数を設定する。

$env:FORCE_HYPERLINK="1"; claude

SSHやtmuxのセッションは設定によってOSCシーケンスを剥がすことがある。\e]8;; のようなエスケープがそのまま文字として出る場合は、echo -e ではなく printf '%b' を使うほうが安定する。

通知と行を共有している

フルスクリーンレンダリングの外では、Claude Codeは通知を自分のステータスラインと同じ行に出す。フルスクリーンでは通知に専用の行が割り当てられる。MCPサーバーのエラーや自動更新のようなシステム通知は行の右側に出て、コンテキスト残量の警告のような一時的な通知もこの領域を回る。verboseモードを有効にするとトークンカウンタもここに加わる。狭い端末では、これらの通知で自分の出力が切られる。

よくある失敗と対処

設定の失敗

❌ type を "command" 以外にした、または command を書き忘れた
⭕ statusLine は type を "command" にして command を書く形しかない。スクリプトパスかインラインのシェルコマンドを入れる。

❌ Windowsで C:\Users\... とバックスラッシュのまま書いた
⭕ Git Bash経由でバックスラッシュがエスケープとして食われ、エラーも出ずに失敗する。スラッシュか ~ で書く。

❌ refreshInterval を 0 にして毎回走らせようとした
⭕ 最小値は 1 だ。そもそもイベント駆動の更新に上乗せする設定なので、時間で変わる表示がなければ設定しない。

スクリプトの失敗

❌ git status を毎回そのまま叩いた
⭕ アクティブなセッションでは頻繁に走るので体感が落ちる。結果をキャッシュして読む。

❌ null のフォールバックを入れなかった
⭕ セッション初期と /compact 直後は null になる。jq の // 0 や // empty を入れる。

❌ スクリプトの中で tput cols を呼んで幅を測ろうとした
⭕ 出力が端末に直結していないので読めない。COLUMNS と LINES の環境変数を読む。

❌ 標準エラー出力に書いた
⭕ 表示されるのは標準出力だけだ。claude --debug で標準エラー出力の内容を確認できる。

運用の失敗

❌ フッターのヒントが消えたのをバグだと思った
⭕ カスタムステータスラインを設定すると、esc to interrupt などのフッターヒントの多くは意図的に出なくなる。

❌ チームに ~/.claude/settings.json の書き方だけ配った
⭕ スクリプト本体が各マシンに無ければ空白になる。プロジェクト設定に置くか、スクリプトをリポジトリに入れてパスを合わせる。

よくある質問

ステータスラインはトークンを消費しますか

しない。ローカルのシェルコマンドとして動くだけで、APIトークンを消費しない。

複数行にできますか

できる。echo や print を複数回呼べば、それぞれが別の行として表示される。ただし複数行とエスケープシーケンスの組み合わせは描画が崩れやすいので、色付きの複数行にするなら先にプレーンテキストで動作を確かめる。

設定したのに空欄のままです

順に確認する。実行権限(chmod +x)、標準出力に出しているか、手で実行して出力が出るか、Windowsならパスのバックスラッシュ、初回ならワークスペース信頼の承認。組織の管理端末では allowManagedHooksOnly で警告なく消えることもある。claude --debug でスクリプトの標準エラー出力と終了コードが見られる。

5時間枠の消費率が出ません

rate_limits はclaude.aiのProまたはMax加入者か、支出上限を設定したClaude apps gateway越しの場合にだけ現れ、しかもセッション最初のAPI応答のあとだ。窓は resets_at を過ぎると落ちる。// empty で無い場合を書いておく。

/context の数字とステータスラインの数字が合いません

それぞれ計算されたタイミングが違うためずれることがある。いまの状態を単純に知りたいだけなら used_percentage を使う。used_percentage は入力トークンのみから計算されており、出力トークンを含まない点にも注意する。

Vimモードの表示が二重になります

スクリプト側で vim.mode を描いているなら、hideVimModeIndicator を true にして組み込みの -- INSERT -- を止める。

自作せずに済む選択肢はありますか

公式ドキュメントは、テーマや追加機能を持つ既成の設定を提供するコミュニティプロジェクトとして ccstatusline と starship-claude を挙げている。まず /statusline に頼んで生成させ、それでも足りない時に検討するとよい。

あわせて読みたい

運営元 Uravation よりこの事例を自社の業務で試す場合のテーマ選定・評価・本番移行の確認項目を、無料のチェックリストにまとめています。 Claude Code業務自動化PoCチェックリストを受け取る(無料)

参考・出典

Next Step

この事例を、自社の業務に置き換える。

対象業務、利用データ、評価基準、社内展開の順番まで整理すると、AI開発ツール導入の失敗を減らせます。

導入を相談する

チームで学ぶなら: Claude Code 法人研修(2日間ハンズオン) / 1人で習得するなら: 個別指導(週1マンツーマン)