Repository navigation
feat(tui): show OpenCode Console usage limits - #58731
Merged
Merged
Conversation
The model picker, the composer and the sidebar say what the workspace's limits leave for the selected model, a toast warns once as it runs low and once at its limit, and a turn a limit refused ends with why and how to keep going. /usage lists the limited models and every limit on each.
adamdotdevin
force-pushed
the
tui-usage
branch
from
October 24, 2026 16:13
7be2b49 to
c2b8ae5
Compare
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.
Issue for this PR
No issue. Builds the TUI usage designs Aarav shared on Slack (tooey "TUI Q4 2026", Usage page, Zen sections).
Type of change
What does this PR do?
Shows what the workspace's OpenCode Console limits leave for a model, using the usage limits endpoint from #58694.
ctrl+u) opens/usage. This only appears with the new-designs experiment on, because that's when the picker has a detail row./usage: lists the models that have limits, with a search box. Only the selected row shows its amount, so money shared between models doesn't look counted twice. Opening a model shows what's left, when it resets, and every limit on it: who spends from it, which models it covers, and a dot on the limit that runs out first.location.usageresource, the same change the desktop PR (feat(app): show Console budgets and Go usage where they stop you #58714) made on beta.Not in this PR:
How did you verify your code works?
/usage(list and detail), and the picker's detail row and action. I broke the code under test and watched the tests fail.go-upsell-art, which fails the same way on the base branch. Client tests,typecheck:tscandbun run checkall pass.Visual
Screenshots / recordings
The app test renders these frames (TUI, new designs):
Checklist