📊

Claude Code のコンテキスト残量を /statusline でサクッと表示する

に公開

はじめに

Claude Code を使っていて「今どれくらいコンテキスト使ってるんだろう」と気になったことはありませんか?

長いセッションだと /compact のタイミングが読めず、急に圧縮されて文脈がズレることがあります。

ステータスラインを設定すれば常時表示できるのですが、自分で bash を書く必要はありません/statusline に一言頼むだけです。

やること

/statusline カレントディレクトリ、git ブランチ、モデル名、context 使用量を表示して。50% 超えたら黄色、80% 超えたら赤に。

これだけ。Claude が自動でシェルスクリプトを書いて ~/.claude/settings.json に登録してくれます。

実行後、プロンプトの下にこんな感じで出ます。

made-for-x [main] Opus 4.7 | ctx:54k/1000k (5% used, 95% left)

カスタマイズも自然言語で

気に入らなければそのまま追加注文できます。

/statusline もっと簡潔にして。ctx のパーセントだけでいい。
/statusline セッションのトークン累計も併記して

生成されたスクリプトは ~/.claude/statusline-command.sh あたりに普通の bash として置かれるので、後から手で編集することもできます。

ところで /compact はいつ打つのがいいのか

ステータスラインで残量が見えるようになると、次に気になるのが「で、いつ /compact 打てばいいの?」です。コミュニティの肌感としては:

  • 60% 前後がスイートスポット。事後ではなく事前に圧縮するのがコツ
  • 80% を超えたら遅い。Claude 自身が既に劣化したコンテキストで要約することになるので、要約の質も落ちる
  • タスクの区切りで打つのがベスト。機能実装が一区切りついた瞬間など、文脈が綺麗なうちに圧縮する。ようするに「数字が黄色になったら区切りで打つ」くらいの感覚で運用すると、急に圧縮されて文脈がズレる事故をだいぶ防げます。

正直なところ

60% で /compact というのもあくまでコミュニティの肌感で、タスクの種類によって「ここで打つと気持ちいい」ラインは変わります。自分の作業スタイルに合わせてしっくりくる閾値を探すのが一番だと思います。

おわりに

「あと何ターンいける?」が常時見えるだけで、長いセッションのストレスがだいぶ減ります。

参考

https://docs.claude.com/en/docs/claude-code/statusline

Discussion