Checks
Operating system
macOS 15.5 (Apple Silicon)
Expected behaviour
/usage in --no-interactive mode should report the same credit values as interactive mode. When the account is in overage (usage > plan limit), both modes should show the real total (e.g. 15312.32 of 10000).
Actual behaviour
Interactive mode (correct):
Estimated Usage | resets on 2026-08-01 | KIRO POWER
Credits (15312.32 of 10000 covered in plan)
██████████████████████████████████████████████████ 153.1%
Non-interactive mode (incorrect — capped at 100%):
kiro-cli chat --no-interactive --agent meshclaw-lite "/usage"
Estimated Usage | resets on 2026-08-01 | KIRO POWER
Credits (10000.00 of 10000 covered in plan)
████████████████████████████████████████████████████████████████████████████████ 100%
The non-interactive output caps current_usage at the plan limit instead of showing the real overage total. This breaks programmatic consumers that parse /usage output to display credit usage (e.g. editor extensions, dashboards).
Steps to reproduce
- Have a Kiro Power account that is in overage (usage > 10000 credits)
- Run interactively:
kiro-cli chat then type /usage — shows correct overage (e.g. 15312.32 of 10000)
- Run non-interactively:
kiro-cli chat --no-interactive "/usage" — shows capped 10000.00 of 10000
Also reproducible without --agent:
kiro-cli chat --no-interactive "/usage"
Impact
Any tool that programmatically fetches credit usage via --no-interactive mode cannot detect overage state. The GetUsageLimits API returns the correct data (including current_overages), but the /usage text rendering in non-interactive mode truncates it.
Environment
[q-details]
version = "2.12.1"
[system-info]
os = "macOS 15.5"
chip = "Apple M1 Max"
memory = "64.00 GB"
[environment]
shell = "zsh 5.9"
terminal = "iTerm2"
Checks
q doctorin the affected terminal sessionq restartand replicated the issue againOperating system
macOS 15.5 (Apple Silicon)
Expected behaviour
/usagein--no-interactivemode should report the same credit values as interactive mode. When the account is in overage (usage > plan limit), both modes should show the real total (e.g.15312.32 of 10000).Actual behaviour
Interactive mode (correct):
Non-interactive mode (incorrect — capped at 100%):
The non-interactive output caps
current_usageat the plan limit instead of showing the real overage total. This breaks programmatic consumers that parse/usageoutput to display credit usage (e.g. editor extensions, dashboards).Steps to reproduce
kiro-cli chatthen type/usage— shows correct overage (e.g. 15312.32 of 10000)kiro-cli chat --no-interactive "/usage"— shows capped 10000.00 of 10000Also reproducible without
--agent:Impact
Any tool that programmatically fetches credit usage via
--no-interactivemode cannot detect overage state. TheGetUsageLimitsAPI returns the correct data (includingcurrent_overages), but the/usagetext rendering in non-interactive mode truncates it.Environment