‹ 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. vikramkr · · focus · HN ↗
              Because when you have tons of users ainor fuckuo is a big fuckup and also it&#x27;s really common to have both claude.md and agents.md and use @ syntax (which lets you reference markdown files when using Claude code, but not other harnesses) so you Claude md looks like

              ```md @AGENTS.md

              [Claude specific stuff]

              ```

              And then what happens if someone now puts @syntax in their agents.md triggering a loop etc. It&#x27;s all vibe coded - including code from days with dumber models - there&#x27;s gonna be all sorts of dragons under the hood

Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.