Repository navigation
feat: add a Session Cost Rate widget - #671
Open
eric-engberg wants to merge 2 commits into
Open
eric-engberg wants to merge 2 commits into
eric-engberg wants to merge 2 commits into
Conversation
Session Cost shows what a session has cost so far, but not how fast it's spending. Session Cost Rate divides the session cost by time, the agent's hourly rate: `Rate: $5.00/hr`. By default it divides by the time Claude spent working (the API duration Claude Code reports), which reads as the rate for the hours it actually worked. A `t` keybind switches to clock time, the whole session including time spent waiting for the user, which reads as the burn rate. It shows nothing until a full minute of the chosen time has passed, since a rate over the first seconds swings wildly.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
A new Session Cost Rate widget shows the session's cost per hour:
Rate: $5.00/hr. It sits next to Session Cost in the picker's Session category.Why
Session Cost shows what a session has cost so far, but not how fast it's spending. A rate makes long and short sessions comparable, and on usage-based plans, where session cost is close to what's actually billed, it reads as the agent's hourly rate.
How
cost.total_api_duration_msClaude Code sends with the status payload. That reads as a rate for the hours it actually worked. Atkeybind in the line editor switches to clock time (cost.total_duration_ms, the whole session including time spent waiting for the user), which reads as the burn rate. The editor row shows(active time)or(clock time).$5.00/hr).Rate: $4.90/hr(the Session Cost sample over 30 minutes).Demo
A status payload with $2.50 over a 2-hour session in which Claude worked for 30 minutes: the third widget uses active time ($2.50 梅 0.5 h), the fourth clock time ($2.50 梅 2 h).
Powerline
Plain
Switching between active and clock time with
tin the line editor:Powerline
Plain
Testing
ttoggle (keybind labels, editor modifier, metadata).main(with docs: explain an empty status line in one folder (workspace trust)聽#606 and feat(git-is-fork): render forks as an editable glyph聽#617 merged in locally):bun testgives 2790 pass, 0 fail (Bun 1.4.2), andbun run lintpasses.mainonly by the new widgets. The TUI opens and exits cleanly under both.