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 三個指標分別套用,掃一眼知道哪個快爆。
與其他概念的關係
強連結
- Claude Code — 本 pattern 的容器
- Claude Code 額度系統 — 此 pattern 的主要顯示對象
- CLAUDE.md(專案手冊) — settings.json 跟 CLAUDE.md 同樣是 Claude Code 設定面
推斷連結
- Hooks ?? — Hooks 跟 statusline 都是「Claude Code 留給用戶的擴充點」
- Skills 九種類型 ?? — 可以做
/setup-statuslineskill 把這流程封裝
後設備註
- 此 pattern 的「貼一段 prompt 給 Claude Code 自己處理」風格是 Hans 一貫做法
- 配 Claude Code 系統操作能力:Claude Code 自己會建檔、改 settings.json、處理權限