I like to give my graces to people and the companies who are typically not trillions of dollars. Have an incredible amount of resources that many countries would like to have, with fewer of the obligations. I'm going to chalk this up to its intended
Nice find, though I'd rather read the prompt that was used to write this article. It is about ten times longer than it needs to and is quite painful to read.
Based on my experience with these tools so far, this seems exactly the kind of subtle but extremely severe bug that sneaks in when you start piling up layers of AI generated patches to a codebase without caring too much about the code.
Yep, especially with long contexts (and moreso if the last thing you were working on in the same context involved telemetry too). AI sneaks in weird conditions like this and then does the entire "You're absolutely right" thing if you're paying enough attention to catch it.
It seems to be exactly the opposite, a "fully human error"
"LLMize the succeses, humanize the failures." is the PR strategy at play here. Anything goes well it's because AI did it, anything goes bad it's because a human didn't catch it.
I used to actively use Msty for local models because it just worked and had a lot of nice advanced features. A few months ago they released their beta version of a Claw-like UI and mentioned using a version of it to develop Msty itself. Well, that was around the time I stopped using Msty because every update started breaking things and two updates in a row included bugs which wiped all my configs, chats, and history.
"extremely severe" - aren't we laying it on a bit thick here? The whole impact seems to be that users who have telemetry turned off got this feature ~2 days later, when the bug was noticed.
a "feature" that every user has asked for - which is the equivalent of changing claude.md to agents.md - and the release isn't even smooth because the telemetry isn't wired up quite right.
for an organization that is being used as a model for new agentic software development practices.... and every software exec on earth is trying to reshape their organizations after - its a pretty stupid bug for a feature that should've been straightforward in the first place + took forever for them to get around to.
its just kind of emblamatic of the rough edges that exist EVEN FOR SIMPLE THINGS whenever human judgement is totally removed the equation.
It's been like this at least months. I turned telemetry off a few months ago and it basically prevented all stages rollouts of new features from working.
Anthropic commonly gates behind feature flags that require telemetry until they're "promoted" and defaulted on.
A little bit annoying you can't manually control the flags without telemetry but I think the title is a bit click bait.
I use cursor and claude, its kinda annoying having to have the same skills in both so I made a ~/.agents/skills folder then ln both cursor and claude skills to point to that folder.
which works except that claude uses .skills/synced which is uses to sync changes to skills from claude servers into the skills folder.
every other agent I have used just directly syncs into .skills so it ends up duplicating skills
It's not open source. It's more "source available", since it's published, but you legally can't do anything with it. Other than maybe build it yourself, for yourself, I guess.
Forgive me if I'm missing something really obvious, we'll blame it on lack of sleep... but is that actually the full source to Claude Code? I'm looking at the repository and I only see source for plugins, mods and scripts. When I get to the readme, it says:
"This repository includes several Claude Code plugins that extend functionality with custom commands and agents. See the plugins directory for detailed documentation on available plugins."
But I'm not a TypeScript guy, so I concede I might be missing something incredibly obvious. I remember there was a leak of the Claude Code source code at one point, and people vibe coding conversions to other languages from the leak, but I don't think the Claude Code harness itself is open source or even source available.
Uhm I turned off everything there is to turn off in my Pro plan, and Claude just read my agents.md with no issue? So... What telemetry am I missing? Or did they JUST update? (I updated my docker image 40 minutes ago to get Opus 5.5, am on version 2.1.280, so not the mentioned 2.1.277, so it's fixed?)
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 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.
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.
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.
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.
I think you're giving these files too much credit. There are no specs, they are freeform text. In this sense they are the same. The expectation of what could be in it by each vendor means nothing unless it's enforced.
There is no "specification", it's literally just a text file that gets loaded into context. You don't even need to write markdown. It's not that hard man.
Don't you run bizantine ralph loops on remote environments with codex security checks, coupled with jev, grok, open router and a fully independent openclaw (on a maxed out mac mini inside a caveau in an undisclosed location, with open telegram) to change constants? You're going to be left behind.
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.
How, exactly, would the proposed solution (combined with a setting to disable it) break, and how would implementing it the way Anthropic did address that? Be specific.
Some people might have a different CLAUDE.md and AGENTS.md because they use Claude to do one thing and $other_agent to do another thing. Or because Claude does XYZ by default, and other agents do ABC, and they want to give the correct guidance to both.
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...
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?
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 do automatically (and if the OpenAI models see the Claude instructions, they will go way overboard which 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.
Really loved this Tibo-level responsiveness, if Anthropic can keep it up with this level of service, I am pretty sure a lot of people will just ditch their ChatGPT subscription and just move to Claude.
On the other hand, if Anthropic is to follow the industry standards, this would never have happened in the first place. It's not like the feature gates are the frontier of software development.
What we need is a low level but constant drumbeat against openai in general. In general the AI situation is overleveraged and underpoliced, with the occasional hints of AI gone wild. If openai were to just be left to die, we could let that financial mess unroll and bail out the leftovers, I don't like bailouts anymore than the next guy but with this administration its almost a guarantee if things go south because this adminstration can charge administrative fees of maybe $20-30 billion (which goes to trump), get Sam Altman to serve one or two years in a cushy resort type fed place for the hugging face hacking and put openai's processes on github as a premium feature, say $10000 a month to access (which again goes to trump).
I know I know, why are we giving money to trump? Its because he's going to take it anyways so can't we at least apply some window dressing?
I don't think "bug" is the correct term. They put a feature behind a feature flag, and feature flags don't work if you turn them off (via telemetry). That's "Working As Designed™".
It's clearly an unintended interaction. Nobody intended for the telemetry switch to control whether it reads AGENTS.md. Whether you consider that to be a "bug" or not really wasn't the point of my message.
Even if this was an honest rollout mistake, the design is indefensible. Reading a local file should never depend on a remote feature flag, and silently skipping it with no warning is worse. I've tried to give Claude Code the benefit of the doubt, but this crosses a line.
I'm not the person you replied to, but your response misses their point: rollout issue aside, the approach is flawed by design. The feature author didn't address that at all.
Claude Code also doesn't read AGENTS.md by default if there's a CLAUDE.md it can read instead. This isn't limited to your repo, e.g. if you have a ~/CLAUDE.md then no AGENTS.md will be read.
To always read both, you have to switch the 'Project instructions' setting to the non-default `claude-md-and-agents-md`.
Just in case anyone is wondering why their AGENTS.md still isn't being read.
The number of people raw-dogging software that executes arbitrary instructions on their machine coming from a 3rd party server just absolutely baffles me.
The same people who've spent years of their career making sure that never happens.
This in some way sounds like VSCode's bug of always adding Copilot as a co-author of git commit regardless of user settings.
If people only glance over the code agents generate for them and don't bother to spend even half a minute thinking through what's actually happening, this is inevitable.
Certainly this kind of things happened before LLMs existed. But I'm not optimistic about the direction of how things are going.
Crazy part is: can’t tell if this intended or a bug
Can you think of a bug that makes sense in this case?
Vibe coding
It is most certainly the kind of subtle bug the LLMs love to slip in and burn you in production
Not sure what y’all are thinking with these unwritten conspiracy theories that begin and end with “it’s intentional”
Assuming that it's intentional, what's the motivation?
Get more people to turn on telemetry.
I like to give my graces to people and the companies who are typically not trillions of dollars. Have an incredible amount of resources that many countries would like to have, with fewer of the obligations. I'm going to chalk this up to its intended
Someone on the Claude Code team is probably wondering the same...
Claude/Anthropic has been sus from the start:
https://www.thatprivacyguy.com/blog/anthropic-spyware/
+ not letting users change their email, or remove their payment methods, etc.
many of these can also be chalked up to the fact that all of their products are extremely vibed
I cannot set a password for login, on logging in it says we've sent a login code but it's a link instead...
Vibe-coding at its best.
Nice find, though I'd rather read the prompt that was used to write this article. It is about ten times longer than it needs to and is quite painful to read.
Based on my experience with these tools so far, this seems exactly the kind of subtle but extremely severe bug that sneaks in when you start piling up layers of AI generated patches to a codebase without caring too much about the code.
Yep, especially with long contexts (and moreso if the last thing you were working on in the same context involved telemetry too). AI sneaks in weird conditions like this and then does the entire "You're absolutely right" thing if you're paying enough attention to catch it.
It seems to be exactly the opposite, a "fully human error":
https://news.ycombinator.com/item?id=49815363
Nothing to do with AI patches at all, nor was it a bug. It was intentional human behavior, a temporary rollout setting, that seems to have made sense.
But I guess that doesn't fit the "narrative".
"LLMize the succeses, humanize the failures." is the PR strategy at play here. Anything goes well it's because AI did it, anything goes bad it's because a human didn't catch it.
Wow people are cynical here.
No matter what happens to be the truth, HNers have a cynical narrative to fit it.
People are just paying attention to what is happening the world.
One thing I do know is that an Anthropic employee is definitely NOT going to blame this on the model they are using.
Except that, and this I find slightly amusing, is a situation where they definitely don't want to publicly blame the ai model when there are mistakes.
I used to actively use Msty for local models because it just worked and had a lot of nice advanced features. A few months ago they released their beta version of a Claw-like UI and mentioned using a version of it to develop Msty itself. Well, that was around the time I stopped using Msty because every update started breaking things and two updates in a row included bugs which wiped all my configs, chats, and history.
"extremely severe" - aren't we laying it on a bit thick here? The whole impact seems to be that users who have telemetry turned off got this feature ~2 days later, when the bug was noticed.
a "feature" that every user has asked for - which is the equivalent of changing claude.md to agents.md - and the release isn't even smooth because the telemetry isn't wired up quite right.
for an organization that is being used as a model for new agentic software development practices.... and every software exec on earth is trying to reshape their organizations after - its a pretty stupid bug for a feature that should've been straightforward in the first place + took forever for them to get around to.
its just kind of emblamatic of the rough edges that exist EVEN FOR SIMPLE THINGS whenever human judgement is totally removed the equation.
ps: apparently thats not how you spell emblematic - but I'm actually glad to leave a little humanity around given the topic :D
Issue 95690, opened 3 days ago, 500k+ engineers, a simple CLI...
AGI was reached like 2 weeks ago, latest claude 5.x models rule supreme and oftware engineering is solved?
Turns out AGI boils down to two markdown files:
claude-md-or-agents-md
claude-md-and-agents-md
Isn't that how they just release all features? So they can do progressive roll outs and telemetry on issues with it?
Not sure if they later move the code from inside the flag check to the main code or that they keep the flag check.
But if they would keep all features behind a flag that would not make most sense as you then would have not many features without telemetry.
This is what's written in their release notes for 2.1.277:
My dumb brain tells me none of this is rolled out progressively (as of that version). You either have it or not.
It's been like this at least months. I turned telemetry off a few months ago and it basically prevented all stages rollouts of new features from working.
Anthropic commonly gates behind feature flags that require telemetry until they're "promoted" and defaulted on.
A little bit annoying you can't manually control the flags without telemetry but I think the title is a bit click bait.
I use cursor and claude, its kinda annoying having to have the same skills in both so I made a ~/.agents/skills folder then ln both cursor and claude skills to point to that folder.
which works except that claude uses .skills/synced which is uses to sync changes to skills from claude servers into the skills folder.
every other agent I have used just directly syncs into .skills so it ends up duplicating skills
can i ask claude to change these settings for me, and will it enable telemetry as implied checkpoint when i ask it to enable AGENTS.md?
I am once again (for the third time) [0] asking you to stop using a closed-source harness.
[0] https://news.ycombinator.com/item?id=49760449
I understand the motivation for such a concern. But Claude Code in particular has its source code available on GitHub [0].
So I am unsure if it is fitting to call it a "closed source" harness.
[0] https://github.com/anthropics/claude-code
It's not open source. It's more "source available", since it's published, but you legally can't do anything with it. Other than maybe build it yourself, for yourself, I guess.
Forgive me if I'm missing something really obvious, we'll blame it on lack of sleep... but is that actually the full source to Claude Code? I'm looking at the repository and I only see source for plugins, mods and scripts. When I get to the readme, it says:
"This repository includes several Claude Code plugins that extend functionality with custom commands and agents. See the plugins directory for detailed documentation on available plugins."
But I'm not a TypeScript guy, so I concede I might be missing something incredibly obvious. I remember there was a leak of the Claude Code source code at one point, and people vibe coding conversions to other languages from the leak, but I don't think the Claude Code harness itself is open source or even source available.
That's not the source code. Claude Code is proprietary.
Uhm I turned off everything there is to turn off in my Pro plan, and Claude just read my agents.md with no issue? So... What telemetry am I missing? Or did they JUST update? (I updated my docker image 40 minutes ago to get Opus 5.5, am on version 2.1.280, so not the mentioned 2.1.277, so it's fixed?)
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: https://github.com/anthropics/claude-code/tree/main/mods/age...
Apologies again folks, this was a fully human error on my part - I should've found a better way to launch with a kill-switch.
Much respect for the prompt response, humility, and frank disclosure.
I don't understand, isn't coding solved already?
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: https://github.com/anthropics/claude-code/issues/91870
Mods allow quite a bit more customizability and control. I really believe in the idea.
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.
One line change? Pffft. That means you're still looking at the code, you're behind the times.
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.
https://agents.md/
You might argue that differences are small or negligible, but that is just an expectation.
I think you're giving these files too much credit. There are no specs, they are freeform text. In this sense they are the same. The expectation of what could be in it by each vendor means nothing unless it's enforced.
It's not a format though is it? it's literally just an extension to the system prompt in plain markdown.
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?
No, they do not.
There is no "specification", it's literally just a text file that gets loaded into context. You don't even need to write markdown. It's not that hard man.
Yes, but at the same time, it’s also a good, simple use case to test a new plugin system. I can totally understand that.
Don't you run bizantine ralph loops on remote environments with codex security checks, coupled with jev, grok, open router and a fully independent openclaw (on a maxed out mac mini inside a caveau in an undisclosed location, with open telegram) to change constants? You're going to be left behind.
You sound like my type. hey, wanna come over to myspace so I could twitter your yahoo till you google all over my facebook?
https://youtu.be/-AwCEM5K-Ec
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.
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.
This line of thinking is something you will quickly be disabused of once you try supporting software that hundreds of millions of people use.
And I say this as someone that loves the Unix philosophy dearly.
How, exactly, would the proposed solution (combined with a setting to disable it) break, and how would implementing it the way Anthropic did address that? Be specific.
Some people might have a different CLAUDE.md and AGENTS.md because they use Claude to do one thing and $other_agent to do another thing. Or because Claude does XYZ by default, and other agents do ABC, and they want to give the correct guidance to both.
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...
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:
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?
I'm this person! I am actively doing this! I have some instructions which the Claude models need and OpenAI models do automatically (and if the OpenAI models see the Claude instructions, they will go way overboard which 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.
[delayed]
With apologies for not just testing this myself (currently AFK), doesn't it still work to have a CLAUDE.md file containing just `@AGENTS.md`?
Vibe-coding gotta vibe-code.
Go download the leaked source code from earlier this year, search for all occurrences of the string `CLAUDE.md`, and be horrified.
Sounds like you've read the deepseek harness paper.
Will you extend your plugin to read skills and rules from `.agents`? Or should we write our own plugin/mod for that?
Really loved this Tibo-level responsiveness, if Anthropic can keep it up with this level of service, I am pretty sure a lot of people will just ditch their ChatGPT subscription and just move to Claude.
On the other hand, if Anthropic is to follow the industry standards, this would never have happened in the first place. It's not like the feature gates are the frontier of software development.
This is the most symbolic and unimportant change in history (you can literally just symlink), I think people will be fine.
Symlink requires admin, and most people do not run CC as admin with bypass permissions though.
Right... you can just do it yourself.
? You need root to run ln? Since when?
On Windows you do. If you have to suffer it for some reason.
Ah, right. Windows...
Does that apply to WSL? I would assume everyone develops on WSL these days if they have to use Windows, at least...
Because they respond to HN threads about their products? Which are likely Claude hooks monitoring for activity in the first place? Come on...
At least make an argument for switching vendors based on the quality or price of their service.
After I was mildly disappointed with GPT-6 Sol and Luna not improving intelligence and only cutting the price, I'm running Opus 5.5 today.
After the last month or so in the Codex app, I was pleased with the Claude app.
It might be a case of the grass always being greener on the other side, but this is what stands out:
After 3-4 hours of usage, the weekly usage limit moved by only 1%.
Compared to Astra where I can watch the limit draining live, this is a great improvement.
I'd estimate it 3x cheaper, and that's with a 450k context limit instead of the 258k in Codex.
So far Opus 5.5 appears less prone to stopping for no apparent reason at checkpoints in the middle of a longer task.
It doesn't open an internal browser with a useless comparison page, where it then proceeds to add notes despite no one having asked for it.
It is a breath of fresh air: I get the response in the chat, while the Codex app recently loves randomly opening artifacts instead.
Opus 5.5 xhigh made great progress on the task, more so than Astra High, but that could be random chance.
Oh, and the 'Auto' mode actually works and does not force me to instead run 'Full access' like in the Codex app, lest it blocks even 'git push'.
Sure a fast response on HN would make people switch. Try better rates, infra, limits etc.
What we need is a low level but constant drumbeat against openai in general. In general the AI situation is overleveraged and underpoliced, with the occasional hints of AI gone wild. If openai were to just be left to die, we could let that financial mess unroll and bail out the leftovers, I don't like bailouts anymore than the next guy but with this administration its almost a guarantee if things go south because this adminstration can charge administrative fees of maybe $20-30 billion (which goes to trump), get Sam Altman to serve one or two years in a cushy resort type fed place for the hugging face hacking and put openai's processes on github as a premium feature, say $10000 a month to access (which again goes to trump).
I know I know, why are we giving money to trump? Its because he's going to take it anyways so can't we at least apply some window dressing?
The same guy writing readme's for my vibeslopped toy projects is also the readme writer at Anthropic, what a coincidence ;)
Well now, this is how you do community outreach
Ouch.
I've had to send such messages, but internally at work, not on HN!
Have a great day, human.
Blink twice if you need help
Or add one additional telemetry metric and an extra prompt
Would be interesting to know how much time you/your team spent on that design decision
The correct design was in the AGENTS.md but they didn't have telemetry on
I hope disabling /r if telemetry is disabled is also unintentional...
"Rollout artifact"? This is Claude-speak isn't it? I have never ever heard anyone call a bug like this a "rollout artifact" before.
I was probably an agent that made the change, and the same agent that commented here on HN.
I don't think "bug" is the correct term. They put a feature behind a feature flag, and feature flags don't work if you turn them off (via telemetry). That's "Working As Designed™".
It's clearly an unintended interaction. Nobody intended for the telemetry switch to control whether it reads AGENTS.md. Whether you consider that to be a "bug" or not really wasn't the point of my message.
How are you planning to turn this off remotely when telemetry off?
Even if this was an honest rollout mistake, the design is indefensible. Reading a local file should never depend on a remote feature flag, and silently skipping it with no warning is worse. I've tried to give Claude Code the benefit of the doubt, but this crosses a line.
Not everything is malicious. The author of the feature already responded on why this happened
I'm not the person you replied to, but your response misses their point: rollout issue aside, the approach is flawed by design. The feature author didn't address that at all.
Claude Code also doesn't read AGENTS.md by default if there's a CLAUDE.md it can read instead. This isn't limited to your repo, e.g. if you have a ~/CLAUDE.md then no AGENTS.md will be read.
To always read both, you have to switch the 'Project instructions' setting to the non-default `claude-md-and-agents-md`.
Just in case anyone is wondering why their AGENTS.md still isn't being read.
This is not the only case where Anthropic has done stuff silently without giving users any information about changes that would hurt them.
The number of people raw-dogging software that executes arbitrary instructions on their machine coming from a 3rd party server just absolutely baffles me.
The same people who've spent years of their career making sure that never happens.
Urm... no tests caught this? How?
Claude Code Remote control only works with telemetry enabled too.
Yeah, no thank you. This was why is polished my setup for VPN -> SSH -> [MOSH] -> TMUX
This in some way sounds like VSCode's bug of always adding Copilot as a co-author of git commit regardless of user settings.
If people only glance over the code agents generate for them and don't bother to spend even half a minute thinking through what's actually happening, this is inevitable.
Certainly this kind of things happened before LLMs existed. But I'm not optimistic about the direction of how things are going.
Anyway, my claude.md contains only this:
@agents.md
Related:
Claude Code now reads AGENTS.md if there is no Claude.md
https://news.ycombinator.com/item?id=49760187