← Reddit

Bug: Max 5x → Max 20x upgrade blocked by void_invoice loop

Reddit · nusquama · April 27, 2026
A user reported being unable to upgrade from Max 5x to Max 20x service due to a recurring Stripe PaymentIntent stuck in a canceled state with a void_invoice error, despite multiple attempts across different browsers, devices, and payment cards. The Anthropic upgrade endpoint returns a 200 status code while Stripe returns a 400 error with the same dead PaymentIntent ID each time, indicating a backend issue acknowledged by support but unresolved. The bug resembles previously reported issues with no documented resolution found.

Detailed Analysis

A recurring billing infrastructure bug in Anthropic's Claude Max subscription system is blocking users from upgrading their usage tier from 5x to 20x, with the root cause traced to a stale, canceled Stripe PaymentIntent being returned on every upgrade attempt. Rather than generating a fresh PaymentIntent for each request, Anthropic's `upgrade_to_max` backend endpoint consistently surfaces the same dead payment object — identified by a persistent `pi_xxx` ID — carrying a `void_invoice` cancellation reason and a `payment_intent_unexpected_state` error code. The endpoint itself returns HTTP 200 OK, falsely signaling success, while Stripe's confirm step fails with a 400 error because the PaymentIntent has already been voided and cannot be reused. Critically, the card is never charged, meaning the failure occurs entirely on the server side before any payment processing occurs.

The scope of user-side troubleshooting reported in the thread — four browsers, full cache clears, two devices, three separate payment cards, and VPN disabling — conclusively rules out client-side or network-level causes. The fact that canceling an active Max 5x subscription and retrying yields the same dead PaymentIntent strongly suggests that Anthropic's backend is caching or persisting a stale payment session tied to the user's account rather than generating a new one upon each legitimate upgrade request. The iOS app's refusal to surface subscription management — citing "purchased on another platform" — adds a second layer of account-state inconsistency, indicating that platform-specific billing metadata may be further corrupting the upgrade flow. Anthropic's automated support ("Fin bot") acknowledged the issue as a backend problem but offered no resolution path, and a submitted support ticket had received no response at time of posting.

This bug does not exist in isolation. The original poster links it to at least three prior GitHub issues (#45890, #43338, #46703), and the research context corroborates a broader pattern of billing instability in Anthropic's Max subscription infrastructure dating to at least March 2026. One documented case from that period shows a user's account being disabled immediately after a successful Max 20x upgrade, with $209 charged across three invoices in three days — suggesting that even when upgrades do complete, the downstream account-state management can fail catastrophically. These incidents collectively point to fragility in Anthropic's subscription lifecycle management, particularly around upgrade transitions, PaymentIntent state reconciliation, and cross-platform billing identity.

The broader context matters significantly. Anthropic has been aggressively restructuring its billing architecture since early 2026, including a high-profile April 4 ban on third-party tools like OpenClaw from Pro and Max subscriptions, a shift forcing agent workloads onto metered "extra usage" pay-as-you-go billing, and the introduction of session-based usage limits that reset every five hours. These changes — designed to curb exploitation by third-party tools and route agentic usage through proper metered billing — have introduced substantial complexity into the subscription and payment stack. Caching bugs reported in the same period have caused token consumption to run 10–20x faster than expected, and CLI routing errors have caused Max plan quotas to be bypassed entirely in favor of pay-as-you-go billing in older tool versions. The `void_invoice` loop appears to be a symptom of this rapidly evolving and apparently undertested billing infrastructure.

For affected users, no confirmed fix for the `void_invoice` loop itself has been documented. The workarounds available address adjacent but distinct problems: updating the Claude CLI via `npm install -g @anthropic-ai/...` resolves the "extra usage" routing bug in older versions, and direct purchase of extra usage packs from account settings sidesteps the upgrade flow entirely for users who need higher limits. The most structurally sound resolution would require Anthropic to fix the server-side logic that persists and re-serves canceled PaymentIntents, a backend change that only Anthropic's engineering team can implement. The silence from official support channels and the accumulation of related GitHub issues suggest this class of billing bug has not yet received prioritized engineering attention proportional to its user impact.

Read original article →