Nanako0129/coralline: a Powerlevel10k-style statusline for Claude Code
🪸 Powerlevel10k-inspired statusline for Claude Code — paste one prompt and your AI interviews you, then installs it
At a glance
- What is it?
- coralline is a statusline renderer for Claude Code with Bash and native Windows PowerShell implementations. It shows git state, context usage, rate-limit gauges and session cost, and installs by pasting one prompt into Claude Code.
- Who is it for?
- Adopt coralline if you live in Claude Code and want git state, context usage, rate-limit gauges and session cost visible without leaving the terminal, and if you are comfortable running a downloaded installer or reviewing INSTALL.md first. Skip it if you do not use Claude Code, if you cannot install jq and a Nerd Font on Bash, or if you need the statusline to update every second, since the cache countdown is the value at the last render.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 9 days ago.
- What is it written in?
- Mainly PowerShell, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
The problem coralline solves for Claude Code users
Claude Code runs in a terminal, and the terminal tells you almost nothing about the session you are paying for. You cannot see how much context you have consumed, how close you are to a rate limit, what the session has cost, or which branch your edits are landing on. coralline is a statusline renderer that answers those questions in one line. The README shows the shape of it: a directory, a branch, a model name, a context gauge with input and output token counts, a five-hour rate-limit gauge with a reset countdown, a seven-day gauge, a session cost in USD, and a clock.
The audience is narrow and specific. This is for people who already run Claude Code and want the same ambient awareness that Powerlevel10k gives a Zsh prompt. It is not a general terminal prompt. It does not replace your shell prompt, and it does not do anything outside Claude Code. If you do not use Claude Code, the project has nothing for you.
Segments, gauges and the inverted cache threshold
The statusline is assembled from named segments, each with a default on or off. The README lists eighteen: dir, project, git, node, python, model, effort, ctx, cache, limit5h, limit7d, burn, lines, cost, style, duration, stash and clock. The defaults are the conservative set: dir, git, model, ctx, limit5h, limit7d, cost and clock. The rest you enable.
Gauges use a colour ramp with configurable thresholds: green below 50 percent, yellow at 50, red at 75. The cache segment inverts that logic, because a high prompt-cache hit ratio is the good outcome. It turns yellow at 50 percent and red at 25. That inversion is the kind of detail that separates a statusline someone actually uses from one they turn off after a day.
The cache segment has a hard dependency: Claude Code v2.1.263 or newer, which is where prompt_cache appears in the statusline payload. It hides itself before the session's first request. Below an hour the countdown shows seconds, above it does not, and once the cache goes cold the countdown is replaced by the word cold. The percentage is the session's cumulative hit ratio and is never zeroed, so the marker tells you whether a cache still exists behind the number rather than whether the number is meaningful. One caveat the README states plainly: the countdown is the value at the last render, not a live clock. Claude Code refreshes the statusline on payload events, plus once at the expiry itself, unless statusLine.refreshInterval is set in your settings.
Installing coralline with the Claude Code playbook
The fastest path is to let Claude Code install it. The README gives this prompt, which fetches INSTALL.md and follows the playbook inside it:
Please install coralline for me:
fetch https://raw.githubusercontent.com/Nanako0129/coralline/main/INSTALL.md
and follow the playbook in it.According to the README, Claude routes by environment, asks before changing preferences, and uses the appropriate installer. Note what that prompt fetches: a mutable main/INSTALL.md. The README itself warns to review it first or pin the playbook, installer and payload to the same audited commit.
On macOS, Linux, or Windows with Git Bash or WSL, run the interactive installer:
curl -fsSL https://raw.githubusercontent.com/Nanako0129/coralline/main/install.sh | bashThe installer recommends the latest tagged release or lets you choose mutable main. You can skip the prompt with --ref v0.16.1 or another ref. Bash requires jq and a Nerd Font. Setting VL_ASCII=1 gives a glyph-free rendering if your font cannot handle the symbols. Git is optional and only enables the git-backed segments.
On Windows without Git Bash or WSL, statusline.ps1 is the native Windows PowerShell 5.1 renderer. It needs no Bash, jq, WSL, archive extractor or Git, and git.exe is optional. The README's bootstrap follows mutable main, resolves it to a commit before downloading executable installer code, then passes that same commit to install.ps1. It is a long, defensive script that validates the repo and ref against a pattern, rejects network drives and reparse points, and refuses redirects from the expected hosts.
What coralline does not do, and where it breaks
The cache segment is the clearest limitation. It requires Claude Code v2.1.263 or newer, so on an older build the segment simply is not available. Even on a supported build, the countdown is stale between payload events. If you want a countdown that ticks, you have to set statusLine.refreshInterval yourself, and the README does not document what that costs in refresh overhead.
The Bash path carries its own dependencies: jq and a Nerd Font. Neither is exotic, but both are prerequisites you have to satisfy before the installer is useful. The ASCII fallback exists, and it is a fallback, not the intended rendering.
There is also an install-surface problem the README acknowledges. The one-line installer and the Claude Code playbook both follow mutable main by default. The README points you at pinning the playbook, installer and payload to the same audited commit, and at the manual fallback in INSTALL.md if the one-line path cannot run. That is honest, but it puts the burden on you to decide how much you trust a moving branch.
Finally, coralline is the wrong tool if you want a shell prompt. It renders inside Claude Code's statusline slot. If you are not in a Claude Code session, none of these segments exist.
coralline versus Powerlevel10k
The comparison is in the project's own framing: coralline is Powerlevel10k-inspired. The difference in approach is what each one reads. Powerlevel10k is a Zsh prompt. It renders before every command, it knows about your shell's state, and it has no concept of a Claude Code session, a context gauge, or a rate-limit countdown. coralline renders from the Claude Code statusline payload, so its segments are session-scoped: token counts, cache hit ratio, cost in USD, and the five-hour and seven-day limit gauges.
That means they are not substitutes. If you want a fast Zsh prompt with git and language segments, Powerlevel10k is the mature answer, and coralline will not replace it. If you want to see what your Claude Code session is consuming, Powerlevel10k cannot show you that at all. The overlap is visual style and the general idea of a segmented, glyph-heavy line. The data underneath is different.
A fair reading: coralline borrows a proven visual language and applies it to a payload Powerlevel10k was never designed to read. The risk is that the visual language carries expectations the payload cannot meet, and the cache countdown is exactly that case.
Maintenance, releases and the MIT licence
The repository is not archived, and the last push was on 2026-09-07. Recent releases are v0.16.1 and v0.16.0, both dated 2026-09-07, with v0.15.0 on 2026-08-23. That is a tight release cadence in the weeks before the last push, and the version numbers suggest a project still finding its shape rather than one frozen at 1.0.
Upgrade cost is where you should look carefully. The README lists UPGRADE.md as a top-level file, which implies the project documents its own upgrade path, but the README excerpt does not describe what an upgrade from one release to the next involves. The installer's --ref flag is the mechanism for pinning to a specific release, and the README recommends the latest tagged release over mutable main. If you install from main, you are tracking a moving target and should expect to re-read the installer.
Licence is MIT, per the repository. That is permissive: it allows use, modification and redistribution with the licence and copyright notice preserved. This is not legal advice, and the LICENSE file is the authority, but MIT is the least surprising choice for a tool like this.
Editorial conclusion
Adopt coralline if you live in Claude Code and want git state, context usage, rate-limit gauges and session cost visible without leaving the terminal, and if you are comfortable running a downloaded installer or reviewing INSTALL.md first. Skip it if you do not use Claude Code, if you cannot install jq and a Nerd Font on Bash, or if you need the statusline to update every second, since the cache countdown is the value at the last render. Before installing, check the release you pin, confirm your Claude Code version for the cache segment, and read the manual fallback in INSTALL.md so you know how to back the change out.
Frequently asked questions
What is coralline?
It is a Powerlevel10k-inspired statusline for Claude Code with native Bash and Windows PowerShell renderers. It displays segments such as directory, git branch, model, context gauge, rate-limit gauges, session cost and a clock.
How do I install coralline for Claude Code?
The README gives a prompt to paste into Claude Code that fetches INSTALL.md and follows the playbook, or you can run the interactive installer with curl piped to bash. On Windows without Git Bash or WSL, statusline.ps1 is the native PowerShell 5.1 renderer.
Does coralline need jq and a Nerd Font?
The Bash path requires jq and a Nerd Font. Setting VL_ASCII=1 produces a glyph-free rendering. Git is optional and only enables the git-backed segments.
Why is the coralline cache countdown not updating every second?
The README states the countdown is the value at the last render, not a live clock, because Claude Code refreshes the statusline on payload events and once at the expiry itself. Setting statusLine.refreshInterval in your settings changes that.
Community notes