logoalt Hacker News

pdpitoday at 1:43 PM6 repliesview on 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's an untested assumption. Up until now, Claude hadn't supported AGENTS.md, and it's a simple application of Hyrum'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.


Replies

Wowfunhappytoday at 2:19 PM

> 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.

I'm this person, I am actively doing this! I have some instructions which the Claude models need and OpenAI models will do by themselves. If the OpenAI models see the Claude instructions, they will go way overboard in a way I don't want.

Mind, the change does not affect me at all, because when both instructions are present Claude continues to read CLAUDE.md and Codex continues to read AGENTS.md. But if Claude started preferring AGENTS.md, that would be mildly annoying.

show 1 reply
redox99today at 1:50 PM

That line of thought is the reason why everything gets so overengineered.

Read CLAUDE.md if it doesn't exist read AGENTS.md you don't need to overthink it so much.

show 1 reply
epihelixtoday at 2:16 PM

> 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're proposing is that an Anthropic model acts on AGENTS.md rather than CLAUDE.md. It's not going to be the end of the world; at worst it'll be `git reset --hard HEAD` time. But this wouldn't happen, because:

> 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?

show 2 replies
speledingtoday at 2:31 PM

The Claude sandbox has a slightly different ENV compared to ChatGPT (LC_CTYPE set to C instead of UTF8 I believe) which upsets some scripts we have.

So in the CLAUDE.MD we tell it about that and then tell it continue reading AGENTS.MD. Not very hard to work around if CLAUDE.MD goes away, but just to support your point that the split did have its uses for some.

dotancohentoday at 3:13 PM

  > Having a kill switch for the change is a perfectly reasonable safety measure in case something goes horribly wrong.
Having a way for the user to revert the update is a perfectly reasonable safety measure in case something goes horribly wrong.

Even though Anthropic or any other software provider could technically run anything on our system, there exists a modicum of trust between supplier and user. Anthropic performing arbitrary changes that are tangential but not specific to the premise of delivering a harness to package code files and prompts in context to their LLM breaks that trust for many users.

bakugotoday at 2:22 PM

This "tiny feature" consists of hundreds of lines of code spread across 57 source files, many of which are less than 30 lines long, often contain more comments than code, and have no real reason to exist. It's the very definition of overengineering and overcomplexity.

That said, I do find it somewhat funny that Anthropic themselves are falling victim to their own model's tokenmaxxing.