Clepsydre — an always-on context-window status line for Claude Code.
Last release taught the branch segment to count your git progress — once you asked it to. This one drops the asking: the ↑ahead ↓behind ±dirty counts are now on by default for everyone, because we benchmarked the cost and it turned out to be nothing on a normal repo. If you're on a giant monorepo where it does bite, one env var opts you back out.
Highlights
- Git counts, on by default — the branch segment now shows
↑2 ↓1 ±8out of the box: commits ahead of your upstream (to push), commits behind (to pull), and ± uncommitted changes. Each part shows only when it isn't zero, so a clean, in-sync repo still adds nothing. - Opt out in one line — on a very large monorepo the
git statusscan can cost more than you want per render. SetCLEPSYDRE_GIT_COUNTS=0(globally or per-project) and the branch falls back to a cheap ref-only read. - We measured before deciding — rather than build async machinery on a hunch, we benchmarked the working-tree scan: ~0 ms on a normal repo, and ~0.24 s warm even on the 95k-file Linux kernel. Cheap enough to default on; the full numbers and rationale live in a new ADR.
- Still robust — if git ever hiccups with the counts on, the line falls back to the plain branch; the rest of the status line is never affected.
A tip of the hat 🎩
This whole feature — the idea and the first implementation — is @guillaumejay's, from PR #1. v1.1.0 shipped it opt-in; this release simply trusts it enough to make it the default. Thank you, Guillaume, for the sharp idea and the clean contribution. 🙏
Opt out of the git counts
Only if you need to (e.g. a huge monorepo). Add this to the "env" block of your settings.json (global ~/.claude/settings.json or a project's .claude/settings.json):
{ "env": { "CLEPSYDRE_GIT_COUNTS": "0" } }Install / update
Already installed? Just git pull — no re-install, and the counts light up on the next render. New here:
git clone git@github.com:tpierrain/clepsydre.git ~/clepsydre
cd ~/clepsydre && node install.mjs
Then restart Claude Code.
⚠️ Ignore the "Source code (zip / tar.gz)" archives below. GitHub attaches them automatically and they're useless for Clepsydre: the installer points your status line at an absolute path inside your clone, so updates land with a plaingit pull— a downloaded archive has no git history to pull.