You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
A --since date later than --until is accepted and prints an empty report #1729
A window whose --since date is later than its --until date is not rejected. The report loads every entry, keeps nothing, and prints an empty table (or {"daily": [], "totals": {...}} with --json) with exit code 0. That looks like "no usage data" rather than a typo in the flags.
Reproduced on main d341949 and on the published 20.0.20.
Expected
Reject the window before loading data, the same way #1604 rejects a bound that is not a real date:
The --since date '20260914' is later than the --until date '20260901'.
Run 'ccusage --help' for usage.
with exit code 2, for flags, config-file bounds, and a mix of both.
Notes
normalize_date_bound already stores both bounds as YYYYMMDD, so the check is a string comparison in ccusage-cli-parser after the command is parsed and config is applied. I have this implemented with tests and a docs line and will open the PR right after triage.
Pullfrog triage: priority:medium
Kind: bug
Maintenance fit: maintainable
Confidence: high
Inverted since/until window returns empty report with exit 0 instead of an error, which misreports usage as no data. Fix is bounded validation consistent with existing date validation, protecting core reporting.
Activity
pullfrog commentedon Sep 15, 2026
github-actions commentedon Sep 15, 2026
Pullfrog triage: priority:medium
Kind: bug
Maintenance fit: maintainable
Confidence: high
Inverted since/until window returns empty report with exit 0 instead of an error, which misreports usage as no data. Fix is bounded validation consistent with existing date validation, protecting core reporting.
Decision: kept open.