Affected area
CLI runtime — ccs cliproxy quota
Problem
ccs cliproxy quota --provider claude renders remaining quota, but the row labels only say usage limit and the percentage has no remaining qualifier.
Example from CCS 8.8.1:
Claude (2 accounts)
[!] account-a
5h usage limit [▓▓▓▓▓▓▓▓▓▓ ] 50% Resets in 57m
Weekly usage limit [██████████████████ ] 91% Resets in 5d 23h
[OK] account-b
5h usage limit [████████████████████] 100% Resets in 5h
Weekly usage limit [█████████████████ ] 84% Resets in 6d 1h
A first-time reader can reasonably interpret 100% under usage limit as 100% used. In reality it means 100% remaining, which is why the account is [OK].
The renderer confirms the value is remaining quota:
const bar = formatQuotaBar(window.remainingPercent);
...
`${window.remainingPercent.toFixed(0)}%`
Current source: src/commands/cliproxy/quota-subcommand.ts, Claude rendering around displayClaudeQuotaSection.
The normalized types also explicitly distinguish usedPercent and remainingPercent, so this appears to be a presentation-label issue rather than a data issue.
Why this matters
Operators use this command to decide whether routing and account rotation are healthy. Reversing the meaning at a glance can lead to routing away from a fresh account or continuing to drain an exhausted one.
This ambiguity also causes problems in agent-operated environments such as Hermes Agent. An agent reading the plain CLI output can reasonably interpret:
as "100% used" rather than "100% remaining." We have encountered this during operations: the quota state had to be checked against the implementation before it was safe to decide whether an account was exhausted or available.
This affects workflows that use CLI output for:
- selecting or rotating accounts;
- diagnosing why round-robin traffic is concentrated;
- generating quota alerts and operational summaries;
- deciding whether a provider has enough capacity for a scheduled or parallel job.
Human readers can sometimes infer the direction from [OK] or the bar, but automation should not need to correlate presentation hints or inspect source code to determine whether a percentage means used or remaining. Explicit output also makes future machine-readable parsing less fragile.
Proposed change
Make the direction explicit in the CLI output. For example:
5h remaining [▓▓▓▓▓▓▓▓▓▓ ] 50% Resets in 57m
Weekly remaining [██████████████████ ] 91% Resets in 5d 23h
or retain the existing labels but qualify the value:
5h usage limit [▓▓▓▓▓▓▓▓▓▓ ] 50% remaining
Weekly usage limit [██████████████████ ] 91% remaining
A dual display such as 50% remaining (50% used) would also be clear, but may be unnecessarily verbose.
Acceptance criteria
100% is unambiguously presented as fully remaining, not fully used.
- The bar direction remains consistent: a fuller bar means more quota remaining.
- Claude and Codex quota CLI displays use consistent terminology where both render
remainingPercent.
- Focused CLI rendering tests assert the
remaining qualifier.
Related but not duplicate
This issue is specifically about remaining-vs-used semantics in the CLI text output.
Environment
- CCS: 8.8.1
- CLIProxy Plus: 7.2.127-6-plus
Affected area
CLI runtime —
ccs cliproxy quotaProblem
ccs cliproxy quota --provider clauderenders remaining quota, but the row labels only sayusage limitand the percentage has noremainingqualifier.Example from CCS 8.8.1:
A first-time reader can reasonably interpret
100%underusage limitas 100% used. In reality it means 100% remaining, which is why the account is[OK].The renderer confirms the value is remaining quota:
Current source:
src/commands/cliproxy/quota-subcommand.ts, Claude rendering arounddisplayClaudeQuotaSection.The normalized types also explicitly distinguish
usedPercentandremainingPercent, so this appears to be a presentation-label issue rather than a data issue.Why this matters
Operators use this command to decide whether routing and account rotation are healthy. Reversing the meaning at a glance can lead to routing away from a fresh account or continuing to drain an exhausted one.
This ambiguity also causes problems in agent-operated environments such as Hermes Agent. An agent reading the plain CLI output can reasonably interpret:
as "100% used" rather than "100% remaining." We have encountered this during operations: the quota state had to be checked against the implementation before it was safe to decide whether an account was exhausted or available.
This affects workflows that use CLI output for:
Human readers can sometimes infer the direction from
[OK]or the bar, but automation should not need to correlate presentation hints or inspect source code to determine whether a percentage means used or remaining. Explicit output also makes future machine-readable parsing less fragile.Proposed change
Make the direction explicit in the CLI output. For example:
or retain the existing labels but qualify the value:
A dual display such as
50% remaining (50% used)would also be clear, but may be unnecessarily verbose.Acceptance criteria
100%is unambiguously presented as fully remaining, not fully used.remainingPercent.remainingqualifier.Related but not duplicate
This issue is specifically about remaining-vs-used semantics in the CLI text output.
Environment