Once you know the status line is just a script that prints a line, the question becomes what to put on it. There’s a spectrum from a bare model name to a full powerline bar with cost tracking and a context meter. This is a tour of the setups worth copying in 2026, what each is good for, and the trade-offs, so you can pick a style that matches how you work rather than cargo-culting someone’s screenshot.
If you haven’t set one up yet, customizing the status line on Windows and WSL covers the mechanics — the statusLine config, the JSON-on-stdin contract, and a working script for each platform. This article is about the what, not the how.
The actual status line picks
If you want something real to install or copy, start here.
Status line picks
The setups worth copying
5 setups
Built-in /statusline generator
Claude Code generates the script and settings for the fields you ask for.
Install / setup
/statusline show model, branch, cost, and context percentage Source / docs
Best for: Most people. It gets you a working bar quickly, and you can ask Claude to revise it.
DIY script
A tiny local script that reads Claude Code's JSON-on-stdin and prints one line.
Install / setup
Set statusLine.command to your own shell or PowerShell script Source / docs
Best for: Teams that want a small, reviewable status line with no third-party dependency.
ccstatusline
All-in-one TUI setup with themes, powerline, git, context, cost, rate limits, and usage widgets.
Install / setup
npx -y ccstatusline@latest Source / docs
Best for: The most polished community option when you want a finished status line quickly.
cship
Fast Rust binary with Starship-style TOML config.
Install / setup
Windows: irm https://cship.dev/install.ps1 | iex; macOS/Linux: curl -fsSL https://cship.dev/install.sh | bash Source / docs
Best for: People who like configurable modules, thresholds, and a structured config file.
starship-claude
Claude Code plugin for users who already like Starship-style prompt design.
Install / setup
/plugin marketplace add martinemde/starship-claude; /plugin install starship-claude@starship-claude Source / docs
Best for: Users who already like Starship and want Claude Code's bar to reuse that visual style.
Match the setup to what you check
Before the styles, the principle: the right status line shows the things you keep glancing down to find, and nothing else. A bar crammed with ten fields is as useless as a blank one, because you can’t scan it. So start by asking what you actually wonder about mid-session.
Fields and who needs them
| Field | Worth showing if… |
|---|---|
| Model | You switch tiers and want to know where you are — almost everyone |
| Git branch | You work across branches — almost everyone |
| Context usage | You run long sessions and hit window limits |
| Cost estimate | You're watching per-session spend |
| Working directory | You jump between projects or worktrees |
The minimal setup
Model plus git branch. That’s it. For most people this is the sweet spot — the two things you genuinely keep checking, nothing competing for attention.
⚙ Sonnet ⎇ feature/auth
It’s fast, it’s readable, and it never gets in the way. If you’re unsure where to start, start here and add a field only when you catch yourself wanting it. The minimal bar is the one most people end up keeping.
The cost-aware setup
For anyone on pay-per-token who wants spend visible, add a running cost estimate. Seeing the number tick up is a surprisingly effective nudge to /clear a bloated session or drop to a cheaper model.
⚙ Sonnet ⎇ main ◷ $0.42
Pair this with the habits in the cheap-models guide — a visible cost figure plus a router that sends routine work to a cheap model is a practical way to keep bills down.
The git-focused setup
For heavy git workflows — lots of branches, worktrees, frequent context switches — lean into the repo state: branch, plus an indicator of uncommitted changes, plus the directory so you know which checkout you’re in.
⎇ feature/reports* 📁 app-reports
The * flags uncommitted changes. This setup shines when you’re running parallel agents across worktrees, where knowing exactly which branch and folder a session is operating in prevents the classic “wrong branch” mistake.
The context-meter setup
If you routinely run long sessions and hit the edge of the window, put context usage on the bar so you can see it filling before responses start to degrade.
⚙ Sonnet ▓▓▓▓░░░░ 52% ⎇ main
A simple percentage or a little bar gives you a heads-up to /compact or /clear at a sensible point rather than discovering the problem when the agent starts forgetting things. It pairs naturally with the discipline in the too-many-MCP-servers guide, since connected servers are often what’s eating the window.
The powerline setup
The polished one. Powerline-style bars use segment glyphs and colors for a slick look, and community tools package these with themes so you don’t hand-build them. ccstatusline, cship, and starship-claude are the tools to check first. They show the same fields — model, branch, context, cost — just styled.
Sonnet feature/auth 52% $0.42
Two caveats. First, it needs a terminal font with the powerline glyphs (a Nerd Font in Windows Terminal does the job) or you’ll see boxes. Second, if you use a community tool to generate it, read what the tool runs — the status line executes a command on every render, so an opaque or network-calling script is both a performance and a trust concern.
Keep it fast
Whatever style you pick, the command runs to draw the bar, so keep it quick. Reading the JSON and printing a line is instant. Shelling out to git is fine. Making an HTTP request to fetch something is not — that latency shows up in the interface. If a field needs slow data, cache it rather than fetching on every render.
Choosing your status line
- Start minimal: model + git branch
- Add cost if you're on pay-per-token and watching spend
- Add a context meter if you run long sessions
- Lean into branch + dir if you use worktrees
- Use a Nerd Font for powerline glyphs on Windows Terminal
- Keep the script fast — no network calls on render
- Read any community tool's script before installing
Wrapping up
The best status line is the one that shows what you keep checking and stops there. For most people that’s model and branch; add a context meter for long sessions, a cost field if you’re watching spend, and reach for a powerline style only if you want the polish and have the font for it. Whatever you pick, keep the script fast and read anything you didn’t write.
To build any of these, the per-platform scripts and config are in customizing the status line on Windows and WSL.