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

ccusageEstela
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.