Skip to content

Claude enterprise accounts: mislabeled spend, phantom rows, empty usage trend #1260

Description

@cachedout

Summary

Claude enterprise accounts have three related display problems. All three were identified by an enterprise Claude Code user (@cachedout) who has a working fix ready.

Problems

1. Spend metric labeled "Extra Usage" instead of "Spend"

The extra_usage API field is labeled "Extra Usage" everywhere — a consumer term for an optional add-on beyond a quota. For enterprise accounts, this field is the entire monthly billing metric; there is no quota to exceed. The correct label is "Spend".

Root cause: the widget descriptor title is baked in at startup and cannot vary by account type. The mapper has no way to signal a different display name.

2. Session, Weekly, Fable, and Sonnet rows show permanent "No data"

Enterprise accounts have no per-session or per-week token caps. The Anthropic API returns null for five_hour, seven_day, seven_day_sonnet, and limits[] on enterprise plans — these limits structurally do not exist. The four rows render as permanent "No data" placeholders with no way to dismiss them.

3. Usage trend and spend tiles always empty

The log scanner's ownedUsageFiles filter attributes CLI sessions via an ownerOrganizationUuid stamp in session events or via the Claude Desktop session index. Claude Code CLI sessions do not stamp org UUIDs, and the Desktop index only covers sessions Claude Desktop is aware of. The fallback (allowsUnattributedSessions) is gated on having exactly one Claude account record — users who also have a Desktop org account have more than one record, so the fallback is disabled and every CLI session is dropped. Result: the usage trend and Today/Last 30 Days tiles are always empty for enterprise CLI users.

Proposed fix

A fix is implemented and tested. Happy to share the PR once an issue is approved. In brief:

  • Add titleOverride: String? to MetricLine.progress so the mapper can signal a context-sensitive display name without touching the widget registry.
  • Skip emitting token-window lines in the mapper for enterprise accounts; mark those descriptors hideWhenNoData so the dashboard omits them instead of showing "No data".
  • In ProviderCatalog, CLI-based Claude cards always set allowsUnattributedSessions: true~/.claude/ is the exclusive CLI home for the default CLI account and its sessions belong to that account unconditionally.

All changes have regression tests.

Activity

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

Metadata

Metadata

Assignees

Labels

approvedMaintainer-approved issue or PR scope

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions