Claude Code 2.1.275 Broke Every Gateway Proxy. 2.1.276 Fixed It the Same Day.
A new internal request tag in 2.1.275 caused 400 errors on every proxy-routed API call. 2.1.276 hotfixed it the same day. Breakdown of the failure, affected configs, and three secondary operator changes worth auditing.

Claude Code 2.1.275 went out on September 18 with a full-featured changelog. Within hours, every user pointing ANTHROPIC_BASE_URL at a proxy or gateway was getting a 400 on every single request. 2.1.276 dropped the same day to stop the bleeding.
The failure mode is worth understanding precisely, because it exposes a category of proxy fragility that will recur as Anthropic continues adding internal request metadata.
What broke in 2.1.275
The error shape is documented in the 2.1.276 fix note:
400 … Input tag 'advisor_20260301'
advisor_20260301 is an internal Anthropic tag that 2.1.275 began attaching to API requests. On a direct connection to api.anthropic.com, the tag is silently accepted. On any proxy or gateway that validates the request body and rejects unknown input_tag values, the request fails before it reaches the model.
The failure is total: not a degraded response, not a partial failure on certain request shapes. Every turn, every tool call, every subagent spawn returns a 400. Sessions cannot progress at all.
The blast radius is anyone using ANTHROPIC_BASE_URL to route through an intermediate: corporate AI gateways, OpenAI-compatible proxy layers that translate requests, LiteLLM deployments, custom auth/cost-tracking middleware, and TheRouter itself if configured to use the native Anthropic endpoint path.
What 2.1.276 did
The hotfix is targeted: it removes the advisor_20260301 input tag from requests sent through a custom ANTHROPIC_BASE_URL. Direct Anthropic API connections presumably continue to receive the tag; proxies no longer see it.
If your environment pins Claude Code at a specific version, the action is simple: update to 2.1.276 immediately. If you run auto-update with ANTHROPIC_BASE_URL set, you were likely hit by the window between 2.1.275 and 2.1.276 and may not have realized what caused the failures.
The structural pattern to watch
Anthropic is actively adding internal metadata to requests — telemetry tags, advisor metadata, context signals — as Claude Code becomes more deeply integrated with the platform. Each new tag is invisible on api.anthropic.com but potentially fatal on a proxy that runs strict schema validation.
Two proxy configurations are at risk:
Strict schema validation: any middleware that validates the Anthropic request body against a schema and rejects unknown fields. This is common in enterprise security proxies doing DLP inspection.
Tag allow-lists: gateways that forward only known headers and body fields. If input_tag is not in your passthrough list, new tags silently drop — or, depending on implementation, cause the 400 you see here.
The mitigation pattern: configure your proxy to pass through unknown top-level fields in the Anthropic request body rather than rejecting or stripping them. Anthropic's internal tags will continue to evolve; your proxy's schema cannot keep pace with them.
Three secondary operator changes in 2.1.275
The regression dominated the day, but 2.1.275 also shipped material operator changes that don't require a 400 to notice.
npm plugin security: --ignore-scripts + integrity verification. Plugins installed from npm sources are now fetched with npm pack --ignore-scripts and verified with an integrity check before loading. The install scripts in a package's package.json no longer execute during plugin installation. This is a meaningful supply chain control: rogue install scripts were a realistic compromise vector for any Claude Code environment where users can install arbitrary plugins. If your org deploys internal plugins via private npm registries, verify that they do not rely on install-script side effects to configure themselves — those scripts will no longer run.
claude.ai account skill and plugin sync: opt-out controls. Claude Code 2.1.275 now syncs the skills and plugins enabled on a user's claude.ai account into their terminal sessions when they are signed in via the Claude apps gateway. The sync is on by default. Operators who want tighter control over what runs in terminal sessions can disable it at the managed settings level:
{
"syncClaudeAiSkills": false,
"syncClaudeAiPlugins": false
}
For teams using Claude Code in production pipelines, this is worth auditing. A skill a user enables on their personal claude.ai account could unexpectedly appear in a CI runner session that shares their credentials.
Gateway SIGTERM drain extended to 25 seconds. Previously, a SIGTERM to the Claude apps gateway would cut every open stream immediately. The gateway now lets in-flight requests finish for up to 25 seconds before exiting. The window is configurable via CLAUDE_GATEWAY_DRAIN_TIMEOUT_MS. For operators who deploy the gateway behind load balancers with rolling restart cycles, this change eliminates the category of failed mid-turn requests that happened when the gateway restarted during a long agent session.
The operator checklist for this release
-
Update to 2.1.276 now if you use
ANTHROPIC_BASE_URL. Any environment on 2.1.275 with a proxy is broken. -
Audit proxy schema validation. Determine whether your gateway validates or filters the Anthropic request body. If it does, switch to passthrough mode for unknown fields. This class of breakage will happen again.
-
Review plugin install-script dependencies. If internal plugins use
postinstallscripts to write config files, generate assets, or call APIs, those scripts will no longer fire. Update your plugins to declare configuration at runtime instead. -
Check
syncClaudeAiSkillsandsyncClaudeAiPluginspolicy. If terminal sessions should be isolated from personal account skills, disable both flags in your managed settings before users sign in with their claude.ai accounts. -
Test your rolling restart window against the new 25-second drain. If your load balancer drains connections in under 25 seconds before SIGTERM, active sessions now complete cleanly. If the drain window is shorter, you may still catch long-running agent turns mid-flight.
What gateway users should watch
The advisor_20260301 incident is the second time in four releases that an Anthropic internal API change has silently broken the ANTHROPIC_BASE_URL path (the first was the 2.1.268 HTTP 400 regression). The pattern suggests that proxy compatibility testing is not yet a first-class requirement in the Claude Code release process.
Operators running Claude Code through any intermediary layer should treat minor version upgrades as potentially breaking until they have a version-specific test that confirms the ANTHROPIC_BASE_URL path works end-to-end before deploying to users.

Claude Code 2.1.274: MCP Reliability Overhaul, Gateway Postgres Config, and Self-Healing Transcripts
Claude Code 2.1.274 fixes six MCP failure modes that silently break production tool sessions, adds store.connect_timeout_seconds and CLAUDE_CODE_GATEWAY_DRAIN_TIMEOUT_MS to the Claude apps gateway, and makes corrupted transcripts self-heal instead of looping forever.

Claude Code 2.1.273: Five New Gateway Headers and a Classifier Flip on Bedrock, Vertex, and Foundry
Claude Code 2.1.273 ships opt-in gateway hint headers exposing request class, agent type, and compaction state to any LLM proxy. It also flips the auto mode classifier to local-only on Bedrock, Vertex AI, and Foundry — only one change has a revert path.

Claude Code 2.1.269: Three Operator Changes Hidden Inside a 60-Fix Release
Claude Code 2.1.269 ships with a gateway discovery timeout override, a hard cap on concurrent workflow agents, and a fix for deny rules that were silently applying beyond their config source. Each one changes how operators govern Claude Code at scale.