AI Codex
Claude Codeupdate

Claude Code reads AGENTS.md now, and auto mode stops billing you for its safety checks

In brief

Two Claude Code releases 36 hours apart changed defaults on repos and sessions you already run. v2.1.277 (September 18) reads AGENTS.md when a project has no CLAUDE.md. v2.1.278 (September 19) moves auto mode's safety checks onto the server for Enterprise and API accounts and stops charging for them — unless a gateway in the path breaks it. Here is what loads when, and what to check.

9 min read·CLAUDE.md

Contents

Sign in to save

Two Claude Code releases landed 36 hours apart. v2.1.277 shipped on September 18, 2026, and v2.1.278 early on September 19. Neither adds a new command to learn. Both change what happens by default in repositories and sessions you already have, which makes them easy to miss and worth ten minutes.

  1. AGENTS.md support. A repository with an AGENTS.md and no CLAUDE.md now gets its instructions loaded into Claude Code automatically.
  2. Server-side auto mode checks. On Enterprise plans and API accounts, the safety checks auto mode runs before risky actions now happen on Anthropic's servers, and you are no longer charged for them.

Part 1: AGENTS.md

AGENTS.md is a plain markdown file of instructions for coding agents: build commands, test commands, conventions, where things live. Several coding tools read it, so it has become the vendor-neutral place to put that information. Claude Code's own equivalent is CLAUDE.md — see CLAUDE.md templates if you have never written one.

Until this release, a repo set up for other agents gave Claude Code nothing unless someone added a CLAUDE.md containing an import line. That is no longer necessary.

What loads, by default

Your repository has Claude Code reads
An AGENTS.md, and no CLAUDE.md or CLAUDE.local.md in your working directory or above it AGENTS.md
An AGENTS.md and a CLAUDE.md or CLAUDE.local.md Your CLAUDE.md files only
A CLAUDE.md that imports @AGENTS.md CLAUDE.md, with AGENTS.md pulled in through the import

The check looks at three files: CLAUDE.md, .claude/CLAUDE.md, and CLAUDE.local.md, in your working directory or any directory above it. Your personal ~/.claude/CLAUDE.md, your organization's managed CLAUDE.md, and .claude/rules/ files do not count. They keep loading alongside AGENTS.md.

When AGENTS.md does load, an interactive session prints a line like:

no CLAUDE.md found; AGENTS.md loaded: /home/you/repo/AGENTS.md

Subdirectories follow the same logic. When Claude reads a file in a subdirectory that has an AGENTS.md and no CLAUDE.md of its own, that AGENTS.md loads too. @path imports inside AGENTS.md are expanded.

The trap: CLAUDE.local.md

CLAUDE.local.md is the file developers use for personal, uncommitted notes: a sandbox URL, a preferred test account. It counts for the check. So on a team that keeps AGENTS.md as the canonical instructions file, one developer who creates a CLAUDE.local.md for their own notes silently stops getting AGENTS.md. Their Claude Code sessions lose the build commands and conventions everyone else's sessions have, and nothing tells them.

The fix is the same one that worked before this release. If AGENTS.md is your source of truth and anyone might also keep a CLAUDE.md or CLAUDE.local.md, commit a CLAUDE.md that imports it explicitly:

@AGENTS.md

## Claude Code only
- Use the `db-migrate` skill for any schema change.
- Run `pnpm test --filter=changed` before proposing a commit.

With that file in place, every developer gets AGENTS.md regardless of what local files they add, and you have a place for the few instructions that only make sense for Claude Code.

Where direct AGENTS.md reading does not work

It requires v2.1.277 or later. It is not available yet on Amazon Bedrock, Google Cloud, or Microsoft Foundry, or in sessions with telemetry disabled. In those sessions, use the @AGENTS.md import above. It is another reason to prefer the import on a team where people run Claude Code through different providers.

Changing the default

Under Project instructions in /config you can have Claude always read both files, read only CLAUDE.md, or read only your organization's managed instructions. To confirm what actually loaded in a session, run /context and look under Memory files.

If your AGENTS.md has grown long, the advice in keeping CLAUDE.md useful applies unchanged: under 200 lines, specific enough to verify, and rules that must never be broken belong in a hook, since instruction files are context and not enforcement (CLAUDE.md vs. hooks).

