‹ BackHN Continuity

Thread

Claude Code reads AGENTS.md only when telemetry is on [fixed]

486 points · 284 comments · pszypowicz

  1. mpoteat · · focus · HN ↗
    Sorry folks, this is a rollout artifact, we needed a way to turn this off remotely via feature flags if it broke something, and with telemetry off you don't get those. It's already been fixed as part of v2.1.281 releasing today.

    The mod is source available here: <a href="https:&#x2F;&#x2F;github.com&#x2F;anthropics&#x2F;claude-code&#x2F;tree&#x2F;main&#x2F;mods&#x2F;agents-md" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;anthropics&#x2F;claude-code&#x2F;tree&#x2F;main&#x2F;mods&#x2F;age...

    Apologies again folks, this was a fully human error on my part - I should&#x27;ve found a better way to launch with a kill-switch.

    1. mpoteat · · focus · HN ↗
      The AGENTS.md support was implemented via our new extensibility system for CC, called Mods, which is launching soon-ish. A mod is a plugin with a new type of hook, which we call a function hook.

      If folks play around with it, I would love feedback on the relevant issue: <a href="https:&#x2F;&#x2F;github.com&#x2F;anthropics&#x2F;claude-code&#x2F;issues&#x2F;91870" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;anthropics&#x2F;claude-code&#x2F;issues&#x2F;91870

      Mods allow quite a bit more customizability and control. I really believe in the idea.

      1. rickette · · focus · HN ↗
        The only difference between CLAUDE.md and AGENTS.md is the filename. Do you really need a whole plugin system to support that use case? Feels like this could have been a one line change.
        1. pdpi · · focus · HN ↗
          The plugin system itself was probably already in the making, and they just chose to implement this tiny feature as a plugin to try it out.

          As for the only difference being the file name, that&#x27;s an untested assumption. Up until now, Claude hadn&#x27;t supported AGENTS.md, and it&#x27;s a simple application of Hyrum&#x27;s Law that somebody, somewhere, was taking advantage of that to give one set of instructions to Claude, and a different set of instructions to some other provider. The correct behaviour in the presence of both files is not obvious, either.

          Having a kill switch for the change is a perfectly reasonable safety measure in case something goes horribly wrong.

          1. epihelix · · focus · HN ↗
            &gt; Having a kill switch for the change is a perfectly reasonable safety measure in case something goes horribly wrong.

            What, exactly, is going to go horribly wrong here ...? The worst case you&#x27;re proposing is that an Anthropic model acts on AGENTS.md rather than CLAUDE.md. It&#x27;s not going to be the end of the world; at worst it&#x27;ll be `git reset --hard HEAD` time. But this wouldn&#x27;t happen, because:

            &gt; The correct behaviour in the presence of both files is not obvious, either.

            It seems extremely obvious to me: the non-breaking change is the right change here. If both exist, Anthropic models continue to use CLAUDE.md and ignore AGENTS.md. This is not rocket science. Why are we overthinking this?

            1. hamburglar · · focus · HN ↗
              &gt; What, exactly, is going to go horribly wrong here ...?

              Operating anything at scale teaches you that the universe of “things that can go horribly wrong” has a much better imagination than you. That goes quadruple with complex and squishy reasoning models.

              I’ve seen a couple of really good examples of what can go wrong in this subthread, the most straightforward of which is that abruptly changing a fundamental behavior can break existing use cases.

Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.