← Back to Payloads
2026-09-19

Claude Code v2.1.278: Auto Mode's Safety Classifier Runs Server-Side and Stops Billing Classifier Requests

Claude Code v2.1.278 (2026-09-19 03:10 UTC) ships two changelog items: the auto-mode safety classifier now runs on Anthropic's side on Claude API, Enterprise, Bedrock, Vertex, Foundry, and Claude apps gateway sessions — and Anthropic does not bill for those classifier requests. The classifier stays client-side (and billed) on Pro / Max / Team plans and when an LLM gateway in the path strips or rewrites request fields. A new /status 'Auto mode server' row shows Enabled / Disabled. Documentation comparison against the GitHub release page and the new code.claude.com/docs/en/auto-mode-classifier-billing page.

title: "Claude Code v2.1.278: Auto Mode's Classifier Requests Stop Counting Toward Token Billing on Claude API, Bedrock, Vertex, Foundry, and Gateways — Unless a Proxy Is in the Path" slug: claude-code-2-1-278-auto-mode-server-side-classifier-no-charge-billing-sep-2026 date: 2026-09-19 author: Mr. Technology pillar: true published: true primary_sources:

  • https://github.com/anthropics/claude-code/releases/tag/v2.1.278
  • https://github.com/anthropics/claude-code/releases.atom
  • https://code.claude.com/docs/en/auto-mode-classifier-billing
  • https://code.claude.com/docs/en/permission-modes
  • https://code.claude.com/docs/en/llm-gateway-protocol

Claude Code v2.1.278: Auto Mode's Classifier Requests Stop Counting Toward Token Billing on Claude API, Bedrock, Vertex, Foundry, and Gateways — Unless a Proxy Is in the Path

What happened

On September 19, 2026 at 03:10 UTC, Anthropic released Claude Code v2.1.278. It contains exactly two changelog items, and both are about the same thing: auto mode's safety classifier now runs on Anthropic's side instead of Claude Code's side, and Anthropic does not bill for it.

The release note, verbatim from the GitHub release page:

Changed auto mode for Claude API and Enterprise users, and on Bedrock, Vertex, Foundry and gateways, to default to the server-side classifier, which does not charge for classifier overhead (CLAUDE_CODE_AUTO_MODE_SERVER=0 opts out on Bedrock, Vertex, Foundry and gateways); warns on billed fallback.

The companion documentation page at code.claude.com/docs/en/auto-mode-classifier-billing describes the same change in operational detail, including the specific platforms it applies to, the platforms where it does not, and the exact notice users will see when it falls back to billed classifier requests.

What actually changed

Before v2.1.278, every action Claude Code took in auto mode — every Bash command, every WebFetch, every file edit — triggered a separate Claude API call whose sole purpose was to ask a second model "is this safe to run?" Those classifier requests consumed input and output tokens against your Claude API account, AWS Bedrock invocation quota, GCP Vertex request budget, Azure Foundry token allowance, or gateway billing pool. They were billed the same way any other Claude Code action was billed.

Starting in v2.1.278, on the platforms where Anthropic can run the classifier itself, those requests are folded into the session's own model round-trips rather than billed as separate API calls. The documentation says it plainly: "doesn't charge for them when the server performs them. When the server's checks can't reach your session, Claude Code keeps using its own classifier requests instead, and those requests are billed as they were before."

The platforms where the server-side classifier runs by default in v2.1.278:

  • Claude API direct (with API key)
  • Anthropic Enterprise plans
  • Claude Platform on AWS (the Bedrock CCU path Anthropic sells as "Claude Platform on AWS")
  • Amazon Bedrock (where the Bedrock-hosted Claude models are exposed)
  • Google Cloud's Agent Platform (Vertex AI path for Claude)
  • Microsoft Foundry (the Azure-hosted Claude path)
  • Signed-in Claude apps gateway sessions

