Sorry couldn't resist ( ・ั ﹏ ・ั )
Not sure what you didn't understood in their comment though, maybe the raph loop (and jev which was just released)? Isn't the rest completely self explanatory?
Basically he's describing an LLM assistant setup that does coding on a vps or Mac mini ( some contradiction with Openrouter though) where you can communicate with the assistant through telegram
The FIRST website, nice.
No the joke is that you need to protect the review server from a runaway humanoid robot pulling the plug on the review server.
Or the opposite, the runaway humanoid robot is controlled by an openclaw server that can't be located and shut down.
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.
Read CLAUDE.md if it doesn't exist read AGENTS.md you don't need to overthink it so much.
And I say this as someone that loves the Unix philosophy dearly.
This is, to me, a completely reasonable and believable use case that could break if you implement this fix without "overengineering" it.
A setting to disable what? Be specific. See? Not so simple...
> Some people might have a different CLAUDE.md and AGENTS.md
How exactly do these two conflict? If you have both, nothing changes.
We're talking about changing default behaviors here in ways that can be surprising to users. It's reasonable to try and accommodate existing setups, future setups, and - yes - careless users.
you're really over thinking this, and i'm wondering if you're risking pulling something stretching like that to pick this up shilling for Anthropic.
Instead we get the implicated assertion that users’ existing workflows shouldn’t matter to Anthropic and accusations that someone you don’t agree with is a shill. When called on that you avoided the question.
To answer your question, although it wasn’t directed at me: YES. I want people to be able to discuss that exact issue even if it isn’t personally interesting to me.
Anthropic is the last company I would trust to make any decisions. Look at any discussions surrounding their "Claude is a tiny game engine" idiocy, numerous bugs that a junior can discover, a full "plugin system" in which they neeeed a dozen files in the worst Clean Code manner to read one of two files etc.
Bonus forth point: why is this critical to solve for claude code, but not for all the other harnesses which have all converged on AGENTS.md for this purpose?
> And I say this as someone that loves the Unix philosophy dearly.
Unix way would be just to tell users to `ln -s` and stop bothering with this.
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?
```md @AGENTS.md
[Claude specific stuff]
```
And then what happens if someone now puts @syntax in their agents.md triggering a loop etc. It's all vibe coded - including code from days with dumber models - there's gonna be all sorts of dragons under the hood
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.
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.
Model.Claude*:
Do this one thing
Model.Claude.Opus.4.8:
Extra specific instructions
Model.*:
This is relevant to everyone
Harness.ClaudeCode*:
Why not, let’s allow harness specific instructions so you can do things differently depending how you’re workingSeriously, though, this is a great idea. Good communicators know to tailor their discourse to their audience. LLMs are just as sensitive to small variations in prompts, and just as inconsistent between them, as are humans.
# Models.Claude\*:
Maybe now it can be in a .md again :DI wrote an agent launcher sort of bash script. Pass in the command to start the agent, the script checks if there’s a Jinja file in a special directory matching that name, and builds it to AGENTS.md. Then it launches the agent.
I was trying to use it as a sort of janky RAG. I had a bunch of snippets (one for DB architecture, one for how load balancing works, etc), and my Jinja files were mostly a list of snippets to pull in. Voila, a bunch of agents that share little pieces of info but have a single source of truth.
I never got a ton of value tbh, it was very good at just grepping the snippets.
That said, I do find it somewhat funny that Anthropic themselves are falling victim to their own model's tokenmaxxing.
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.
> 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.
The worst thing about AI is endless complexity slopification.
There are processes to make changes outside of feature flags, but they have enough friction that it's easier to just use a feature flag.
This level of paranoia is consistent with the blast radius of changes breaking Claude users.
Thanks!
> Are you gating by license or user, or just by percentage of installs?
I'm gating by version. I want to dogfood features personally before releasing them to all my users.Vibe-coding gotta vibe-code.
AGENTS.md seems to simply showcase what mods are capable of.
I don't think this is a reasonable assumption. The document format in CLAUDE.md is whatever Anthropic specifies, where AGENTS.md is a common ground format that is expected to be supported by any agent, be it from Anthropic or not.
You might argue that differences are small or negligible, but that is just an expectation.
There is no rhyme or reason to the structure of this file, just like with most things in AI. It's best effort human language.
Q: Do Anthropic actually specify a document format?