Terminito adds a zero-dependency status line to Claude Code showing worktree, branch, context, and quota. Install via Homebrew or git clone, then run
terminito installto update settings.json.
Key Takeaways
- Terminito adds a zero-dependency status line to Claude Code showing worktree, branch, context, and quota.
- Install via Homebrew or git clone, then run
terminito installto update settings.json.
What Changed
Terminito is a new open-source tool that adds a persistent status line to Claude Code's terminal interface. It shows, at a glance:
- Worktree and branch — which worktree you're in (linked or main) and the current branch name
- Context usage — how much of the context window you've consumed, with a visual bar and percentage
- Quota remaining — how much of your subscription quota is left, with a time estimate
It's a single bash script with zero dependencies — no jq, no Node, no Python. It doesn't even invoke git; it reads .git/HEAD directly. The render path spawns nothing, keeping it fast and lightweight.
What It Means For You
If you're juggling multiple worktrees or long Claude Code sessions, this status line removes the guesswork. You'll know instantly:
- Which worktree you're in — especially important when you're deep in a refactor and might accidentally commit to the main checkout
- How much context you've used — so you can decide when to compact or start a new session
- How much quota you have left — so you can avoid hitting a wall mid-task
The design is thoughtful: the colored area represents what you've spent, so a fresh session shows quiet grey instead of alarming saturated cells. Half-cells double the resolution near the end, where 95% and 100% are visually distinct. And the countdown next to the quota bar is the key: 91% 4m means wait it out, but 91% 4h51m means switch models now.
Try It Now
Installation
With Homebrew:
brew install arturlimaaa/tap/terminito && terminito install
Without Homebrew (or on Windows Git Bash):
git clone https://github.com/arturlimaaa/terminito ~/terminito && ~/terminito/terminito install
The install command writes the statusLine key into ~/.claude/settings.json and keeps a .bak beside it. Claude Code picks it up on its next message — no restart needed.
Safety and troubleshooting
- Re-running
installis a no-op. If you already have a different status line, it stops and tells you rather than overwriting. - Use
install --forceto replace an existing status line. - Use
install --printto see the snippet and paste it manually. - If nothing appears, run
terminito doctor. If checks pass but the row is missing,terminito doctor --trace onshows whether Claude Code is actually invoking it.
What the status line looks like
⎇ northwind-service-roster feat/source-roster-cursor ◆ Opus
ctx ██████▌░░░ 68% 5h ████░░░░░░ 41% 2h13m wk ██░░░░░░░░ 23% 4d
Row 1 shows your worktree (⎇ for linked, ◉ plus amber name for main checkout) and branch. Row 2 shows context usage and quota. The two rows join into one when the terminal is wide enough.
Portability
Runs on Windows Git Bash, macOS (both stock /bin/bash 3.2.57 and Homebrew bash 5), and Linux. CI runs golden files on all three and asserts byte-identical output. On Windows, use forward slashes or ~ in the settings path — Git Bash treats unquoted backslashes as escape characters.
Why It Works
The status line is rendered entirely in bash, reading .git/HEAD directly instead of spawning git. This keeps it fast and dependency-free. The 300ms debounce budget (tested in tests/perf.sh) ensures it doesn't slow down your terminal. Every design decision — the color ramp, the CP437 glyph subset, the locked lane widths, the 78-column budget — is backed by a measurement or failure case documented in DESIGN.md.
If you're already using Claude Code for complex, multi-worktree work, terminito is a small addition that pays off every session. Install it, configure it, and never lose track of where you are or what you have left.
Source: github.com
Originally published on gentic.news

Top comments (0)