Detailed Analysis
A Reddit post detailing a costly usage bug in Claude Code has surfaced, highlighting a UX pitfall that appears to be catching users off guard: mismatched "effort level" settings across devices silently invalidating prompt caches and blowing through usage limits. The user, working with the newly released Opus 5 model on Anthropic's individual Pro plan, described a session where they had burned through 600,000 tokens while still retaining roughly 40% of their five-hour usage window—a testament to how efficiently the medium-effort setting was consuming their quota. But after stepping away and resuming work via mobile, the user discovered that Claude Code's CLI had been set to "Opus 5 (medium)" while the mobile client had automatically defaulted to "Opus 5 (high)." This mismatch triggered a cascade of consequences: the cached context from the 600k-token session was invalidated, the five-hour usage window spiked to 107% (exceeding the limit entirely), the seven-day window jumped by 15%, and the user burned through roughly $20 in usage credits—$5 more than their self-imposed monthly cap.
The core issue here is a combination of prompt caching mechanics and inconsistent default settings across Anthropic's product surfaces. Prompt caching is a critical cost-and-speed optimization in Claude Code and similar agentic coding tools: by reusing previously processed context rather than reprocessing it from scratch, users can maintain long sessions without paying full price for every token repeatedly. However, caches are typically tied to specific model configurations, including effort or reasoning-depth settings. When effort levels differ between a "medium" and "high" setting—even for the same underlying model—the system treats them as different enough to break cache continuity, forcing a full reprocessing of accumulated context. This is a subtle but expensive gotcha, especially for users on metered or capped plans who assume a session picked up on a different device will behave identically to how it left off.
This kind of failure mode matters because it strikes at a growing tension in the AI tooling ecosystem: as coding agents like Claude Code become more autonomous and cross-platform (CLI, desktop, mobile, IDE integrations), the surface area for silent state mismatches expands. Effort or reasoning-depth settings are a relatively new dial that model providers have introduced to let users trade off speed, cost, and quality—OpenAI, Google, and Anthropic have all shipped comparable "thinking budget" or reasoning-effort controls in 2025 and 2026. But these controls introduce complexity that isn't always surfaced clearly to users, particularly around synchronization across devices and sessions. A user reasonably expects that switching from desktop to mobile continues the same session state; discovering instead that the mobile client silently overrides a manually chosen setting—and that this override has real financial consequences—undermines trust in the product's transparency.
The broader trend this incident reflects is the growing friction between the increasing power and cost-complexity of frontier AI models and the maturity of the interfaces built around them. As reasoning-augmented models like Opus 5 introduce more granular control knobs (effort levels, thinking budgets, extended context), the tooling layer has to keep pace not just functionally but also in communicating state changes and their downstream costs to users. Failures here—whether attributable to bugs, inconsistent defaults, or insufficiently surfaced settings—carry real monetary stakes for developers on usage-capped plans, and they erode confidence in agentic coding tools at a moment when adoption is accelerating. Incidents like this one, surfaced organically through community forums like Reddit's r/ClaudeAI, often serve as informal bug reports that pressure vendors like Anthropic to harden default behaviors, improve cross-device state syncing, and add clearer warnings before costly actions like cache invalidation occur.
Read original article →