Feature Request: Include usage data in status line JSON input
Resolved 💬 18 comments Opened Sep 30, 2025 by PetePeter Closed May 5, 2026
💡 Likely answer: A maintainer (claude[bot], contributor)
responded on this thread — see the highlighted reply below.
Feature Request
The status line command receives JSON input with session information, but it currently lacks token usage data that would be useful for displaying in the status bar.
Current Behavior
The JSON input to status line commands includes:
- model information
- workspace/directory info
- cost data (total_cost_usd)
- exceeds_200k_tokens flag
Requested Enhancement
Please include usage data for rate limit windows:
{
"usage": {
"five_hour_window": {
"tokens_used": 50000,
"token_limit": 100000
},
"weekly_window": {
"tokens_used": 200000,
"token_limit": 500000
}
}
}
Use Case
This would allow users to display their current usage percentage in their status line (e.g., "5h: 50% | Week: 40%"), making it easier to monitor API limits at a glance without running /usage command.
Workarounds Attempted
- No HTTP API endpoint available for usage data
claude usagecommand has no JSON output flag- No cached usage file accessible
- Usage data is only available interactively via
/usagecommand
This would be a simple addition to the existing JSON structure that powers the status line feature.
18 Comments
Additional Enhancement: Multi-line Status Line Support
To make this feature truly useful, it would be beneficial to also add multi-line status line support.
Current Limitation
According to the status line documentation, only the first line of stdout is displayed:
Why Multi-line Support Matters
With usage data available in the JSON input, users would want to display comprehensive information similar to the
/usagecommand output:This requires multiple lines to display different usage metrics (session, weekly all models, weekly Opus) with their respective progress bars.
Current Workaround
Some third-party tools like ccstatusline have found ways to create multi-line displays, but this isn't native functionality. Having official multi-line support would enable users to:
Proposed Enhancement
Allow status line commands to output multiple lines (e.g., 2-4 lines) that would all be displayed in the status line area, similar to how multi-line shell prompts work (PS1/PS2).
This would complement the usage data availability and make the status line truly useful for monitoring multiple metrics at a glance.
This issue has been inactive for 30 days. If the issue is still occurring, please comment to let us know. Otherwise, this issue will be automatically closed in 30 days for housekeeping purposes.
No, don't close it.
Still needed. I've filed #16629 with a concrete use case: Windows Task Scheduler automation. Between #1886, #8412, and #16629, there's clear demand for programmatic usage data access.
Big +1 for this feature. Please implement this.
+1
+1 for this!
It's the real metric users need to track throughout the day to avoid hitting limits. Having this available in the status line would be much more useful than context window percentage.
Would love to see both the 5-hour and weekly windows exposed, so users can display something like
5h: 34% | Week: 48%right in their prompt. 🚀+1
I just mistakenly added a dup of this at #18519 . I'll close it and follow this one. Which has been open a long time, which doesn't give me much hope.
+1, this would be extremely useful for workflow management
@ankurdesaicopart this seems off topic and over complicates the issue.
First, this doesn't have to be multiline, I just want to display current/weekly usage percentages inline with my other statusbar components.
Second, it already seems possible to have a multi-line statusbar if you want that. If I put
echo -e "foo\nbar"in my statusline script, I get two lines in my statusbar.+1 for this!
+1
My workaround: https://gist.github.com/lexfrei/b70aaee919bdd7164f2e3027dc8c98de
You are a life saver @lexfrei ! Thanks @anthropics for providing the endpoint in beta!
For anyone landing here: this shipped in v2.1.80. The statusline stdin now includes:
Gotcha:
used_percentageis a float —null|floorcrashes jq 1.7.1, so guard withif type=="number" then floor else "--" end.claude-lens uses these fields to show remaining % plus a pace delta (burning faster or slower than expected). The raw fields above are enough to build your own.
This is a duplicate of #18121, which was fixed as of version 2.1.80.
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.