Claude Code 狀態列自訂

Claude Code 預設狀態列只顯示 model 名稱 + context %——對中文使用者跟重度用戶都不夠。透過 settings.json + statusline.sh 自訂腳本,可以顯示模型 / 專案 / git 分支 / session 計時 / context 剩餘 / 5 小時額度 / 7 天額度 一行掌握全局。

為什麼預設不夠用

預設狀態列沒有

  • 5 小時額度剩多少(Claude Code 額度系統
  • 7 天額度剩多少
  • 現在在哪個專案、哪個 git branch
  • 這個 session 已經跑了多久

→ 寫 code 時餘光想看的關鍵數字全部缺。

機制(不必懂也能用)

Claude Code → 每隔 N 秒執行 statusline.sh → stdout 顯示在狀態列
              ↑
              透過 stdin 傳入 JSON(model / context / quota)

腳本用 jq 解析傳入的 JSON,組成 emoji + 中文字串 → echo 出去。

一鍵設定(貼給 Claude Code 自己處理)

幫我設定 Claude Code 狀態列,顯示以下資訊(中文標籤,各段用 · 分隔):

1. 模型名稱:從 model ID 解析,如 claude-opus-4-6[1m] → Opus 4.6 (1M context)
2. 專案 + git 分支:專案 myproject  main,非 git 目錄只顯示專案名
3. session 時間:已跑 1時19分
4. context window 剩餘:記憶剩 91%
5. 5小時額度剩餘 + 重置倒數:5小時額度剩 79%(2時43分後重置)
6. 7天額度剩餘 + 重置倒數:7天額度剩 47%(14時53分後重置)

腳本放 ~/.claude/statusline.sh,settings.json 加上 statusLine 設定,
refreshInterval 30 秒。
Claude Code 透過 stdin 傳入 JSON,用 INPUT=$(cat) 讀取,jq 解析。
額度 JSON 值是「已用百分比」,顯示時轉成「剩餘」(100 - used)。
缺少的欄位直接隱藏,不顯示空白標籤。
顏色規則:剩餘 >50% 無色,20%-50% 黃色,≤20% 紅色。

→ 貼完讓 Claude Code 自己建檔 + 設定 settings.json。

顏色分級規則

剩餘比例顏色用意
> 50%預設灰安全
20% – 50%注意
≤ 20%警告

→ 對 context / 5h / 7d 三個指標分別套用,掃一眼知道哪個快爆。

與其他概念的關係

強連結

推斷連結

  • Hooks ?? — Hooks 跟 statusline 都是「Claude Code 留給用戶的擴充點」
  • Skills 九種類型 ?? — 可以做 /setup-statusline skill 把這流程封裝

後設備註

  • 此 pattern 的「貼一段 prompt 給 Claude Code 自己處理」風格是 Hans 一貫做法
  • Claude Code 系統操作能力:Claude Code 自己會建檔、改 settings.json、處理權限

來源出處