Skip to main content
  1. Articles/

Claude Code v2.1.271: Per-Command Domain Allowlisting Is the Kind of Security Feature Nobody Announces

·1026 words·5 mins·
Florent Clairambault
Author
Florent Clairambault
CTO & software engineer — writing daily about spec-driven development and agentic coding

Claude Code v2.1.271: Per-Command Domain Allowlisting Is the Kind of Security Feature Nobody Announces

Claude Code v2.1.271 landed September 14 with no fanfare — no blog post, no benchmark table, just another dated entry in a changelog that now runs to dozens of items per release. Buried in that list is a feature that matters more than its one-line description suggests: per-command domain allowlisting for sandboxed auto mode. A day later, v2.1.272 shipped as a pure maintenance release. Here’s what actually changed and why the sandboxing work deserves more attention than a changelog line gives it.

The feature: allowed_domains per command, not per session
#

Before this release, network access controls in Claude Code’s sandboxed auto mode operated at a coarser grain — a session either had network access scoped to a broad allowlist or it didn’t. v2.1.271 adds allowed_domains to Bash, PowerShell, and Monitor tool calls individually: when a command needs network access, the specific hosts it requires are reviewed alongside the command itself and opened for that command alone. Every other host stays refused, even for the rest of the same session.

That’s a meaningful tightening of the blast radius. Consider the difference in practice: a subagent running npm install needs registry.npmjs.org. A subagent running curl against an internal API needs exactly that API’s host. Under the old session-level model, once a workflow’s network scope was approved, any command in that session could, in principle, reach any host on the approved list — including one a later, compromised, or misdirected command didn’t actually need. Per-command scoping means a curl call that suddenly wants to talk to an unexpected host gets refused on the spot, not waved through because an earlier, unrelated command already had network access approved.

This is the same design principle Claude Code has applied to filesystem permissions for a while — scope the grant to what the specific action needs, not to the whole session — now extended to the network layer specifically for auto mode. It’s worth naming that context explicitly: auto mode is the setting where Claude Code runs with the least per-action human confirmation, which is exactly where tightening the default blast radius matters most.

omitClaudeMd: letting subagents run without inheriting instructions
#

The second notable change is omitClaudeMd, now available in agent frontmatter and the --agents JSON config. It lets a custom or plugin-defined subagent run without loading user, project, or local CLAUDE.md files — while managed policy files (the ones an organization controls centrally) still load regardless.

The use case is narrower than it might sound: a plugin author shipping a subagent designed to do one well-defined job (say, running a specific linter and reporting results in a fixed format) doesn’t necessarily want that subagent’s behavior perturbed by whatever a given repository’s CLAUDE.md says about tone, commit conventions, or unrelated workflow preferences — instructions written for the primary agent, not for a narrowly scoped tool. omitClaudeMd lets that subagent’s behavior stay predictable and testable regardless of which repository it’s dropped into, while still respecting org-level policy that exists specifically to be inescapable.

It’s also a small, structurally relevant answer to a category of concern that’s been live all year: if an untrusted or compromised CLAUDE.md can steer agent behavior (the premise behind CVE-2026-21852 and the broader CLAUDE.md-poisoning class this blog has tracked since April), giving specific subagents an explicit opt-out from inheriting it at all is one more way to shrink that attack surface for the agents that don’t need repository-level instructions in the first place.

The rest of the release
#

Three other changes round out v2.1.271’s feature list:

  • Fast mode in Remote sessions — fast mode, previously desktop/CLI-only, now works in Claude Code Remote sessions across both cloud and self-hosted runners, honoring whatever an organization’s policy allows.
  • modelPricing multiplier up to 10x — the managed modelPricing setting and the Claude apps gateway pricing block now support a multiplier above 1, letting organizations set marked-up internal chargeback rates for cost allocation across teams.
  • Auto-mode classifier changes — two behavioral changes worth flagging together: a skill’s or slash command’s inline ! shell commands now follow default-mode permission rules instead of being routed through the safety classifier, and a subagent now reports results back to its caller through a dedicated hand-back call that the classifier reviews directly, instead of reviewing the subagent’s last message after the fact. Both are refinements to where and when the auto-mode safety layer actually inspects an action, rather than net-new capability.

The maintenance-only v2.1.272 the following day (Sept 15) carries no itemized changes as of this writing — just “bug fixes and reliability improvements,” consistent with Anthropic’s pattern of following a substantial feature release with a quiet stabilization pass.

A honest aside on /ultrareview
#

Since this blog flagged Claude Code’s still-unpatched GitSpawn git-config sink in /ultrareview just yesterday, it’s worth checking whether v2.1.271 touched that path at all. It does — but not the vulnerability. The changelog lists a /ultrareview-related fix under Code Review: reopening a finished /ultrareview cloud session in the Claude app was restarting the whole review unprompted, which is now fixed. That’s a UI/state bug, unrelated to the git-config execution sink Manifold Security disclosed. Nineteen releases past Manifold’s last confirmed-unpatched check now, and the actual fix still hasn’t shipped. Worth tracking until it does.

Why this is worth writing about at all
#

None of these individual items would justify a launch post on their own, and Anthropic clearly doesn’t think they do either — that’s exactly the point. Per-command network scoping in a sandboxed execution environment is genuinely careful infrastructure work, the kind of thing a security team would want to see from any tool running unattended commands against real systems. It shipped as one bullet among roughly sixty in a Tuesday changelog, sitting next to fixes for terminal rendering glitches and a PowerShell temp-path length bug. That’s a consistent pattern this blog has now tracked across multiple point releases this year: capability and safety work that a marketing-first competitor would spend a keynote on, delivered instead as changelog prose written in plain, specific, unglamorous language. It’s not a flashier story. It’s the more trustworthy one.

Sources: Claude Code Changelog (v2.1.271, Sept 14, 2026; v2.1.272, Sept 15, 2026; primary, direct fetch).

Related