Repository navigation
Releases: risukisu/claude-code-statusline
Releases · risukisu/claude-code-statusline
Release list
v1.2.0
Added
- Agent model labels, an optional add-on.
extras/agent-model-tag.jsis a PreToolUse
hook that makes Claude Code's agent lines show each subagent's model and exact version,
with a dot per model family:🤖 Fix the tests [🟣 opus: Opus 5.5]. It follows Claude
Code's documented order for picking a subagent's model and reads only model ids from
local transcripts. It is opt-in: the status line itself still needs no hook.
agentTag.emojiin~/.claude/statusline.jsonchanges the dots. See the README.
v1.1.0
Added
- A settings file.
~/.claude/statusline.jsonholds the theme, quiet mode, links,
context thresholds, workspace palettes, hidden segments, and bar width. Every key is
optional, a bad value falls back to its default, and upgrades never overwrite the file.
examples/statusline.jsonlists every key. - Clickable links.
gh:owner/nameopens the repo and the PR badge opens the PR, in
terminals that support OSC 8 hyperlinks. Credentials in an https remote never reach the
link. GitLab merge requests readMR !12. - Themes.
high-contrastlifts the greys;colorblindswaps green and red for
blue, yellow, and vermillion. The standardNO_COLORvariable prints plain text. - Quiet mode, on by default. Healthy segments such as
✓ syncedand low usage are
dimmed, so what needs attention stands out. - A workspace gutter. A
▌down the left edge in the workspace colours ties the four
lines into one block."gutter": falseturns it off. - Narrow terminals. Each line fits the width Claude Code reports: line 3 drops the
remote, then the sync age, the PR's review words, the▸repo name, and the PR; lines 1
and 2 drop the token count, diff, effort, and countdowns. Branch, changes, ahead/behind,
the context %, and the/compacthint always stay.
Changed
- The context bar warns earlier. Amber from 30%, orange at 40%, red from 50%, where a
⚠ /compacthint appears. Both lines are settings. The companion'scontextlines
start at the same 50% (they started at 70%). - Limit bars replace the pace arrows. Line 2 draws each window as a bar: the fill is
what you've used, a│notch marks how much of the window's time has passed, and fill
past the notch is red overspend.⇡Nand⇣Nare gone from line 2. - The companion speaks. Line 4 reads
╰─ 🦊 linewith the line in italics, instead
of🦊 ~ line.
Docs
- The README opens with an animated project card and explains, in plain words, how to
read each line: why the context bar turns red at 50%, how a limit bar's notch works, and
what⇡and⇣mean.
Upgrading From 1.0.0
- Copy
statusline.jsinto~/.claude/again. Souls and/animalare unchanged. - If you edited
ROOT_PALETTESin the script, move those entries topalettesin
~/.claude/statusline.json.
Full notes: CHANGELOG.md
v1.0.0
The first tagged release.
What Ships
- Line 1, session: model, reasoning effort, a blue → amber → red context bar,
tokens used of the window, and lines added and removed. - Line 2, limits: 5-hour and 7-day usage, pace against the clock (
⇡burning fast,
⇣under pace), and time until each window resets. - Line 3, git: the launch folder in its own shimmering workspace colour, the repo
you're in when it differs, branch, uncommitted files, ahead/behind or✓ synced,
age of the upstream's last commit, the origin remote, and the open PR's review state. - Line 4, companion (optional, off by default): a squirrel, fox, or turtle that
comments on your work with hand-written lines. Pick one with/animal. - No network, no API keys, no model calls, no dependencies.
nodeand a few local
gitreads.
New Since the Pre-Release Builds
- Companions notice what's going on. Souls gained nine state sections:
dirty,
ahead,behind,context,limits,synced,branch,norepo, andnight.
Lines can carry live values:{dirty},{ahead},{behind},{ctx},{limit},
{branch}, and{dirty:file}for "1 file" / "3 files". While you're busy, two lines
in three speak to the state and the third is idle chatter, so the character still
shows. Old souls with onlyworkandambientkeep working. - Eight times the lines. Each shipped soul went from 8 lines to 66–68.
node statusline.js --versionprints the installed version.
Fixed
- Cache files piled up in
~/.claude. Each session's git snapshot cache stayed
forever, and on Windows a failed atomic write left its temp file behind (one machine
had 88 caches and 322 temp files). A failed write now removes its temp file, and a
session's first render sweepsstatusline-git.*caches idle for a day and temp files
older than a minute. It touches no other file. - Cancelled renders hung forever. Claude Code orphans a superseded render without
closing its stdin; the process now exits on its own after 8 seconds. - Every render ran git 4–5 times. The git snapshot is cached per session for 3
seconds, and the recommendedrefreshIntervalis10.
Upgrading From a Pre-1.0 Checkout
- Copy
statusline.js,souls/, andcommands/animal.mdinto~/.claude/again. - An experimental live companion mode existed before 1.0 and is gone. If your
~/.claude/statusline-soul.jsonstill names it, the companion reads asoff; run
/animalto pick again. - If
~/.claude/settings.jsonhas aUserPromptSubmithook running
statusline.js --hook, delete that entry. It does nothing now.
Full notes: CHANGELOG.md