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.
This is not necessarily a problem with the harness (IE, swapping from Claude Code wouldn't necessarily fix this).
If what you're looking to avoid is specifically 'rambling and tangential', you can get quite far with anything that adds directives to avoid those things, early in every context window. Ie, through use of Agents.md/claude.md, skills, hooks, and so on.
Changing model would also affect this. Fable 5, Opus 5, and Sonnet 5 are all going to average out to different levels of ramble. Openai, Xai, Google, etc; different providers models will also have different levels of ramble.
What Claude Code does take away from you is some level of control over what makes it into the context window. The system prompt which claude code append to the beginning of every session of course has measurable ramble-affect.
I quite like the Pi harness, most in part because important goal with the approach behind it is "give the user as much control over what makes it into the cotext window as possible."
Codex TUI is also good. Haven't touched it since moving to Pi however. Again- harness isnt the big "stop rambling" thing to change, tho.
The sub only works in Claude Code itself (unless they changed that rule again?), and all the Chinese models are trained on Claude Code (a bunch of them don't even work in Codex).
I use a custom harness, but I constantly hear good things about Pi.
EDIT: Checked out Pi and Oh-My-Pi. 250k LoC and 1.5M LoC respectively. Sheesh. How's that for minimalism...
Vendored in my own LLM micro library (100 LoC) so it's 150.[0]
There's no parallelism or anything, but I use it for surgical edits and it's much faster and cheaper than the official harnesses for some reason. (Absence of sysprompt bigger than my repo probably helps there...)
[0] This one uses OpenRouter so you can use it with any model, but jerry rigged Codex sub version available on demand :)
---
I also have a ultra turbo bloated version (500 lines... need to strip it down a bit!) which has autorun files (for grep-based context injection), notification (frog croak when agent done, etc.) Watch this space!
New guidelines that I have seen in a certain place is to configure and update existing CC setups to be CC/Codex agnostic. Plus setting up both allows Claude Code to delegate tasks [1] to Codex to reduce usage.
Oh my god, that's an official plugin. That's hilarious. I had the same idea last year, when I noticed how much cheaper GPT was for the same tasks, but Claude was still better as a high level "operator".
Also cause OpenAI was cool with you calling their sub in an automated way, but Anthropic very much was not (they were banning people at the time).
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 propose that Claude Code adopt a dual-file approach that prioritizes its native format while gracefully falling back to the open standard.
I'm having flashbacks to the fact that GNU make reads GNUmakefile before Makefile, so it's possible to write one makefile using GNU extensions and another that works on BSD or (back in the day) commercial unix.
It’s easy to end up with bunch of old stuff in AGENTS.md that latest models no longer need and what might just confuse them. See for example the story about Anthropic cutting 80% of their system prompt [1].
Maybe they feel just using the AGENTS.md written for another model and possibly different era gives bad user experience.
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’ll also include entries in the .github dir in project repos doing same thing in case anyone working on it happens to use GitHub copilot via vscode will also pick up on the AGENTS.md as well as any skills I might have cooked up for the repo.
(Though it’s mostly because I don’t trust team members to read the docs and the skills I made are meant to guide following standards for the project - and this approach almost incepts the standards for anyone not paying attention)
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
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.
How exactly does Claude Code* not support AGENTS.md?
How exactly does the Claude suite of Models not support AGENTS.md?
The problem being pointed at in parent linked is referring to the Claude Code Harness not supporting AGENTS.md. Harnesses which do support it (eg codex), append the content to the initial model turn upon the model discovering it at the project root.
* Or Claude Code Tui, Claude Code desktop, Claude Cowork, Claude Desktop, Claude Design, Etc.
(Edit: i wish I could tattoo the distinction on ny forehead. Im vocal about Anthropic engineer-oriented tools being lackluster, and i frequently find myself in conversations where I have to stop a coworker and ask if they're talking about a platform, tool, or model- and which, depending on the answer. I feel like those two things together make me come off somewhat abrasive, but man, we're all engineers here.)
Claude code will only read the other .md files after you take a turn to prompt it, not when the session starts. So if I run `/clear` it will retain the CLAUDE.md context but not AGENTS.md.
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.
reply