Top
Best
New

Posted by datadrivenangel 4 days ago

Claude Code now reads AGENTS.md if there is no Claude.md(code.claude.com)
739 points | 286 comments
deaux 4 days ago|
It took the Shopify CEO tweet and Astra causing a large move towards Codex for them to finally give in. It's hard to believe it was worth it in the end. On the other hand, most people will forget about this saga in a few months, so sadly it may just have been worth it.
derwiki 4 days ago||
What was the Tobi tweet?
deaux 4 days ago||
https://x.com/tobi/status/2092259436538495186
perganomoly 4 days ago||
The fact that it took this long to add such a basic feature is a disgrace. I’m not even remotely satisfied. Bailed on Claude ages ago. Rolling Codex, Gemini, and Qwen3.8 30B. The only way I’m going back to Anthropic is if they drop and Culture Series mind.
thiht 3 days ago||
That’s a strong opinion for a mild inconvenience that’s trivially solved with a symlink
athrowaway3z 3 days ago|||
Its indicative of a pattern of behavior where they want to upsell you into their ecosystem and keep you there.

They don't even allow alternative harnesses on their subscription model. (But they do allow a agent-sdk that can pretend to be a generic compatible endpoint the alternative harnesses can use).

If you like your stuff overengineered, gated, and over-priced then by all means.

Its not even wrong from Anthropic because it's the path to most profit.

I'll take the opinion of people who have strong opinions about mild inconveniences.

Between my goals and Anthropic's bottom line, i want my goal to win out without needless inconveniences.

thiht 3 days ago||
These arguments have nothing to do with Claude supporting or not supporting AGENTS.md.
athrowaway3z 3 days ago||
> Its indicative of a pattern of behavior

If you think I'm wrong, and these arguments have nothing to do with it, just tell us what explains Claude not supporting AGENTS.md.

Was it such a grand engineering challenge? Too many 'legacy' projects relying on both AGENTS.md/CLAUDE.md and that has recently changed?

I've made clear my belief on the reason behind it - branding decisions outweighing utility.

Add something to the thread by sharing your version of a 'more likely' decision process that led to the choice to only now support it.

zeratax 1 day ago|||
not that i agree, but this is what an anthropic engineer said about this:

> Our reasoning for this was that we don't think that model families are interchangeable and the system prompt can have a big impact on performance.

https://x.com/trq212/status/2092302273099796842

thiht 3 days ago|||
Don’t forget the initial context, my point was that saying Anthropic is a disgrace for not supporting AGENTS.md was an overreaction, because it’s solved with a symlink.

I don’t disagree with anything you say, I just don’t think AGENTS.md ever was a big deal, just a small annoyance

jluysvi 3 days ago||
Bad take. You should feel bad.
kelseyfrog 2 days ago||
This kind of comment doesn't belong on hacker news.
arendtio 2 days ago|||
I think the problem is deeper. I mean, calling it claude.md in the first place is weird, and not adopting agents.md causes the ecosystem to fracture.

Sometimes, Anthropic has pushed standards (MCP, Skills), and that is great, but other times they have explicitly built incompatibilities. With the Plug-in marketplaces, it is quite similar.

chrisandchris 4 days ago|||
We have a CLAUDE.md file whose only content is "please read .agents/agents.md"
yjftsjthsd-h 4 days ago|||
Wouldn't symlinking it be faster and use fewer tokens?
ffsm8 4 days ago|||
I did that but not necessarily.

When prompted to write to it, it will always try to write into the Claude.md and error out with that approach.. It eventually figures it out, but it's a ymmv situation I think

tstrimple 3 days ago|||
It also works more reliably. I've tested this quite a bit. Instructions in files referenced via CLAUDE.md are more likely to fall out of context or to be ignored. Raw project level CLAUDE.md instructions are the second most durable available as far as I know. I used to have a "well organized" hierarchy of rules and instructions. Collapsing all of that into CLAUDE.md + skills made things far more predictable and "as instructed".
x______________ 3 days ago||||
Maybe I'm not up to speed but i deleted claude.md while testing weird opus 5 behaviors, it came back saying nothing was used in claude.md but rather storing context in memories.md in some .claude/projectname/memories folder in my user profile....

How is agents.md and different? Just a standard for other models? Is claude the lower standard now?

pranabsarkar 2 days ago||
[flagged]
pampas 3 days ago||||
Everyone does. But I think you're missing the point. It's effectively a billboard in the root of your repo.

Sent from my iPhone.

arceister 4 days ago||||
it's been a standard practice on open source projects, right? CLAUDE.md only have one sentence "read ./AGENTS.md", lol.
dainiusse 3 days ago|||
Imo it is a sign they got beaten by astra. Competition drives it. I didn't try astra pro, but even the regular beats fable 5, not to talk about opus
LeoPanthera 4 days ago|||
If you don't use Claude anymore, why do you care?
perganomoly 3 days ago|||
Because I care about products, their communities, and how company’s treat customers.

I was quite annoyed with Claude earlier this year when I had to maintain duplicate files or rely on symlinks.