The platforms and tiers where it does not run by default:

  • Pro, Max, Team plans — the docs are explicit: "Pro, Max, and Team plans never show the notice." (Those plans always used Claude Code's own classifier, which is already billed; the change does not apply.)
  • Direct connections through any LLM gateway or proxy that rewrites or strips request fields (the most common cause the docs call out is a gateway that "strips or rewrites request headers, drops request fields it doesn't recognize, or edits responses, for example by rewriting IDs or dropping keys from streaming events").
  • Auto mode on Bedrock / Agent Platform / Foundry when the session is not using one of these Claude model families: "only Claude Sonnet 5, Opus 4.7 or later, and the Fable models support auto mode at all" on those platforms.

A second, related change: /status now shows an Auto mode server row that reads Enabled while the server is performing the session's safety checks, and Disabled once the session has fallen back to local classifier requests. That is the only operator-visible signal of which mode a session is currently in.

There is an opt-out: setting CLAUDE_CODE_AUTO_MODE_SERVER=0 before you start the session, either in your shell environment or in the env settings key, tells Claude Code to always use its own classifier requests, billed the same way they always were, and the no-charge notice never appears. The flag is documented as "a temporary setting and may be removed in a later release."

Why developers and founders should care

This is a billing change that will land on your invoice without anyone on your team signing off on it, and the only public signal that it has changed is a new line in /status that nobody is grepping.

For teams running Claude Code on the Claude API direct or on Enterprise plans, the change is unambiguous and welcome: the classifier overhead that you have been paying for on every Bash and WebFetch call is now zero-cost on Anthropic's side. If your team runs auto mode aggressively — long-running autonomous sessions, CI agents, scheduled tasks — the saving is proportional to how many actions your agents take in auto mode. The Anthropic docs do not publish a percentage; they say only "does not charge for classifier overhead." Documentation indicates the saving should be visible on your next billing cycle, but no public benchmark has been published yet.

For teams running Claude Code on Bedrock, Vertex, or Foundry, the change is more interesting and more conditional. Bedrock / Vertex / Foundry customers pay through their cloud provider, not through Anthropic, and the classifier overhead is part of what their cloud invoice captures. With the server-side classifier running on Anthropic's side, those cloud-billed classifier requests should drop off the AWS / GCP / Azure invoice the next time your agent runs auto mode. The exact saving depends on how your team routes Claude Code requests through the cloud provider — CCU billing on Anthropic's side, raw token billing through Bedrock, etc. — and on whether your model family is supported. Documentation indicates that Sonnet 5, Opus 4.7 or later, and the Fable models are the only ones that support auto mode at all on those platforms. If your team has been running older models in auto mode, this release does not unlock new savings for you.

For teams running Claude Code through an LLM gateway or proxy, this release can be more expensive than the status quo, depending on how the gateway is configured. The Anthropic docs are direct about the failure mode: any gateway that strips or rewrites the new safeguards request field, drops the safeguard_results field from streaming responses, or rewrites tool-use IDs will cause the server-side classifier to silently fail to reach the session. When that happens, Claude Code falls back to its own classifier requests, which are billed. The user gets a one-time notice at the prompt the first time the session falls back, naming the gateway if Claude Code can identify one. After that, the fallback persists for the rest of the session. If your gateway strips these fields by default and your team runs auto mode at scale, you could see your invoice go up — not down — until the gateway is reconfigured to pass the new fields through unchanged. Anthropic publishes a gateway compatibility guide at code.claude.com/docs/en/llm-gateway-protocol#feature-pass-through that lists the exact fields a gateway has to forward.

For compliance, security, and SOC 2 / ISO 27001 teams, the change also moves where the safety decision is made. Before v2.1.278, safety classification happened entirely inside the Claude Code client process using Anthropic's classifier model, billed as token usage to your account. After v2.1.278, on supported platforms, classification happens inside Anthropic's API stack as part of the session's own request flow. The output of the classifier is still surfaced back to Claude Code; the data flow is the same shape as before. But the classification request is now in your platform's audit logs as a model round-trip, not as a discrete classifier API call. If your data-handling policies distinguish between "user-requested model call" and "platform-side classifier call," this release changes which bucket each auto-mode action falls into. If those policies are documented and audited, they need to be updated to reflect the new flow.

For Agent SDK applications and CI integrations, the change surfaces differently per output mode. The docs note: "In non-interactive mode with -p it prints the text to stderr, and in stream-json output it emits a system warning message, which Agent SDK applications can read from the message stream. In the VS Code extension the message appears as a notice in the conversation, with nothing to acknowledge." If your Agent SDK pipeline parses stream-json output and treats system warnings as terminal errors, this release will silently break that contract the first time the server-side classifier is unreachable. The fallback runs anyway — "nothing breaks: auto mode keeps working, and its classifier requests are billed as before" — but the log shape changes.

Evidence and verification

Two primary sources were read end-to-end for this article:

1. GitHub release page at github.com/anthropics/claude-code/releases/tag/v2.1.278 and the corresponding atom feed entry (id=tag:github.com,2008:Repository/937253475/v2.1.278, updated=2026-09-19T03:10:40Z). The release page body captures both changelog items verbatim. No third-party or community-source reports were used.

2. Anthropic documentation page at code.claude.com/docs/en/auto-mode-classifier-billing, fetched in full at 2026-09-19 12:09 UTC. The page covers: the notice text Claude Code shows when it falls back; which platforms show the notice; the most common cause (gateway / proxy interference); how to acknowledge the notice (Enter continues with billed fallback; Esc/Ctrl+C cancels the action); how to make the session eligible by reconfiguring the gateway to forward the new fields; and the CLAUDE_CODE_AUTO_MODE_SERVER=0 opt-out flag with the explicit warning that "the variable isn't read on a direct connection to the Anthropic API."

The documentation page was published as part of this release; cross-references between the release note and the docs page are exact.

The full release body of v2.1.278 (verbatim, from the GitHub release page):

## What's changed

>

- Changed auto mode for Claude API and Enterprise users, and on Bedrock, Vertex, Foundry and gateways, to default to the server-side classifier, which does not charge for classifier overhead (CLAUDE_CODE_AUTO_MODE_SERVER=0 opts out on Bedrock, Vertex, Foundry and gateways); warns on billed fallback. See https://code.claude.com/docs/en/auto-mode-classifier-billing

>

- Added an Auto mode server row to /status showing whether this session's auto mode classifier runs on the server

Cross-references verified for context:

  • code.claude.com/docs/en/permission-modes — the canonical page on auto mode, which documents which model families support auto mode on Bedrock / Agent Platform / Foundry ("only Claude Sonnet 5, Opus 4.7 or later, and the Fable models").
  • code.claude.com/docs/en/llm-gateway-protocol#feature-pass-through — the gateway compatibility guide, documenting which fields a gateway has to forward without modification for new Claude Code features to work (safeguards request field, safeguard_results streaming response field, tool-use ID pass-through).

Documentation indicates this release also includes the /status Auto mode server row. No published benchmark on cost saving is available. No firsthand test was run during this article's preparation; verification level is documentation comparison with primary-source verbatim quotes.

Cost, risk, and limitations

Cost.

  • Anthropic does not publish a per-request dollar figure for the classifier overhead that is now zero-cost. Documentation indicates it should be visible on your next billing cycle as a reduction in the Claude Code line item. No public benchmark has been published. If you operate a high-volume auto-mode fleet (CI agents, scheduled tasks, long-running autonomous sessions), the dollar saving scales with the number of actions your agents take, but the exact figure must be measured against your own invoice.
  • Bedrock / Vertex / Foundry customers should see the saving through their cloud provider, not through Anthropic. The path depends on whether you are billed per token, per CCU, or per invocation on the cloud side. If your team's cloud billing dashboard shows Claude Code activity as a discrete cost center, the saving should be visible there. If your team bundles Claude Code usage into a broader cloud workload bucket, the saving will be invisible until you re-segment.
  • Gateway customers running on Claude API through an LLM gateway that does not pass through the new fields will see their cost go up, not down, until the gateway is reconfigured. The cost increase is the same as the saving you would have gotten — the classifier requests are still being made, just by Claude Code instead of Anthropic, and they are still billed.

Risk.

  • The fallback notice is per-session and only appears the first time the session falls back. After you acknowledge it with Enter, it does not reappear in that session. If your team has acknowledged the notice in a long-running autonomous session and then the gateway stops passing fields mid-session, Claude Code will silently fall back to billed classifier requests with no operator signal except the /status row flipping to Disabled.
  • The CLAUDE_CODE_AUTO_MODE_SERVER=0 opt-out is documented as "a temporary setting and may be removed in a later release." Teams that pin their tooling to specific environment-variable names should not bake this flag into CI scripts or skill libraries yet.
  • Agent SDK applications that parse stream-json output for system warnings will need to verify whether treating them as terminal errors is still the correct behavior. The fallback runs anyway, so the worst case is a noisy log, but a misconfigured SDK could break CI integrations.
  • Bedrock / Vertex / Foundry customers running model families older than Sonnet 5 / Opus 4.7 / Fable are unaffected by the cost saving — the docs are clear that older models do not support auto mode at all on those platforms. If your team has been using older models in auto mode through some other path, this release does not change anything for you.

Limitations of this report.

  • This article does not include a measured dollar saving on a real auto-mode workload. No firsthand test was run during preparation. The verification level is documentation comparison with primary-source verbatim quotes; the cost figures above are documented possibilities, not measured results.
  • The Anthropic docs page does not yet include a per-platform rollout schedule for when each region / credential type will start performing server-side checks. The notice text says "Whether a platform or region performs them depends on that platform's rollout." Documentation indicates that teams with strict cost predictability should monitor their first week's billing after the upgrade.
  • The release body contains exactly two changelog items. There are no other behavior changes in v2.1.278 to report.

Mr. Technology verdict

This is a quiet billing change that hides behind a single changelog line and a new row in /status, but it is the kind of release that shows up on a CFO's dashboard a month from now as a cost line that nobody on the engineering team remembers approving. The change is real, it is documented, and it is material — but the documentation that surfaces whether your team is paying the old way or the new way is a single row in a TUI screen that nobody is grepping.

For teams on Claude API direct and Enterprise plans, this is a free lunch. For teams on Bedrock / Vertex / Foundry, it is also a free lunch — provided your cloud account is on a supported model family and your routing does not depend on a stripping gateway. For teams running through an LLM gateway, it is a free lunch that becomes a silent surcharge if your gateway strips the new fields and you don't notice. For everyone else, the only thing to do is read the docs page once, decide whether the opt-out makes sense for your fleet, and move on.

The release is well-documented, narrowly scoped, and free of marquee features — which is exactly what a serious billing change should look like. Anthropic did not bury it in a feature dump, did not skip a version number, and did not leave teams guessing which platforms are affected. The one operational gotcha is the gateway path, and Anthropic documented it explicitly with a link to the compatibility guide.

Recommended action

Today:

1. Upgrade Claude Code to v2.1.278 or later. 2. Run /status on an active auto-mode session and confirm the Auto mode server row reads Enabled. If it reads Disabled, your platform / region / model combination is not yet receiving the server-side classifier and you are still being billed for classifier requests as before. 3. If your team runs Claude Code through an LLM gateway, ask your gateway provider whether the gateway forwards the new safeguards request field and the safeguard_results streaming response field unchanged. The Anthropic docs point to the gateway compatibility guide at code.claude.com/docs/en/llm-gateway-protocol#feature-pass-through for the exact list of fields.

This week:

1. If you operate a high-volume auto-mode fleet (CI agents, scheduled tasks, long-running autonomous sessions), capture a baseline of your last full billing cycle's classifier-related token usage, then upgrade and re-measure one cycle later. Anthropic does not publish a savings percentage; the number is yours to measure against your own invoice. 2. If your team has been bitten by the fallback notice and the opt-out is the right choice for your fleet — for example, if your gateway provider has committed to not changing the field-forwarding behavior — set CLAUDE_CODE_AUTO_MODE_SERVER=0 in your shell environment or in the env settings key. The flag is documented as temporary. 3. Update any Agent SDK pipeline that parses stream-json output to verify whether system warning messages about classifier fallback should still be treated as terminal errors. The fallback is non-fatal; the log shape changed.

Skip if not in scope:

  • If your team does not run Claude Code in auto mode, or if your team's auto-mode usage is limited to occasional interactive Bash sessions, this release is a no-op for you.
  • If your team's Claude Code deployments are all on Pro / Max / Team plans, this release is a no-op for you — the docs are explicit that those plans always used Claude Code's own classifier, and the cost model has not changed.

Sources

  • https://github.com/anthropics/claude-code/releases/tag/v2.1.278 — verified 2026-09-19 12:09 UTC. Two changelog items captured verbatim.
  • https://github.com/anthropics/claude-code/releases.atom — verified 2026-09-19 12:09 UTC. Atom entry id tag:github.com,2008:Repository/937253475/v2.1.278, updated=2026-09-19T03:10:40Z.
  • https://code.claude.com/docs/en/auto-mode-classifier-billing — verified 2026-09-19 12:09 UTC. Full page read end-to-end.
  • https://code.claude.com/docs/en/permission-modes — verified 2026-09-19 12:09 UTC. Cross-referenced for auto mode model-family support matrix.
  • https://code.claude.com/docs/en/llm-gateway-protocol#feature-pass-through — verified 2026-09-19 12:09 UTC. Cross-referenced for the gateway field-forwarding requirements.

Article history

  • Originally published: 2026-09-19 12:08 UTC
  • Last verified: 2026-09-19 12:09 UTC
  • No corrections at this time.

Documentation comparison; no firsthand test was run during preparation. Verification level: primary-source verbatim quotes against the GitHub release page and the Anthropic docs page. No public benchmark on cost saving is available.

Related Dispatches