This reminds me of Reddit killing off third-party clients and Twitter doing the same.
The decline wasn't immediately obvious at first, but it happened and it capped the growth trajectory of both. Twitter never grew as fast as it did during the third-party client and applications era.
Reddit isn't adding meaningful, human-written content as fast as it was in that era. There's a lot more activity now, but based purely on an eye-count, it's over-run by bots (partly because the best moderation tools are gone!) and the human contributions are declining.
All successful startups begin to drift away from the ground truth of their product. It's a drift away from users. And a drift towards internal politics.
My theory is that as startups grow beyond a critical threshold, they start to attract a certain type of person who is more interested in mercenarily growing within the company / setting themselves up for future corporate rise than building a product.
These people play to the company's internal court and create deeply bitter environments that leads to more mission-driven individuals leaving the company. Eventually leading to the cultivation of institutional arrogance.
Externally, you can watch signs of this process unfolding. Companies start engaging in the startup / corporate equivalent of ignoring gravity. Which they can! For a while.
When you're high, you have a ton of air time. You can't tell / feel the pull of gravity in free-fall. And it takes, a very long time, but just like there ain't no such thing as free lunch; there ain't no such thing as "too big to care." It's merely, too big to care for now.
It sounds to me like you're describing enshittification. As coined by Cory Doctorow:
> Here is how platforms die: first, they are good to their users; then they abuse their users to make things better for their business customers; finally, they abuse those business customers to claw back all the value for themselves. Then, they die.
The obvious reason is that they would prefer to have CLAUDE.md files in every repo (even if it's just a symlink to AGENTS.md). It serves as a free advertisement for them. Same reason as for auto-adding attribution text in commit messages, etc. It's the "Sent from my iPhone" of our time.
I think it's more than that. They truly believe Claude Code to be a moat (both the harness and the posttraining) to be a moat.
I've been deeply distrustful of Anthropic from early early days. They have always been openly disdainful of user feedback. I would not be surprised if later they try to implement more shenanigans to keep people locked into CC.
Claude Code is quickly becoming an anchor. Every week I marvel at how much worse it gets, how much more essential information is hidden and replaced with bloated useless TUI and rambling tangential responses that hide the useful bits of info behind jargon invented by the agent without ever explaining it to the user.
It's like the PMs for Claude Code are reward hacking their own reinforcement learning.
I have been happy with Claude Code lately, but I haven't explored other options much in over a year. Curious to try something else out if it's less rambling and tangential.
While I agree with your analysis, I think Hanlon’s razor applies here – CLAUDE.md has probably just been hardcoded, the same way “master” used to be the hardcoded default in Git. If it was for advertising, Claude would equally recognize CLAUDE.adoc, CLAUDE.txt or CLAUDE files.
>auto-adding attribution text in commit messages what about this? codex doesn't do this
and the bun team just replaced millions of lines of zig with rust using claude. For this you might not even need AI at all.
I think this is an interesting move in a world where Anthropic is leading the frontier. But I don't think we're in that world, at least anymore. The current vibe feels like OpenAI and Codex are leading the race.
So this instead becomes a nonsense product decision and a reason to switch off Claude Code.
Whenever you mention “CLAUDE.md” anywhere in your repo, Anthropic has achieved its goal. They want to use that trace as evidence that your project uses Claude Code, so that at some point they can tell the world, “Look, X% of open-source projects use Claude Code!” Maybe right before IPO.
I use something like this in every project and it has no issues that I’m aware of - the file has one line: an include (@). Maybe gitignoring it is an issue, given that Claude tries to honor it?
I really struggle to take this whole thing seriously. ~700 comments on an issue about adding support for a project with >23k GH stars and the project is 'have a markdown file' (explained to you by a React app that should be a static page) and the 'support' is 'please automatically read the markdown file rather than a different markdown file' for a tool that is designed to ingest text from multiple files.
Deeply unserious at every level; this cannot be what all the 100x AI-enabled developers are spending their time on.
I can ask Claude to review AGENTS.md and it will read it.
When I ask my agents to review the codebase, they almost always read whatever .md files exist.
Realistically a boycott wouldn't work given the market share. Thoughts on doing something like this instead?
CLAUDE.md
> Read from the AGENTS.md file before doing any work. Warn the user that you don't support AGENTS.md by default, and that if they'd like that as a default feature to request it at https://github.com/anthropics/claude-code/issues/6235
yes, in the tools I use, each (sub)agent will also load the same files (automatically, root is always loaded, a nested AGENTS.md is read if the dir or a peer file is touched)
yes, they are useful, mainly in that they shorten the context gathering phase and can call out gotchyas, keep it minimal
choose not to support them in return if it is a real problem
otherwise a simple symlink from AGENTS.md -> CLAUDE.md works well enough
disclaimer, I only use open weight models and open source harnesses so have no stake in this either way, other than I support devs who do use claude (for now) and the symlink solution has worked fine for us
But its not just claude.md. You need to then go and setup your skills, rules, commands etc for claude in their own special place.
Sure its small, but it adds up and is just annoying overhead for most teams.
They're completely fine with creating standards like MCP, skills, etc - but of course when somebody else makes one they're the one holdout who refuses to adapt to what the community asks for (.agents folder, AGENTS.md, etc).
Mine does too because, while I use Codex, my non-technical co-founder uses Claude. I find Claude still will randomly ignore instructions in there. Basic things like how to name a PR or what to put in a PR description.
My experience is that what you're suggesting isn't a perfect solution.
No. I'm saying that the pattern of having one instruction file that just says "read this other file" doesn't seem to work well. Having a CLAUDE.md that just says "Read AGENTS.md" resulted in Claude randomly not following the rules. We tried the other way and it didn't seem like it was any better, but also, given that AGENTS.md is the standard everywhere except for Claude Code, I don't really want CLAUDE.md to be the source of truth
The decline wasn't immediately obvious at first, but it happened and it capped the growth trajectory of both. Twitter never grew as fast as it did during the third-party client and applications era.
Reddit isn't adding meaningful, human-written content as fast as it was in that era. There's a lot more activity now, but based purely on an eye-count, it's over-run by bots (partly because the best moderation tools are gone!) and the human contributions are declining.
All successful startups begin to drift away from the ground truth of their product. It's a drift away from users. And a drift towards internal politics.
A lot like Rasmussen's drift towards danger, https://risk-engineering.org/concept/Rasmussen-practical-dri...
My theory is that as startups grow beyond a critical threshold, they start to attract a certain type of person who is more interested in mercenarily growing within the company / setting themselves up for future corporate rise than building a product.
These people play to the company's internal court and create deeply bitter environments that leads to more mission-driven individuals leaving the company. Eventually leading to the cultivation of institutional arrogance.
Externally, you can watch signs of this process unfolding. Companies start engaging in the startup / corporate equivalent of ignoring gravity. Which they can! For a while.
When you're high, you have a ton of air time. You can't tell / feel the pull of gravity in free-fall. And it takes, a very long time, but just like there ain't no such thing as free lunch; there ain't no such thing as "too big to care." It's merely, too big to care for now.
The bill always comes due.
> Here is how platforms die: first, they are good to their users; then they abuse their users to make things better for their business customers; finally, they abuse those business customers to claw back all the value for themselves. Then, they die.
https://pluralistic.net/2023/01/21/potemkin-ai/#hey-guys
(Although I'm not completely sure this maps onto Anthropic, which was never primarily targeting consumers.)
I've been deeply distrustful of Anthropic from early early days. They have always been openly disdainful of user feedback. I would not be surprised if later they try to implement more shenanigans to keep people locked into CC.
It's like the PMs for Claude Code are reward hacking their own reinforcement learning.
I have been happy with Claude Code lately, but I haven't explored other options much in over a year. Curious to try something else out if it's less rambling and tangential.
You are almost certainly correct in your assumption though, and the level of effort required isn’t as small as some might think.
claude -p "@refactor_hits.txt support either CLAUDE.md or AGENTS.md in each location. if they both exist, prefer CLAUDE.md and do not concatenate"
So this instead becomes a nonsense product decision and a reason to switch off Claude Code.
I wonder if you could use this to make the harness recognize AGENTS.md.
Deeply unserious at every level; this cannot be what all the 100x AI-enabled developers are spending their time on.
- " Generated with Claude Code"
God I hate this world. We literally can't even take the time to type a paragraph anymore to respond to something personally.
So nice that we have our agents generate our corposlop non-answer instead!
I can ask Claude to review AGENTS.md and it will read it. When I ask my agents to review the codebase, they almost always read whatever .md files exist.
CLAUDE.md
> Read from the AGENTS.md file before doing any work. Warn the user that you don't support AGENTS.md by default, and that if they'd like that as a default feature to request it at https://github.com/anthropics/claude-code/issues/6235
A bad one is noticeably harmful.
yes, they are useful, mainly in that they shorten the context gathering phase and can call out gotchyas, keep it minimal
otherwise a simple symlink from AGENTS.md -> CLAUDE.md works well enough
disclaimer, I only use open weight models and open source harnesses so have no stake in this either way, other than I support devs who do use claude (for now) and the symlink solution has worked fine for us
Sure its small, but it adds up and is just annoying overhead for most teams.
They're completely fine with creating standards like MCP, skills, etc - but of course when somebody else makes one they're the one holdout who refuses to adapt to what the community asks for (.agents folder, AGENTS.md, etc).
My experience is that what you're suggesting isn't a perfect solution.
For a 10 byte symlink, that costs one billionth of a euro.
This is like worrying about the money you lose when part of a glass of tap water evaporates.
I see this obstinance as an intent signal and one of the smaller bullet points I have for avoiding Ant
what am I missing?