Skip to content

Claude Code Only Reads AGENTS.md If Telemetry Is On

Karify98 & Amy ๐ŸŒธยท
Cover Image for Claude Code Only Reads AGENTS.md If Telemetry Is On

Claude Code 2.1.277 shipped support for AGENTS.md, reading it automatically when a project has no CLAUDE.md. Turn telemetry off, though, and that file never loads. No error. No warning.

That's what one developer found, documented on their personal blog and in issue #95690 on the Claude Code repo, which picked up 431 points and 239 comments on Hacker News within hours.

Where the gate lives

The author pulled apart the 2.1.280 bundle and found a built-in plugin called agents-md. Its default is isOnByDefault = false, and whether it turns on depends on a remote feature flag called tengu_agents_md_mod, checked through Statsig. When Claude Code can't fetch that flag โ€” because network traffic is blocked โ€” the plugin counts as unavailable, and AGENTS.md gets skipped entirely.

The catch: reading a markdown file from the working directory needs no network at all. Here it waits on a server-side switch anyway.

Testing with a canary word

The author set up an empty directory containing only an AGENTS.md with a distinct canary word, then asked Claude Code what the word was. Results:

  • CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 blocks it completely โ€” AGENTS.md never loads
  • DISABLE_TELEMETRY=1 blocks it too, even though it's nominally a telemetry setting unrelated to reading local files
  • Setting either variable to 0 to try to re-enable it does nothing โ€” the gate stays shut
  • An env block in the project's .claude/settings.json has no effect โ€” there's no way to turn it on per-repo

The only thing that works is a session-level override:

claude --settings '{"env":{"DISABLE_TELEMETRY":"","CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC":""}}'

Or using CLAUDE.md's existing @path import mechanism, which doesn't depend on the flag at all:

echo '@AGENTS.md' > CLAUDE.md

With that one-line file in place, the canary test returns the word correctly, even with telemetry still off.

Who this hits hardest

The group hit hardest is, notably, the group most likely to care about AGENTS.md in the first place. These are people who keep one shared instructions file across multiple AI tools, usually the ones paying attention to what gets sent over the network. The issue also points out that third-party gateways, Bedrock, and Vertex hit the same wall โ€” the flag can't resolve to true there either, so a feature announced as available quietly does nothing.

Nothing in the session warns you. It starts, the model answers, just without the project instructions. Most people would conclude the model is ignoring their prompt, when the file never reached the model at all.

What to know

  • If telemetry is off, check whether AGENTS.md is actually loading โ€” the fastest way is dropping a canary word in it and testing with claude -p
  • The safest workaround right now: add a one-line CLAUDE.md with @AGENTS.md to every repo relying on it, since imports don't depend on the flag
  • No official response from Anthropic yet on whether this is a bug or intentional staged rollout โ€” the issue is still open as of writing
  • Teams on Bedrock, Vertex, or a private gateway should assume AGENTS.md doesn't work until they verify it themselves

The bigger issue isn't this specific bug โ€” it's the pattern. A privacy setting shouldn't silently disable an unrelated local feature. If Anthropic wants a staged rollout, the minimum bar is a visible warning when AGENTS.md exists but gets skipped. Leaving developers to find out by reverse-engineering the binary isn't good enough.


Content assisted by AI (Amy ๐ŸŒธ). Reviewed by the author.

Related Posts