CLAUDE CODE / CORALLINE · 核對 2026-07-29

把 Git、context 與費用放進 Claude Code 底部

Coralline 讀取 Claude Code 交給 statusLine.command 的 session JSON,再用 jq 組成終端機狀態列。本文聚焦 Windows Git Bash 與 macOS:先準備依賴, 檢查並執行官方 installer,最後用假資料確認 renderer 真的有輸出。

核對版本:v0.11.0 必要工具:jq 來源: Nanako0129/coralline

先判斷你需不需要 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 有輸出。

WINDOWS / GIT BASH

先在 PowerShell 安裝 jq

需要 Git for Windows。用 winget 安裝後,關閉並重新開啟 Git Bash, 再檢查 PATH。

MACOS / TERMINAL

以 Homebrew 安裝 jq

macOS 內建 Bash 可執行 renderer;這裡假設 Homebrew 已可使用。

Windows PowerShell / macOS Terminal
# 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 來自不同版本。

Git Bash 或 macOS Terminal · 釘選 v0.11.0
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 一起替換。不要只改其中一處。

完成後應該看見的設定

~/.claude/settings.json · statusLine 節錄
{
  "statusLine": {
    "type": "command",
    "command": "bash ~/.claude/coralline/statusline.sh",
    "refreshInterval": 1
  }
}
~/.claude/ ├── settings.json ├── settings.json.bak.<timestamp> ├── coralline/ │ ├── statusline.sh │ ├── configure.sh │ └── themes/ └── coralline.conf

安裝完成不等於 statusline 已經工作

把設定檔、renderer 與 Claude Code 分開驗證。這樣畫面空白時,才知道問題發生在哪一層。

  1. 讀出 settings.jsonstatusLine,確認 command 指向實際存在的 renderer。
  2. 用假資料直接餵給 renderer。只要 stdout 有內容,腳本與 jq 這一層就能工作。
  3. 重新啟動 Claude Code,接受目前 workspace 的 trust 提示,再觀察底部狀態列。
  4. 畫面仍是空白時,以 claude --debug 查看第一次 statusLine invocation 的 exit code 與 stderr。
Git Bash 或 macOS Terminal · 分層驗證
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 之間只有一條資料流

  1. Claude Code 在訊息完成、/compact、permission mode 或 Vim mode 改變時觸發 statusLine;設定 refreshInterval: 1 後,閒置時也會每秒重跑。
  2. 每次執行都把 workspace、model、context、cost、rate limits 等 session JSON 送到 command 的 stdin。
  3. statusline.shjq 取值,必要時讀取 Git 狀態, 再把 ANSI 文字印到 stdout。Claude Code 只負責顯示輸出。

Renderer 在本機執行,不會因為畫 statusline 額外消耗 API token。反過來說, command 太慢或退出碼不是 0,也會直接讓狀態列延遲或空白。

先調整資訊量,再調整顏色

下面是偏兩行、保留 rate limit 的設定範例,不是 Coralline 預設值。先刪掉不看的 segments,通常比換主題更能改善可讀性。

~/.claude/coralline.conf · 自訂範例
. ~/.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,可執行:

重新設定 Coralline
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_SEGMENTSVL_LAYOUTVL_MAX_LINES 與終端寬度。 先減少 segments,再調整自動折行;不要只縮小字型。

資料來源與核對邊界

本文沒有在乾淨 Windows 或 macOS 環境實際執行 installer; 指令與欄位依 2026-07-29 可讀到的官方文件、release 與原作者 repository 靜態核對。

返回 AI Agent Skills 下一篇:Claude Skills Link