Skip to content

Hide misleading cost estimate for Claude subscription users#464

Open
Priyans-hu wants to merge 1 commit intosteipete:mainfrom
Priyans-hu:fix/92-api-expense-incorrect
Open

Hide misleading cost estimate for Claude subscription users#464
Priyans-hu wants to merge 1 commit intosteipete:mainfrom
Priyans-hu:fix/92-api-expense-incorrect

Conversation

@Priyans-hu
Copy link

@Priyans-hu Priyans-hu commented Mar 2, 2026

The token usage section computes cost using per-token API pricing against conversation logs in ~/.claude/projects/. For API users this is exactly right, but for subscription users (Pro, Max, Ultra, Team) who pay a flat monthly fee, it produces wildly inflated numbers — one user reported $972 shown vs their actual $15 bill.

The app already has isSubscriptionPlan() that detects subscription plans from the login method string, but it was only being used to route the dashboard link. This change uses it in the token display too — when a subscription is detected, the dollar amount is omitted and only token counts are shown.

What changed

  • tokenUsageSection gains an isSubscription parameter (defaults to false)
  • In make(), the login method is checked via UsageStore.isSubscriptionPlan() for Claude providers
  • When subscription is detected, the session/month lines show tokens only (e.g. "Today: 12K tokens" instead of "Today: $4.50 · 12K tokens")

Fixes #92

Claude subscription users (Pro, Max, Ultra, Team) pay a flat monthly
fee, but the token usage section was computing and displaying cost
using per-token API pricing against their conversation logs. This
produced wildly inflated numbers (e.g. $972 shown vs $15 actual bill).

When the login method indicates a subscription plan, the token section
now shows only token counts and omits the dollar amount.

Fixes steipete#92
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

API expense incorrect

1 participant