Estela vs ccusage
Both read the same files your AI agent leaves on disk, both run with
npx, and neither sends anything anywhere. But they answer different
questions, which is why they don't compete.
In one sentence
ccusage tells you what the AI cost you. Estela tells you how many hours you worked and what to bill the client.
ccusage is a great, widely used open source project: if you want to know how many tokens you burn a day, or how much of Claude's five-hour block you have left, it's the tool. Estela starts from those same logs but looks at something else: time. It lines them up with your Git history, splits them by project and client, and turns them into a report someone pays for.
Side by side
| ccusage | Estela | |
|---|---|---|
| Answers | How many tokens you used and what they're worth | How many hours you worked, on which project, and what to bill |
| Reads | Logs from more than fifteen agent CLIs: Claude Code, Codex, Gemini CLI, Copilot CLI, OpenCode… | Claude Code, Codex and GitHub Copilot in VS Code, plus your Git history |
| Unit | Tokens and money | Hours (measured or estimated) and money |
| Reports | Daily, weekly, monthly, per session; 5-hour blocks; status line | Per project and client; report with a cutoff date; PDF; a published dashboard for the client |
| Clients and rates | — | Yes: client, currency, hourly rate and report language |
| Work without an agent | — | Hours estimated from your commits, marked as estimated, plus manual hours for meetings |
| Teams | — | Measured hours for the whole team (Teams plan, paid) |
| Where you see it | Terminal and JSON | Terminal and a local dashboard in your browser (estela web) |
| Data | Local | Local; something leaves only if you publish a dashboard or sync |
| Price | Free, MIT | CLI free and MIT; Pro and Teams paid |
The ccusage column comes from its README as of September 28, 2026. It moves fast; if something has changed, let us know and we'll fix it.
When ccusage is enough
- You pay for the API by usage and want to watch spend day by day.
- You want to know how much of Claude's 5-hour block you have left before it cuts you off.
- You use agents Estela doesn't read yet, like Gemini CLI or OpenCode.
- You don't bill by the hour: what matters to you is usage, not time.
When you need Estela
- You bill by the hour and never remember to start the timer.
- You work for several clients and need to separate whose hour was whose.
- You have to back those hours up: with commits, dates and a PDF that makes sense without you in the room.
- Part of your work doesn't go through an agent. Without transcripts, Estela rebuilds the time from your commits, and tells you it's estimated.
- You run a team and want measured hours, not ones filled in at the end of the month.
Using both
They don't step on each other: both only read, and neither touches the agent's files or installs hooks. You can keep ccusage in your status line to watch usage while you work, and use Estela to close out the month.
npx ccusage@latest daily # today's tokens npx estela setup # your hours, per project
If you want to see Estela before letting it read your history,
npx estela demo fills a dashboard with made-up data and touches nothing
of yours.
AI cost, counted differently
Both give you a cost, but it doesn't mean the same thing. ccusage multiplies your tokens by the API price: it's what that usage would be worth. On a flat subscription like Claude Max, that's not what you pay. Estela splits the real fee across what you used and gives you the cost per project, which is the number that makes sense to pass on to a client.
estela subscription add --id max --name "Claude Max" --fee 100 estela ai-cost
And on a team, that cost is aggregated per project and never shown per person.
Read the guide or start with
npx estela setup. Questions? Write to
hola@getestela.dev. A person answers.
