先判斷你需不需要 Coralline
Claude Code 本身已有 /statusline,可以依描述產生簡單腳本。
Coralline 多了一套 renderer、主題、segment 排序與設定 wizard;代價是多一個本機腳本與
jq 依賴。
選 Coralline:你要固定顯示 Git、context、rate limit、費用或時鐘, 並希望用同一份設定調整配色與排列。
先用內建功能:你只想看模型名稱或 context 百分比,不需要主題與多個
segments。此時先在 Claude Code 執行 /statusline,維護成本較低。
本文的版本邊界:以下指令在 2026-07-29 依 Coralline
v0.11.0 與當日官方說明核對。上游 installer、欄位或平台支援可能再變動;
執行前仍應閱讀下載到本機的腳本。
安裝前先讓 jq 可用
Coralline 的 Bash renderer 以 jq 解析 stdin JSON。安裝 installer
之前,先在你之後要執行 Claude Code 的 shell 裡確認 jq --version 有輸出。
先在 PowerShell 安裝 jq
需要 Git for Windows。用 winget 安裝後,關閉並重新開啟 Git Bash,
再檢查 PATH。
以 Homebrew 安裝 jq
macOS 內建 Bash 可執行 renderer;這裡假設 Homebrew 已可使用。
# Windows:先在 PowerShell 執行
winget install --id jqlang.jq --exact
# 重新開啟 Git Bash 後確認
jq --version
# macOS:在 Terminal 執行
brew install jq
jq --version
Nerd Font 影響圖示,不影響 JSON 解析。若畫面出現方塊或字寬錯位,可在
~/.claude/coralline.conf 設定 VL_ASCII=1,
或換成終端機確實支援的字元。
下載 installer,讀過再執行
不要把遠端腳本直接當成可信輸入。下面先把 v0.11.0 的 installer
存成暫存檔,讓你可以用 less 檢查;執行時再把同一個 release tag
傳給 installer,避免 installer 與 runtime 來自不同版本。
CORALLINE_REF="v0.11.0"
INSTALLER="$(mktemp)"
curl -fsSL \
"https://raw.githubusercontent.com/Nanako0129/coralline/${CORALLINE_REF}/install.sh" \
-o "$INSTALLER"
less "$INSTALLER"
bash "$INSTALLER" --ref "$CORALLINE_REF"
rm -f "$INSTALLER"
互動式 installer 會安裝 runtime、開啟設定流程,並把
statusLine 合併進 ~/.claude/settings.json。
上游說明也指出:修改 settings 前會建立帶時間戳的備份,其他 Claude 設定不應被改寫。
想跟著最新版本:先到
Coralline Releases
查看最新 tag,再把上面兩處 v0.11.0 一起替換。不要只改其中一處。
完成後應該看見的設定
{
"statusLine": {
"type": "command",
"command": "bash ~/.claude/coralline/statusline.sh",
"refreshInterval": 1
}
}
安裝完成不等於 statusline 已經工作
把設定檔、renderer 與 Claude Code 分開驗證。這樣畫面空白時,才知道問題發生在哪一層。
- 讀出
settings.json的statusLine,確認 command 指向實際存在的 renderer。 - 用假資料直接餵給 renderer。只要 stdout 有內容,腳本與
jq這一層就能工作。 - 重新啟動 Claude Code,接受目前 workspace 的 trust 提示,再觀察底部狀態列。
- 畫面仍是空白時,以
claude --debug查看第一次 statusLine invocation 的 exit code 與 stderr。
jq '.statusLine' ~/.claude/settings.json
echo '{"model":{"display_name":"test"},"workspace":{"current_dir":"/tmp"},"context_window":{"used_percentage":50},"cost":{"total_cost_usd":0.01}}' \
| bash ~/.claude/coralline/statusline.sh
claude --debug
成功訊號:第二個指令能印出狀態列;重新啟動 Claude Code 後,底部能看到相同類型的 segments。兩者都成立,才算完成。
狀態列上的縮寫怎麼讀
Coralline 可顯示的 segment 比下表更多。這裡只保留安裝後最常需要判讀的幾項; 其餘欄位以原作者 README 為準。
| Segment | 範例 | 代表什麼 |
|---|---|---|
dir |
~/src/coralline |
目前工作目錄;過長路徑會依設定摺疊。 |
git |
⎇ main+!?⇡2 |
+ 已暫存、! 已修改、?
未追蹤;⇡/⇣ 表示 ahead/behind。 |
model |
◆ model |
Claude Code 傳入的目前模型顯示名稱。 |
ctx |
⬡ ▰▱▱▱▱ 21% |
Context window 使用率,以及 renderer 可取得的 input、output 與 cache token 計數。 |
limit5h / limit7d |
5h 41% |
Claude Code 有提供 rate limit 資料時,顯示使用率與重置倒數。 |
cost |
$0.42 |
Claude Code 在本機估算的 session 費用;不等同最終帳單。 |
clock |
⊙ 14:45 |
本機時間,可設定 12 小時、24 小時或關閉。 |
第一次 API response 尚未完成時,部分欄位可能是 null 或尚未出現。
先對 Claude Code 完成一次互動,再判斷數值是否真的異常。
Claude Code 與 Coralline 之間只有一條資料流
- Claude Code 在訊息完成、
/compact、permission mode 或 Vim mode 改變時觸發 statusLine;設定refreshInterval: 1後,閒置時也會每秒重跑。 - 每次執行都把 workspace、model、context、cost、rate limits 等 session JSON 送到 command 的 stdin。
statusline.sh以jq取值,必要時讀取 Git 狀態, 再把 ANSI 文字印到 stdout。Claude Code 只負責顯示輸出。
Renderer 在本機執行,不會因為畫 statusline 額外消耗 API token。反過來說, command 太慢或退出碼不是 0,也會直接讓狀態列延遲或空白。
先調整資訊量,再調整顏色
下面是偏兩行、保留 rate limit 的設定範例,不是 Coralline 預設值。先刪掉不看的 segments,通常比換主題更能改善可讀性。
. ~/.claude/coralline/themes/claude-coral.conf
VL_STYLE="pill"
VL_LAYOUT="auto"
VL_MAX_LINES=2
VL_WRAP_MARGIN=4
VL_SEGMENTS="dir git model ctx limit5h limit7d cost clock"
VL_CLOCK="24h"
VL_CLOCK_SECONDS=0
VL_BAR_WIDTH=5
VL_PATH_DEPTH=4
VL_ASCII=0
想重新開啟視覺化設定 wizard,可執行:
bash ~/.claude/coralline/configure.sh
卡住時,先查最短的故障鏈
| 狀況 | 先確認 | 處理方式 |
|---|---|---|
Installer 回報 jq is required |
目前 shell 的 jq --version 是否成功。 |
Windows 重新開啟 Git Bash;仍找不到就先修正 PATH,不要建立硬編碼 wrapper。 |
| Renderer 手動測試有輸出,Claude Code 裡沒有 | settings.json、workspace trust,以及
disableAllHooks 是否為 true。 |
修正設定後重啟 Claude Code,再用 claude --debug
查看 exit code 與 stderr。 |
| 數字是 0、空白或少了某個 segment | 是否已完成第一個 API response;該欄位是否由目前帳號或版本提供。 | 先互動一次,再用假資料測 renderer。不要把缺少欄位當成 jq 故障。 |
| 圖示變成方塊,進度條錯位 | 終端機字型是否支援使用中的 Unicode 或 Nerd Font 字符。 | 設定 VL_ASCII=1,或改用字寬固定且確實存在的字符。 |
| 狀態列太長或折行難讀 | VL_SEGMENTS、VL_LAYOUT、
VL_MAX_LINES 與終端寬度。 |
先減少 segments,再調整自動折行;不要只縮小字型。 |
資料來源與核對邊界
- Claude Code 官方文件:Customize your status line
- Coralline 繁體中文 README
- Coralline installer 原始碼
- 本文核對版本:v0.11.0
本文沒有在乾淨 Windows 或 macOS 環境實際執行 installer; 指令與欄位依 2026-07-29 可讀到的官方文件、release 與原作者 repository 靜態核對。