Next-release requirement (2026-09-08): This issue must be completed before the next release. The existing scope, diagnosis and acceptance criteria below remain in force.
Reported behavior
A custom Kimi profile using the Claude Code harness appears in Settings → Usage as “Kimi usage unavailable.” A profile without a supported account-usage API should not appear as a broken usage integration.
Current implementation
The Usage page selects profiles by ProviderKind::Codex | ProviderKind::ClaudeCode. Runtime refresh uses the same broad harness-kind distinction, then passes the profile launch environment into the corresponding native usage probe. The services layer converts probe failures to an error-bearing ProviderUsage.
A harness protocol does not establish that a custom endpoint implements that harness vendor's subscription/rate-limit API. The custom endpoint configuration and authentication mode need to participate in the eligibility decision. Do not special-case the display name “Kimi.”
Requested behavior
- Establish account-usage support for the resolved profile in the owning provider/runtime contract and use it consistently for refresh and presentation.
- Omit unsupported profiles from Usage and avoid repeatedly probing an unsupported endpoint.
- Keep meaningful error/retry states for supported accounts that are signed out, unreachable or temporarily failing. Do not hide all failures or all custom profiles indiscriminately.
- Ensure composer account-limit presentation follows the same support decision, while session token/context usage remains available independently.
- Invalidate stale usage when profile configuration changes.
Acceptance criteria
Cover a custom Claude Code/Kimi endpoint with no usage support, a supported account returning real windows, and a supported account temporarily failing. Renaming a profile must not change eligibility. Verify that unsupported rows disappear without affecting actual session usage or genuine error reporting.
The precise Kimi endpoint/auth configuration still needs to be captured for live reproduction; the overly broad profile filter is confirmed by source inspection.
Code context
Reviewed against main at b4c549787da6 (2026-09-08).
Reported behavior
A custom Kimi profile using the Claude Code harness appears in Settings → Usage as “Kimi usage unavailable.” A profile without a supported account-usage API should not appear as a broken usage integration.
Current implementation
The Usage page selects profiles by
ProviderKind::Codex | ProviderKind::ClaudeCode. Runtime refresh uses the same broad harness-kind distinction, then passes the profile launch environment into the corresponding native usage probe. The services layer converts probe failures to an error-bearingProviderUsage.A harness protocol does not establish that a custom endpoint implements that harness vendor's subscription/rate-limit API. The custom endpoint configuration and authentication mode need to participate in the eligibility decision. Do not special-case the display name “Kimi.”
Requested behavior
Acceptance criteria
Cover a custom Claude Code/Kimi endpoint with no usage support, a supported account returning real windows, and a supported account temporarily failing. Renaming a profile must not change eligibility. Verify that unsupported rows disappear without affecting actual session usage or genuine error reporting.
The precise Kimi endpoint/auth configuration still needs to be captured for live reproduction; the overly broad profile filter is confirmed by source inspection.
Code context
Reviewed against
mainatb4c549787da6(2026-09-08).