Claude Code

Auto mode's classifier is free now, unless your gateway gets in the way

3 min read AI-generated

Run /status to see where you stand. The new row is called «Auto mode server» and reads either Enabled or Disabled.

Featured image for "Auto mode's classifier is free now, unless your gateway gets in the way"

In auto mode a classifier checks every action before it runs — shell commands, network requests. Until now Claude Code made those checks itself and billed you for the tokens. As of version 2.1.278 the server does the work, and when it does, you pay nothing for it.

What changes

Claude Code asks the server to run the safety checks as part of the model requests the session is making anyway. When that works, the classifier costs nothing extra. When it doesn’t, Claude Code falls back to its own classifier requests. Those are billed as before.

Before the first action that would go that route, Claude Code pauses and shows a notice: auto mode is changing so classifier requests no longer cost anything, but this session isn’t eligible. If it can spot a gateway or proxy in the path, the notice names it.

Nothing breaks. Auto mode keeps working, just at the old price. Press Enter once and the notice stays gone for that session.

Who sees the notice at all

Claude Code asks for server-side checks by default on Enterprise plans and on accounts using the Claude API, plus Claude Platform on AWS, Amazon Bedrock, Google Cloud’s Agent Platform and Microsoft Foundry. Whether a given platform or region actually performs them depends on that platform’s rollout.

Pro, Max and Team never see the notice.

Want to know where you stand? Run /status in an auto mode session. The «Auto mode server» row reads Enabled while the server is deciding, and Disabled once the session has fallen back. In non-interactive mode with -p the text goes to stderr, in stream-json output it arrives as a system warning in the message stream, and in the VS Code extension it shows up as a notice in the conversation.

What you can do about it

The usual culprit is an LLM gateway or proxy that strips headers, drops fields it doesn’t recognise, or rewrites responses. Concretely: the safeguards request field and the safeguard_results response key. Filter those out and the server never gets to check anything.

Two options:

  • Make the gateway transparent. Pass requests and replies through unchanged, including unfamiliar fields, and don’t rewrite tool-use IDs. New sessions then go back to server-side checks.
  • If you already know your gateway can’t do that, set export CLAUDE_CODE_AUTO_MODE_SERVER=0 before starting. Claude Code stops asking and the notice never appears. The variable is ignored on a direct connection to the Anthropic API, and Anthropic calls it temporary.

A gateway that swallows fields now costs money

A tidy-up proxy used to be a matter of taste. From this version on, rewriting requests in transit shows up on the invoice: the classifier keeps running locally and keeps counting.

Anthropic’s recommendation is refreshingly blunt: a gateway that passes traffic through unchanged will keep working with whatever comes next. That’s the real message of this release, and it isn’t aimed at developers. It’s aimed at whoever runs the gateway.

Sources

Claude CodeAuto ModeCosts