Once I asked, puckishly, Claude Code to “follow the instructions in this directory” when there was only an AGENTS.md there.
In the manner of someone finding a dead mouse and holding it up for examination CC said it could find no instructions but perhaps it should check this AGENTS.md file.
I recently had Claude Fable set up a new project for me and I pointed it at some existing projects to use as a guide on how I like to structure things. It created, unprompted, an AGENTS.md file and a CLAUDE.md symlink to AGENTS.md
I didn't even have that symlink in any other project - it just did it. I think it saw that one of the projects I already had was set up by Codex and that project had an AGENTS.md so perhaps it inferred that I was using both Claude and Codex, so it was politely covering both? Or maybe a recent change made this behavior default?
I was surprised and I hope they continue to seek standards.
Seems agents understand their own bugs now. https://github.com/openai/codex/issues/9252 has 88 thumbs up and a workaround (switch to raw mode with Alt+R) found in a comment. Codex suggested the workaround to me today when I complained about its multi-line bash command being corrupted on paste because of the two-space indent in Codex's code blocks.
fwiw, i am with thariq https://x.com/trq212/status/2092302273099796842 in that prompts should be tuned for models and in fact blindly applying agents.md is probably an antipattern unless you want all models to basically converge to some common ill defined of instruction following - good local minima, bad global minima for model diversity and exploration of intelligence.
aka, sometimes it really is too early to force a standard
> “I’m thinking about banning Claude Code at Shopify until they change their mind and read AGENTS.md and .agents/skills etc.,” Lütke posted Tuesday on X.
Remember they didn't do this because they wanted to help community, they did it because community was angry and they were losing users to other harnesses.
Doesn't look like Anthropic care about dev community
yep, all i want is freedom to make a workflow where i don't feel tied to one provider, CC is exactly what i don't wanna get trapped in. I'll happily use claude MODELS, but if it means i have to keep learning two harnesses side by side to keep using one particular provider, then the second i can easily replace it, i am going to(even if its a small drop in performance).
Claude also checks your settings.json first, and if it sees a default there it then prefers that over anything in CLAUDE.md. This is particularly nefarious as they ship logic to presume a default if a setting is not there in settings.json, even if there are instructions in CLAUDE.md for exactly that.
For instance, say you added "do not add 'Made with Claude Code' in any issues, pull requests or wiki entries" in your CLAUDE.md. So far, so good.
Well the latest update now looks for something in your settings.json. Since you don't know about it, it is not set. Claude then says "not explicitly set, so now it is true by default". It completely ignores your CLAUDE.md.
Wait, what?
You shouldn't be shipping logic that arbitrarily redefines the behavior of the program, especially if your new logic actually ignores your own configuration or directives.
This project uses `AGENTS.md` as its agent instruction file (kept provider-agnostic).
Treat any `AGENTS.md` file exactly as you would a `CLAUDE.md` file — at the root level and in any subdirectory you are working in.
Windows does actually have symlinks but I don't think I've ever seen anything actually use them, and I don't myself because it smells of interop issues with other windows apps.
Even to this day Windows has all kinds of problems around long file paths in its ecosystem.
Windows supports it but git disables creating symlinks by default.
> Short version: there is no exact equivalent for POSIX symlinks on Windows, and the closest thing is unavailable for non-admins by default unless Developer Mode is enabled and a relatively recent Windows 10 version is used. Therefore, symlink emulation support is only turned on by default when that scenario is detected. Support can be enabled by the user, via the core.symlinks=true config setting.
Still don't understand the point of the markdown files.
Isn't it literally all just more text you're adding to the prompt. How can you even be sure it isn't just clouding context with nonsense for whatever you're asking for?
You know it because you write the content of AGENTS.md. And if you are smart, you keep it brief and cover only the important things that anyone (human OR LLM) would want to know if working in this directory.
In my experience telling it what I want is not a reliable process at all whatsoever if what I'm asking for is sufficiently complex, no matter what context I provide. So instead I break tasks down into very small parts, ask for solutions to those that I can reasonably quickly assess and then put them together myself. Asking it to do the architectural or deep algorithmic legwork IME wastes so much time and is often just wrong.
Once I asked, puckishly, Claude Code to “follow the instructions in this directory” when there was only an AGENTS.md there.
In the manner of someone finding a dead mouse and holding it up for examination CC said it could find no instructions but perhaps it should check this AGENTS.md file.
I recently had Claude Fable set up a new project for me and I pointed it at some existing projects to use as a guide on how I like to structure things. It created, unprompted, an AGENTS.md file and a CLAUDE.md symlink to AGENTS.md
I didn't even have that symlink in any other project - it just did it. I think it saw that one of the projects I already had was set up by Codex and that project had an AGENTS.md so perhaps it inferred that I was using both Claude and Codex, so it was politely covering both? Or maybe a recent change made this behavior default?
I was surprised and I hope they continue to seek standards.
Seems agents understand their own bugs now. https://github.com/openai/codex/issues/9252 has 88 thumbs up and a workaround (switch to raw mode with Alt+R) found in a comment. Codex suggested the workaround to me today when I complained about its multi-line bash command being corrupted on paste because of the two-space indent in Codex's code blocks.
Justba prompt change.
Finally doing something standards-compliant instead of forcing users into a proprietary workflow.
fwiw, i am with thariq https://x.com/trq212/status/2092302273099796842 in that prompts should be tuned for models and in fact blindly applying agents.md is probably an antipattern unless you want all models to basically converge to some common ill defined of instruction following - good local minima, bad global minima for model diversity and exploration of intelligence.
aka, sometimes it really is too early to force a standard
CLAUDE.md: @AGENTS.md
Wake up babe, new recursive self learning technique just dropped.
I tried that before, it doesn’t work. Claude will not prioritize AGENTS instructions the same way it did for CLAUDE.
ln was the only thing that worked for me
Caught myself about to praise this, but it's the absolute bare minimum.
Time to delete the symlinks
Don’t get too excited, Claude code still won’t detect skills on .agents/skills.
They have AGI, but they don't have $20 of token budget to add a so basic functionality.
They probably have an explicit instruction in their own CLAUDE.md to not implement that support.
Its the only explanation. I mean, they are not living under a rock...
A post-checkout git hook can handle this unfortunate situation.
Don't worry, it's on the roadmap for Q4 2029.
LOL https://thenewstack.io/shopify-claude-code-agentsmd/
> “I’m thinking about banning Claude Code at Shopify until they change their mind and read AGENTS.md and .agents/skills etc.,” Lütke posted Tuesday on X.
Remember they didn't do this because they wanted to help community, they did it because community was angry and they were losing users to other harnesses.
Doesn't look like Anthropic care about dev community
Hell froze over?
Finally, I can delete `sync-agent-docs.sh`, which recursively symlinked AGENTS.md to GEMINI.md and CLAUDE.md...
This just be a recession indicator
The madlads finally did it, now if only I could use my Claude sub in other harnesses without risking getting banned.
yep, all i want is freedom to make a workflow where i don't feel tied to one provider, CC is exactly what i don't wanna get trapped in. I'll happily use claude MODELS, but if it means i have to keep learning two harnesses side by side to keep using one particular provider, then the second i can easily replace it, i am going to(even if its a small drop in performance).
Claude also checks your settings.json first, and if it sees a default there it then prefers that over anything in CLAUDE.md. This is particularly nefarious as they ship logic to presume a default if a setting is not there in settings.json, even if there are instructions in CLAUDE.md for exactly that.
For instance, say you added "do not add 'Made with Claude Code' in any issues, pull requests or wiki entries" in your CLAUDE.md. So far, so good.
Well the latest update now looks for something in your settings.json. Since you don't know about it, it is not set. Claude then says "not explicitly set, so now it is true by default". It completely ignores your CLAUDE.md.
Wait, what?
You shouldn't be shipping logic that arbitrarily redefines the behavior of the program, especially if your new logic actually ignores your own configuration or directives.
My claude.md:
# CLAUDE.md
This project uses `AGENTS.md` as its agent instruction file (kept provider-agnostic). Treat any `AGENTS.md` file exactly as you would a `CLAUDE.md` file — at the root level and in any subdirectory you are working in.
@AGENTS.md
If only there was a technology that existed to link files together… /s
You mean symbolically?
Good one
The idea was to have it automatically detect nested AGENTS.md
Does your tech do that?
Anyway, the joke is on me I guess, because it might not work reliably.
Still can't read what their models vomit at me.
Thanks guys, you did the right thing.
This is not a news to celebrate, they must follow standards
Wow..... Progress and technical innovation right here!!!
Truly incredible innovation.
There goes their moat...
This allows us to remove our one line Claude.md files that just say "AGENTS.MD"
ln -s AGENTS.md CLAUDE.md
Fine if you don't need to git checkout the repo on Windows :)
Wow, still not there yet. After all these years.
Windows does actually have symlinks but I don't think I've ever seen anything actually use them, and I don't myself because it smells of interop issues with other windows apps.
Even to this day Windows has all kinds of problems around long file paths in its ecosystem.
Just .gitignore CLAUDE.md and handle it locally. Checking in a symlink would be weird.
I'm surprised Git and/or Windows don't support symlinks?
Windows supports it but git disables creating symlinks by default.
> Short version: there is no exact equivalent for POSIX symlinks on Windows, and the closest thing is unavailable for non-admins by default unless Developer Mode is enabled and a relatively recent Windows 10 version is used. Therefore, symlink emulation support is only turned on by default when that scenario is detected. Support can be enabled by the user, via the core.symlinks=true config setting.
See: https://gitforwindows.org/symbolic-links.html
Windows does mklink. Not surprised with git.
are you though?
oh god. sorry.
Only took them a year and a half of everyone complaining to finally do the right thing.
Congrats.
Hi, September 2026, meet September 2025
First feature to borrow after peaking into openai repos? ))
why did it take so long?
About time!
Thank you Tobi Lutke.
Context
“I’m thinking about banning Claude Code at Shopify until they change their mind and read AGENTS.md and .agents/skills etc.,”
- Tobi Lütke on X.
Still don't understand the point of the markdown files.
Isn't it literally all just more text you're adding to the prompt. How can you even be sure it isn't just clouding context with nonsense for whatever you're asking for?
You know it because you write the content of AGENTS.md. And if you are smart, you keep it brief and cover only the important things that anyone (human OR LLM) would want to know if working in this directory.
As far as I understand even adding relevant information still eventually clouds context
You still need to define assumptions somehow. What you want and what the model wants will not match up by default.
In my experience telling it what I want is not a reliable process at all whatsoever if what I'm asking for is sufficiently complex, no matter what context I provide. So instead I break tasks down into very small parts, ask for solutions to those that I can reasonably quickly assess and then put them together myself. Asking it to do the architectural or deep algorithmic legwork IME wastes so much time and is often just wrong.
do you just manually type out your important instructions every time instead of being smart and putting a few lines in a text file?
Great, now please standardize the skills folder and the MCP config.
Great, now I have to redo my scaffold harness. I guess this agent.md awareness is part of the system prompt?
nope! they're releasing something called "Claude Code mods", toted as their "upcoming way to customize the Claude Code harness"
https://x.com/trq212/status/2101009392611278961
AGENTS.md implementation is open sourced as well: https://github.com/anthropics/claude-code/tree/main/mods/age...
Nice. Thanks!
Forced to do something for the users...
They have achieved AGI/RSI internally and it told them "common, let's sort this s..t out, it's embarrasing".
A reminder that needs to be said: Don't use a closed-source harness.
Why? This is why. [0]
[0] https://news.ycombinator.com/item?id=49750694
yay! /s
Why are people still putting up with this kind of attitude, especially when there are so many good alternatives available?