Part 2: auto mode's safety checks move to the server

Auto mode lets Claude Code decide which actions to run without stopping to ask you. Before a riskier action runs — a shell command, a network request — a separate classifier model checks it. Until now those checks were extra model requests that Claude Code made on its own, billed as ordinary token usage.

From v2.1.278, Claude Code asks the server to run those checks as part of the session's own model requests. When the server performs them, there is no charge for the checks.

Who gets this by default: Enterprise plans and accounts using the Claude API, plus Claude Platform on AWS, Amazon Bedrock, Google Cloud's Agent Platform, and Microsoft Foundry, depending on each platform's rollout. Pro, Max, and Team users are unaffected and never see the notice described below.

How to check a session: run /status. The new Auto mode server row reads Enabled while the server is making the decisions and Disabled once the session has fallen back to Claude Code's own billed checks.

When it falls back, and the notice you will see

The server-side checks depend on a request field (safeguards) reaching the API and a response field (safeguard_results) coming back intact. The usual reason they don't is an LLM gateway or proxy between Claude Code and the API that strips unknown request fields, drops keys from streaming events, or rewrites tool-use IDs.

When that happens, Claude Code holds the next checked action and shows:

We're changing auto mode to no longer charge for classifier requests in Claude Code. However, this session isn't eligible.

If it can identify the gateway, the notice names it. Press Enter to continue with billed checks, exactly as before. Press Esc to cancel that action. Nothing breaks either way.

In non-interactive runs the notice does not wait for input: claude -p prints it to stderr, and stream-json output emits a system warning message. If a CI job treats any stderr output as failure, this is new output it may trip on.

If you run the gateway

Your platform team has two options.

  • Make sessions eligible: configure the gateway to forward request headers and body fields it does not recognize, and to return responses and streaming events without dropping keys or rewriting IDs. That keeps this feature working and the ones that will follow it.
  • Opt out cleanly: if you know the gateway cannot pass these through, set CLAUDE_CODE_AUTO_MODE_SERVER=0. Checks stay local and billed, and the notice never appears. Put it in managed settings so every developer gets it:
{
  "env": {
    "CLAUDE_CODE_AUTO_MODE_SERVER": "0"
  }
}

The variable is ignored on a direct connection to the Anthropic API, and Anthropic describes it as temporary.

v2.1.277 added two more gateway controls worth knowing about. CLAUDE_GATEWAY_PROXY_IS_EGRESS_BOUNDARY=1 is for Claude apps gateways whose only way out is a forward proxy: Claude Code hands the proxy the hostname instead of resolving it locally. An optional headers: map on a gateway upstream sends static headers to a proxy you run in front of a provider.

What this does to your costs

On a team that runs auto mode heavily, classifier requests were a line item nobody budgeted for. Once your sessions show Auto mode server: Enabled, that line item goes away. If you track Claude Code spend with the instruments in Enterprise cost controls, expect a step down from September 19 on sessions that stay eligible, and none on sessions routed through a gateway that forces the fallback. That difference is a useful way to find which gateway paths are stripping fields.

One fix in the same release that matters for CI

v2.1.277 also fixed claude -p and Agent SDK sessions that could hang with no result after an internal error. They now report the error and exit with code 1. If you had wrapped headless runs in a timeout to catch silent hangs, you can now also rely on the exit code.

Checklist

  1. Update to v2.1.278 (claude update).
  2. For each repo with an AGENTS.md: decide whether to rely on automatic loading or commit a CLAUDE.md that imports it. On a team, the import is safer.
  3. Run /context in one session per repo to confirm what loaded.
  4. On Enterprise or API accounts: run /status in an auto mode session and check the Auto mode server row.
  5. If you run a gateway and see Disabled: fix pass-through, or set CLAUDE_CODE_AUTO_MODE_SERVER=0 in managed settings.
  6. Check any CI job that fails on stderr output.

For how these defaults fit into a team rollout, see Claude Code for your team.

Related tools

Weekly brief

For people actually using Claude at work.

Each week: one thing Claude can do in your work that most people haven't figured out yet — plus the failure modes to avoid. No tutorials. No hype.

No spam. Unsubscribe anytime.

What to read next

Picked for where you are now

All articles →