build your own
Design your status line. Watch it render.
Pick a character, a theme, and the fields you want, then copy one command to install exactly that.
Pick one to pin it, or several to rotate them at random.
pick your fighter
18 sidekicks, each with its own voice and theme.
Pin one in fixed mode, or rotate a roster at random. Tap any character to see its theme.
More characters coming soon. Requests welcome on GitHub.
every surface, themed
75+ themes, from your editor's palette to a character's own.
Every theme paints the whole status line: figure, fields, and signal colors. Pick a character's own look or a generic editor theme. Tap one to load it into the build above.
No themes match that search.
toggle any field
33 widgets, each one optional.
Every field in the status line is a widget you can switch on or off, with its own icon, name, and live value.
No widgets match that search.
the cost is actually right
See what a session really costs.
Zero tokens to find out.
Chat, project, and all-time spend get token-priced straight from your transcripts, then deduped across the whole tree. That corrects the total that Claude Code over-counts when you resume a session. No Claude API, and no network on the render path.
about
Built for people who live in Claude Code.
What it is
A status line for Claude Code with a reactive character and a full widget layer. It takes over the default line the moment you install it.
Why it exists
So you can tell what a session is doing and what it costs, without spending tokens or sending your data anywhere.
How it works
Packs are pure data, never code. Cost comes from your local transcripts. State stays on disk. The only network use is a weekly rate refresh and an account-usage lookup, both off by default and neither on the render path.
questions
FAQ
What is ccsidekick?
A Claude Code status line (statusline) with a character that reacts to your session, plus 33 toggleable widgets for cost, git, and usage. MIT, and one command to install.
Does ccsidekick use the Claude API or spend tokens?
No. Zero token spend, no Claude API, and no network on the render path. Cost is read from your local Claude Code transcripts.
How does it calculate cost?
It token-prices your Claude Code transcripts in-house and dedupes globally by (message.id, requestId), which fixes the over-count Claude Code reports when you resume a session.
Is my data private?
Yes. It is local-first: all state stays on disk under ~/.claude/. The only network use is an optional weekly rate refresh and an account-usage lookup, both off by default and neither on the render path.
How do I install it?
Run npx ccsidekick for the guided setup, or ccsidekick setup with flags for a non-interactive install.
How many characters, themes, and widgets are there?
18 bundled characters, 75+ themes, and 33 widgets, all shipped with no download step.
Can I add my own character?
Yes. Character packs are pure data (never executed code), and the pack-author path documents building one.
What are the requirements?
Node 20.6 or newer (the render path runs under plain Node). MIT licensed.