Repository navigation
feat(claude): stop threads at subscription usage limits - #376
Merged
Merged
Conversation
Co-authored-by: Cursor <cursoragent@cursor.com>
This was referenced Oct 20, 2026
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.
Claude currently continues into paid extra usage after subscription allowances are exhausted. Add Stop at subscription limit in Settings > General (mobile: Settings > Threads > Usage limits) to protect all Claude threads, including delegated work, when leaving the app running unattended. The application setting overrides thread-level Off and immediately rechecks running sessions when enabled. Both application-wide and per-thread settings default to Off.
Protected turns make a fresh, prompt-free usage check before starting. Exhausted allowance or streamed overage signals close the Claude process and its native background work. Unavailable usage also blocks the turn rather than proceeding unchecked. These active-turn stops use the existing Limited status and chat recovery controls: Resume now, Resume at reset, Snooze until reset, and Continue in new tab. Resume now keeps the guard; a user must change provider or disable the application and thread restrictions to permit paid extra usage.
A thread's own option can also be switched from its right-click menu (Stop at subscription limit > On / Off) in the web/desktop sidebar and chat header, and from the long-press menu on mobile. The menu notes when the application setting already covers every thread. On web, the toggle also updates the composer's unsent model pick, so the next message keeps the new value. The thread option applies from the next turn; the application setting is the way to stop a turn already in progress.
The policy is enforced by the server and remains active when clients disconnect. Individual thread model options remain available when the application setting is Off; their normal same-provider-and-model inheritance is unchanged. Other providers are not covered yet. Provider reporting can lag, so this is a spending guard rather than a guaranteed billing cap.
Validation:
usage_limit/subscription_limit_guard, and the actual sidebar showed Limited.The screenshots below show actual application state from that guard-triggered turn, using simulated provider allowance data rather than editing UI projections.
Application-wide setting
Guard-triggered stop: Limited sidebar label and normal recovery controls
Resume at reset armed: scheduled continuation and Cancel auto-resume
Model: gpt-6.1-sol (Codex in T3 Code); thread menu toggle by Claude Opus 5.5 (Cursor in T3 Code).