Seemed like a waste of time simply because Anthropic didn’t want to take the “L” and accept that AGENTS.md was the new standard.

IMO, this kind of product decision making is why so many products either suck, or they’re are good but not great … and users have zero loyalty.

I find it super annoying this building lock in instead of loyalty approach to product seems to be standard practice these days.

fragmede 4 days ago||||
Because other people do, and those people previously would have CLAUDE.md files in their repos and not AGENTS.md files. When you have to work with them and their repos, you were forced to deal with the difference.
DeusExMachina 3 days ago|||
Isn't "deal with the difference" just renaming the file?
tstrimple 3 days ago||
Yes, but you see this is all part of Anthropic's master plan. They know developers are incapable of renaming files so the fact that Anthropic resisted Agents.md is proof that they were trying to lock you into them as a vendor.
desipenguin 3 days ago|||
symlink CLAUDE.md to AGENTS.md
JungleGymSam 4 days ago|||
[dead]
NullifyNAN 3 days ago|||
Yet it took Codex 8 months to get subagents after their introduction in claude code. This of course pales in comparison to having to symlink CLAUDE.MD to AGENTS.MD
stymaar 4 days ago||
> Qwen3.8 30B

404

perganomoly 3 days ago||
You’re right. Just checked LM Studio. It’s actually 3.8 27B. Got it confused with the 30B coder model that I’m playing with, too.
stillpointlab 4 days ago||
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.

reedlaw 4 days ago||
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.
saghm 4 days ago|||
Fable didn't want you to blame it for the limitations its creators gave it
cyberamirul 4 days ago|||
[flagged]
cyanydeez 4 days ago||
Justba prompt change.
Frannky 3 days ago||
I switched to oh-my-py and never looked back. I guess having an incentive to maximize (expensive) token usage, and LLMs degrading with higher context, isn't aligned with a user's best interest.

Oh-my-py unlocks max capabilities at the smartest token usage, and you can change AI company and providers while still getting things done. Roles, advisor, and the ability to use Chinese models on international providers with no training and ZDR behind OpenRouter are very powerful. You can have providers and model companies competing on price, intelligence, and speed for something that's useful but with less and less moat as model progress plateaus.

I now use GLM 5.3 for slow/planning, GLM 5.3 Flash as the default task-vision model, and DeepSeek Flash 4.1 as the advisor. Providers are ordered by cheapest at the minimum TPS I want for that model. I use it not only for coding but also as a personal assistant. I can ask it things and it gets them done automatically, like opening an issue on a repo, then having another agent ship the code, run the tests, and update master after having changed the app to autoupdate on cut release.

I can also ask it to do groceries. I use Bitwarden machine secrets and a limited virtual card connected to my phone.Something else that's very powerful is asking it to launch parallel agents to do things you know don't overlap too much.

The amount of agency we're gifted with is crazy, you can now move hundreds of hours of work with one hour of input using an open-source harness and open-weight models. I can't wait for more competitors in the chip space, and to be able to buy models etched on silicon for even higher agency, speed, and independence.

desipenguin 3 days ago|
Do you mean oh-my-pi (omp) (https://github.com/can1357/oh-my-pi/)

I also use the same. But I use Anthropic models (Opus 5) with it.

Frannky 3 days ago||
yes
clutter55561 4 days ago||
Don’t get too excited, Claude code still won’t detect skills on .agents/skills.
vb-8448 4 days ago||
They have AGI, but they don't have $20 of token budget to add a so basic functionality.
bel8 4 days ago|||
They probably have an explicit instruction in their own CLAUDE.md to not implement that support.
oofbey 4 days ago|||
If not a system prompt telling it not to read those files unless explicitly told to.
sscaryterry 4 days ago|||
Its the only explanation. I mean, they are not living under a rock...
vb-8448 4 days ago|||
I heard some of their employees sent to do some PR in podcasts: they are definitively disconnected from the reality.

Maybe internally they see really unbelievable things, but my impression is that they pushed so hard on agents that they don't have the grasp of the situation.

falcor84 4 days ago|||
As evidence that they actually are living under a rock, there's still no proper way to mv a workspace and have it retain all its history and config.
KetoManx64 3 days ago|||
I get that it would be nice to have it first party, but they're all just json files that you can just do a bulk awk/sed on. I did this a week ago for about 100 conversations when migrating my convo history to a different username.
nextaccountic 4 days ago||||
I suppose you can use claude to build a third party script / cli tool that moves, then edit files on ~/.claude

They win either way

yoavsha1 4 days ago|||
this is seriously nuts. I have so many repos sitting there using old/deprecated/replaced names just because of their idiotic decision to place dir-specific config and memories in ~/.claude
albert_e 3 days ago||
Should we be able to manually rename those history folders to make the session history show up as --resume options in a new folder?
NiloCK 4 days ago||||
Artificial General Intransigence
perganomoly 3 days ago||||
Seriously, it’s unbelievable. Shows a serious lack of either understanding or empathy for how people use their product.
vb-8448 3 days ago||
They just care much more about their user's data.
arendtio 2 days ago|||
Claude isn't that cheap anymore ;-)
nomel 4 days ago|||
A post-checkout git hook can handle this unfortunate situation.

  mkdir -p ~/.githooks
  git config --global core.hooksPath ~/.githooks

  cat > ~/.githooks/post-checkout <<'EOF'
  #!/usr/bin/env bash
  if [ -d .agents/skills ] && [ ! -e .claude/skills ]; then
      mkdir -p .claude
      ln -s ../.agents/skills .claude/skills
  fi
  EOF

  chmod +x ~/.githooks/post-checkout
springtimesun 4 days ago|||
This is where I landed when a recent(ish) change broke symlinking for rules files. I didn’t like how hacky it was a first, but now I’m glad I did it. The same hook drives specific rules the non-Claudes get per repo.
ahurmazda 4 days ago||||
Won’t you have to do it recursively for all child directories?
verdverm 4 days ago||||
we shouldn't have to do this on a per-repo basis, Ant can choose to be a reasonable member of the ecosystem or not
nomel 4 days ago||
Sure, but I have work to do. ;)
northbridgedev 4 days ago|||
[flagged]
jjordan 4 days ago|||
Don't worry, it's on the roadmap for Q4 2029.
Sugimot0 4 days ago||
I honestly hate .agents it's a big XDGBDS offender. Almost every plugin / lazy platform harness tries to use that dir too so I have to do a bunch of hacks to keep my $HOME clean. Also everyone tries to use a .claude .gemini .codex etc. Annoying that all these tools just completely ignore these things, it's literally like litterers you know it'd be terrible if every tool did this, but you still do it anyway
throwaw12 4 days ago||
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

