What
CLAUDE_CODE_AUTO_MODE_SERVER is an environment variable (a setting read from your shell when Claude Code starts) that decides whether auto mode asks the server to review its actions instead of making its own classifier requests. It used to be read only for third-party providers. It is now also read on the first-party path, meaning a direct connection to Anthropic.
- Set to a false value, it forces server review off.
- Set to a true value, it turns server review on (internally the "arbiter" mode) without needing the
tengu_smooth_chipmunkflag. It still requires thetengu_iridescent_crystalflag to be off and that the server has not refused the third-party classifier. - Left unset, the
tengu_smooth_chipmunkflag decides as before, and its built-in default is off. A build-time override hook sits in that fallback but does nothing in this build. - The variable is now read once into
userServerClassifierSwitch, which is empty when the variable is unset and otherwise true or false, so the code can tell "not set" apart from an explicit choice. - For third-party providers the result is unchanged:
thirdPartyServerClassifierEnabledfollows the variable when it is set, and otherwise is on unlessCLAUDE_CODE_DISABLE_EXPERIMENTAL_BETASis set withoutCLAUDE_CODE_PROVIDER_MANAGED_BY_HOST.
Why
First-party users can opt in to server-side review ahead of the rollout flag, or opt out of it, with a single environment variable, whatever the remote flag says.
tengu_smooth_chipmunk Off in both readingsThe flag server returned off for the account this site reads and for the anonymous baseline. A reading of off cannot rule out a rollout these two readings sit outside of.
This account: off · anonymous baseline: off · compiled default in v2.1.281: off
These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.
Read once, for one account on one subscription tier, against v2.1.281. It isn't a statement about your account. What a flag value here can and cannot tell you
The entry above is what we published on the day. These lines were added later, as Anthropic's own pages caught up, and they sit beside the original rather than replacing it.
To skip asking the server and always use Claude Code's own classifier requests, set [`CLAUDE_CODE_AUTO_MODE_SERVER=0`](/docs/en/env-vars). On a direct connection to the Anthropic API, the variable requires Claude Code v2.1.281 or later. Se…permission-modes see the edit
A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
A small documentation edit on Choose a permission mode touched a line naming CLAUDE_CODE_AUTO_MODE_SERVER after this was published.
Changed CLAUDE_CODE_AUTO_MODE_SERVER to also apply on a direct Anthropic API connection: 0 opts out of the server-side auto mode classifier…