Skip to main content

Claude API Refusals Can Now Cost Money Before Any Output

3 min read

An empty Claude API response is not always free. Three named pre-output refusal categories now incur model-rate charges.

Claude API Refusals Can Now Cost Money Before Any Output

A rejected API request can feel like a request that didn’t run. From September 24, that assumption can produce the wrong Claude bill. Anthropic now charges for a narrow set of refusals, even when the model returns no visible answer.

Which refusals changed

Anthropic’s September 24 Claude Platform release note adds billing for refusals that arrive before any output when stop_details.category is bio, frontier_llm or reasoning_extraction. These attempts are billed at the rate of the model that ran them. Anthropic says the rule applies across the Claude API and its supported cloud platforms.

This is not a charge for every declined prompt. Anthropic’s refusal documentation says pre-output refusals in other categories, including cyber and general_harms remain unbilled. A refusal with a null category is also unbilled before output. Refusals that happen partway through a response were already billable for input, and the output streamed up to that point.

Why a zero-character answer can still have a cost

A pre-output refusal can have an empty content field while it’s usage reports tokens processed. The new rule ties the charge to the refusal category, not to whether a user saw words on screen. The request also counts toward rate limits even when a pre-output refusal is not billed.

That creates a reporting trap for agent products that calculate cost only from successful answers or visible output. Such a dashboard can undercount billed attempts. Record the model, stop_details.categorybilled token usage, and whether output began. Keep rejected requests in the usage ledger rather than throwing them away as errors.

Fallback can mean two billable attempts.

Anthropic offers fallback routes for a refused request. If the first attempt is mid-stream or belongs to one of the newly billed pre-output categories, that refusal can be charged as well as the fallback attempt. Anthropic says fallback credit still compensates for a prompt-cache miss on the fallback, so the same conversation is not cached twice at full cost. It does not erase every charge from the refused first attempt.

For billing checks, group usage by conversation and attempt, not just by the final response. Anthropic documents per-attempt records in usage.iterations for server-side fallback. A useful staging test sends known safe prompts through the same routing path, verifies what the application records on each attempt, and compares that ledger with the invoice. Don’t manufacture unsafe prompts to test the refusal categories.

The builder decision

Budget alerts based on a fixed cost per successful reply need a second counter for refusals and retries. If your product lets a user repeatedly submit a blocked request, rate limiting and retry design matter as much as the per-token price. The policy is especially relevant to tools handling life-science research, model-development requests, or requests for internal reasoning, because those map to the three named billing categories.

This change is separate from Anthropic’s recent mid-conversation tool API update and from the Opus 5.5 price change. The model rate still determines the charge; the new part is that a previously unbilled class of attempt can now be billed.

Check your accounting before the invoice.

Use the official category and billing table as the source of truth. Add a dashboard split for billed and unbilled refusals, review fallback attempts separately, and tell customers what a declined request can cost. A refusal is a product outcome, but it is also now an accounting event in three named categories.

Leave a comment

Your email address will not be published. Required fields are marked *