odjeifnejdjej 3 days ago|
A for profit company that’s bleeding money, is not profitable and has an unsustainable business model that’s about to burst its banks at any minute does not actually care about the needs of its customers, only their money?

Shocker.

rukuu001 4 days ago||
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.

ryandrake 4 days ago||
Had a silly exchange with Codex: I had an AGENTS.md file in a directory that was a symlink to an already-created CLAUDE.md. On my first prompt to Codex, it decided to point to me that my AGENTS.md specifically calls out directions to Claude, and that it would generously re-interpret them as directions to itself, and that maybe I should fix my AGENTS.md to reference the correct agent.

Very sassy, Codex!

DANmode 4 days ago||
That’s pretty funny.

Also: did it suggest instructions for the “correct” agent, or an ambiguous agent?

One has marketing implications, the other one is generally decent advice.

ketzu 4 days ago|||
When I setup a global agents.md/claude.md for its communication style, I got the following response during the next session:

> The function you added is load-bear-very important [...]

I never felt this mocked by a computer.

katzgrau 4 days ago||
But if you said that you were migrating from another platform to Claude, my guess is that it would have happily found and converted AGENTS.md
albatross79 4 days ago||
CC is such a bloated POS by this point that only full on AGI could have implemented this feature. Congrats guys. Maybe with Super Intelligence they will be able to make it actually respect the instructions in there too.
boorang 4 days ago|
The system reminder explicitly tells it that the CLAUDE.md or AGENTS.md content is optional. I believe this is a big part of why CC doesn't heed the instructions alot of the time:

IMPORTANT: this context may or may not be relevant to your tasks. You should not respond to this context unless it is highly relevant to your task.

https://github.com/anthropics/claude-code/issues/18560

boorang 4 days ago||
Claude Code wraps both the AGENTS.md and CLAUDE.md in a system-reminder with this disclaimer at the bottom:

IMPORTANT: this context may or may not be relevant to your tasks. You should not respond to this context unless it is highly relevant to your task.

Codex follows the AGENTS.md far better. CC seems to have nudged people away from taking the CLAUDE.md as mandatory instructions.

This bug was closed Not Planned and from a recent analysis of the system prompt the behavior is still there even with the new inclusion of AGENTS.md.

https://github.com/anthropics/claude-code/issues/18560

bryanhogan 4 days ago|
What worked well previously was to have the Claude.md file contain just "@AGENTS.md".

But this is a good change.

The world of managing skills between providers still feels messy though.

bengt 4 days ago||
I’d argue this is still the better way. We used to simlink too, but @AGENTS.md with any Claude specific additional steering below it is the best way.

https://code.claude.com/docs/en/memory#import-additional-fil...

albert_e 3 days ago||
If this continues to be a thing ...one might actually imagine a good system where we have AGENTS.md with all generic agent instructions and a bunch of harness specific files like CLAUDE.md, GEMINI.md, and CODEX.md that all add whatever nuance and nudging each harness seems to individually require
OliverGuy 3 days ago||
I like this, but can we not have any of this in the root of the repo cluttering it up with the harness specific instructions for a half dozen plus different harnesses. Something like a dot agents dir
kermitime 4 days ago||
check out skillshare. or just manage/curate from ~/.agents and symlink to the harness settings directories you have installed
More comments...