Claude Code reads AGENTS.md only when telemetry is on [fixed] (blog.szypowi.cz)

426 points by pszypowicz 10 hours ago

mpoteat 9 hours ago

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.

mpoteat 9 hours ago

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.

amluto 7 hours ago

I skimmed a couple pages of the docs at:

https://github.com/user-attachments/files/31802150/EXTERNAL....

Might I gently suggest that you have a model at least as capable as Opus 5.5 translate that from Claudish to English? Or, even better, have an actual human work on the docs a bit? As it stands, they are fairly egregious, and they seem to devote at least as much space to little AI-generated quips that convey no meaning than to actually explaining what’s going on.

Also, maybe a human should decide whether these are “function” hooks or “module” hooks. All of this marketing calls them “function” hooks, but the json config seems entirely unaware of this.

(Has anyone else noticed that half the sentences in Claudish aren’t merely weird: they are noun phrases and not sentences at all? I’m pretty sure that any decent pre-LLM NLP-based grammar checker would correctly flag half the sentences in Claudish. Also, whatever variant of Claude wrote this thing can’t even capitalize around semicolons consistently with itself, let alone consistently with how English has been written for at least a century.)

edit: Fixed the link. Thanks, kaszanka.

mpoteat 7 hours ago

JDups 2 hours ago

kaszanka 7 hours ago

dogleash 7 hours ago

rickette 9 hours ago

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.

xandrius 8 hours ago

pdpi 8 hours ago

stingraycharles 9 hours ago

sebmellen 4 hours ago

flippingheck 8 hours ago

pasteleft 3 hours ago

wldcordeiro 6 hours ago

chrisweekly 8 hours ago

chrisjj 8 hours ago

verdverm 7 hours ago

bakugo 8 hours ago

rmnclmnt 7 hours ago

oblio 9 hours ago

locknitpicker 9 hours ago

63stack 7 hours ago

>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.

An extensibility system called mods, which is a plugin with a new type of hook that we call function hook?

I can't tell if this is real, or you are making fun of overengineered AI solutions.

Is this real?

glub 6 hours ago

I've developed several plugins for different harnesses, and I needed some upstream change for most of them.

The deciding factor for me whether or not I will work on the feature of the plugin is whether I (or rather, my agent) can look in upstream source and evaluate if it can be done with minimal upstream change, which I then contribute. And generally, even if no upstream change is needed, agents work so much better when they can read the code.

So why not just make Claude code open source? Considering also that source code was leaked once anyway.

d5lt5 8 hours ago

Sounds like you've read the deepseek harness paper.

dybber 8 hours ago

Will you extend your plugin to read skills and rules from `.agents`? Or should we write our own plugin/mod for that?

troupo 3 hours ago

> The AGENTS.md support was implemented via our new extensibility system for CC, called Mods,

AKA "we need 100~ish files wrtitten in the most horrible Clean Code style replete with no two files agreeing on the same naming of the same feature... to read one of two files, one of which has been a de-facto industry standard for over two years"

c0rruptbytes 7 hours ago

mods seem like a grasp at all the pi and dsh users

crooked-v 3 hours ago

This may or may not be related, but if you're working on CC, who do we have to annoy to make Anthropic stop trying to force use of arbitrary Bash commands instead of the actual tool calls built into the harness? (https://github.com/anthropics/claude-code/issues/90450, https://github.com/anthropics/claude-code/issues/89251, etc) It's deeply infuriating at times that there's this full system of hooks, permissions, etc that's unusable at times because CC keeps trying to make the model not use any of it.

OtherShrezzing 9 hours ago

>Apologies again folks, this was a fully human error on my part

Blink twice if you need help

anon48293 8 hours ago

Or add one additional telemetry metric and an extra prompt

callmeal 4 hours ago

piltdownman 9 hours ago

Much respect for the prompt response, humility, and frank disclosure.

dotancohen 7 hours ago

So what Anthropic calls "telemetry" is really "telechangeability"? That's sits with me even less comfortably than did the idea that some features are only available with telemetry enabled.

dannyw 4 hours ago

I’d just assume good intent here. Feature flags, telemetry, and fast rollouts / rollbacks are standard practice in software. Have a look at chrome://flags perhaps.

I fully believe GP that there was zero intent to gate this behind collecting telemetry. Sounds like a little tech debt and a little oversight, and the simplest explanation is that it is.

stravant 6 hours ago

That's just how big companies roll out software changes for software that auto-updates.

It's much preferable to be able to instantly fix it if the rollout of a new feature goes wrong than have everyone who installed the broken version bring stuck with problems until the company realizes the issue and rolls forwards with a fixed version.

https://martinfowler.com/articles/feature-toggles.html

VulgarExigency 6 hours ago

tyre 25 minutes ago

Seems like they overloaded whatever they use for telemetry to do feature flags.

It’s not a crazy conspiracy. They messed up, it’s fine.

post-it 7 hours ago

Not necessarily. They probably have an integrated service that handles some telemetry and also feature flags, like Braze. They toggled the whole thing off based on telemetry settings. It's a bug I've made before too.

aviperl 9 hours ago

Ouch.

I've had to send such messages, but internally at work, not on HN!

Have a great day, human.

crossroadsguy 5 hours ago

Hey, it seems you work there. I had a tangential question. Did any Anthropic exec threaten to do something unsavoury if any engineer ever tried to not name the claude cli binary as the version number itself? Because if they did, I'd understand. Or if you dare change it all the vibe-coded ts/react/etc dominoes will go for a fall in unison? I'd understand that too.

saadn92 7 hours ago

Thanks for admitting to the mistake, but my understanding was that coding was fully solved now?

michaellee8 9 hours ago

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.

jimmaswell 7 hours ago

Why would I ever do that to myself? My experience with Codex/GPT is fantastic, while my impression of Claude/Opus is that it's longwinded, patronizing, token-inefficient, stops to ask stupid questions every other minute, overcomplicates simple tasks, often poor engineering overall. I don't use it but this is what I see my partner run into who has access to both and compares them often. She has the same assessment.

michaellee8 7 hours ago

enraged_camel 7 hours ago

d5lt5 9 hours ago

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.

vikramkr 7 hours ago

bpodgursky 8 hours ago

cowboylowrez 8 hours ago

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?

serf 7 hours ago

> ...if Anthropic can keep it up with this level of service...

fuckin laughable, literally invoked a laugh from me in real life.

I hope customers aren't so stupid that they think a chatty developer on twitter/hn/mastodon/screaming-in-the-wind/wherever (or any other public-facing-place) means shit about customer service, and that goes towards ANY company where the primary customer service is an LLM.

Anthropic is the only company where it took (!) 9 weeks (!) to convince to hand over a 4 dollar refund for book-keeping errors on their side that caused an inappropriately early account deactivation due to time zone issues on their end, while all the while telling me that they don't offer refunds. It took stacks of evidence and argument, and that was after spending two weeks in their system trying to convince every level that I was worth a human.

For me personally it'd require Dario to resort to armed mugging to see another buck out of my wallet. I'm not alone.

tl;dr : being able to convince the powers that be on highly active industry forums (hacker news, twitter, mastodon..?) to act right using the power of peer shaming doesn't good customer service make. That said -- I do appreciate the direct response/statement from mpoteat;

..I just don't appreciate the good actions of a decent individual being too broadly interpreted as the do-good customer-centric nature of Anthropic .. an element I do not believe exists there.

scottyah 5 hours ago

nozzlegear 5 hours ago

Do yourself a favor: ditch both and go local.

BowBun 9 hours ago

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.

user43928 8 hours ago

m3kw9 8 hours ago

Sure a fast response on HN would make people switch. Try better rates, infra, limits etc.

saghm 5 hours ago

I can understand honest mistakes, but like, usually when I develop anything with agents (which I assume is what you're doing internally at Anthropic), they're almost too enthusiastic about trying to add test cases to the point where they sometimes try to glue together things in ways that are structurally impossible in the actual code in order to try to test that behavior. I'm honestly a bit mystified that adding a new feature didn't get bundled in with tests that the feature works for arbitrary configurations.

fg137 9 hours ago

> a fully human error

Would be interesting to know how much time you/your team spent on that design decision

rachr 8 hours ago

The correct design was in the AGENTS.md but they didn't have telemetry on

grim_io 9 hours ago

The same guy writing readme's for my vibeslopped toy projects is also the readme writer at Anthropic, what a coincidence ;)

troupo 3 hours ago

> Sorry folks, this is a rollout artifact

Aka: "an issue even a junior would've spotted if we didn't rely on Claude of 100% of our tasks"

baq 6 hours ago

It was obvious this was the reason, it’s a very easy thing to forget about

yangcheng 6 hours ago

is there reason I can't update claude to 2.1.281? I just run claude update

> claude update Current version: 2.1.280 Checking for updates to latest version... Claude Code is up to date (2.1.280)

senko 8 hours ago

I hope disabling /r if telemetry is disabled is also unintentional...

davidmurdoch 8 hours ago

How are you planning to turn this off remotely when telemetry off?

quintu5 4 hours ago

If it’s like other CC features that depend on telemetry being enabled, disabling telemetry will turn off the feature.

lukewarm707 7 hours ago

is it common to deploy software with a remote kill switch installed?

harry19023 7 hours ago

yes? feature flags have been a thing for a long time.

lukewarm707 6 hours ago

Maxion 9 hours ago

Well now, this is how you do community outreach

h1fra 7 hours ago

people are overeacting

owebmaster 6 hours ago

telling people Anthropic remote-control their users computers isn't the smartest thing to do

scottyah 5 hours ago

Lol that's literally the entire point of the software, you install it just so the program can talk to a remote server to make changes on your local computer.

mococa 7 hours ago

"Claude, deploy yourself to a bunch of idiots, f** the bugs"

samyar 7 hours ago

valid

ndbe 9 hours ago

I don't understand, isn't coding solved already?

mort96 8 hours ago

"Rollout artifact"? This is Claude-speak isn't it? I have never ever heard anyone call a bug like this a "rollout artifact" before.

ako 8 hours ago

I was probably an agent that made the change, and the same agent that commented here on HN.

criley2 8 hours ago

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™".

mort96 8 hours ago

chrisjj 6 hours ago

bbor 7 hours ago

Feels pretty normal to me, IDK. "Rollout" is definitely what was happening here, and this leftover problem can be described as an "artifact" most generally - I guess otherwise it'd be a... just "problem" or "mistake"? Cause "bug" doesn't really fit. Plus, the Claudism here would definitely involve "soak", and possibly even "wall-time" lol

IMHO it's worth keeping in mind that Anthropic employees are some of the least likely to casually pass off artificial prose as authentic, given the company's ethos/brand/cover story (depending on how cynical you are). To them this is all getting pretty high stakes pretty damn quickly; based on my usage of full strength Opus 5.5 today, I can't even imagine what working with their full internal stack must feel like. If they were willing to let the machines speak for them, they'd all be melancholically lounging around home by now instead of coming in to work!

...I am refusing to consider the fact that they probably are still WFH because of Salesforce forcing their shared security contractor to strike. Call that a mental health ignorance on my part :)

sandrello 9 hours ago

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.

HotHotLava 8 hours ago

"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.

code_runner 8 hours ago

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.

code_runner 8 hours ago

t-writescode 7 hours ago

archonis 6 hours ago

hgoel 9 hours ago

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.

Agentlien 9 hours ago

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.

crazygringo 9 hours ago

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".

fg137 8 hours ago

One thing I do know is that an Anthropic employee is definitely NOT going to blame this on the model they are using.

pasteleft 2 hours ago

I don't understand what you are talking about. Vibecoding IS a human error.

q3k 9 hours ago

> 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.

crazygringo 8 hours ago

tpurves 9 hours ago

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.

lucfranken 9 hours ago

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.

fg137 9 hours ago

This is what's written in their release notes for 2.1.277:

> Added AGENTS.md support: in a project with no CLAUDE.md, Claude Code reads AGENTS.md instead

My dumb brain tells me none of this is rolled out progressively (as of that version). You either have it or not.

nijave 8 hours ago

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.

arrowsmith 9 hours ago

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.

shermantanktop 7 hours ago

I don’t understand why people are confused about the use of a launch flag, for this and for anything.

It’s a simple distributed systems problem. Separate the deployment of a new software feature (to umpteen hosts) from the triggering of that software with a lightweight switch.

If someone think that reading AGENTS.md is always benign, because they can’t imagine how it could be a problem…users are very creative.

petters 7 hours ago

Exactly! I can not believe this is in the top spot.

throwuxiytayq 7 hours ago

Meanwhile, Codex devs just merge their changes and hit the release button. If a thingy breaks, they fix the thingy and release a hotfix. How irresponsible! It’s a miracle the software works at all!

fg137 8 hours ago

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.

nfRfqX5n 9 hours ago

Crazy part is: can’t tell if this intended or a bug

serial_dev 9 hours ago

Someone on the Claude Code team is probably wondering the same...

kennethops 9 hours ago

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

vaylian 9 hours ago

Can you think of a bug that makes sense in this case?

hgoel 9 hours ago

Vibe coding

thejazzman 9 hours ago

jpitz 9 hours ago

Assuming that it's intentional, what's the motivation?

kriro 9 hours ago

Razengan 9 hours ago

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.

nibbleyou 9 hours ago

I cannot set a password for login, on logging in it says we've sent a login code but it's a link instead...

jaapz 9 hours ago

many of these can also be chalked up to the fact that all of their products are extremely vibed

vorticalbox 9 hours ago

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

MPSimmons 7 hours ago

Couldn't you just make a CLAUDE.md that says, "Read AGENTS.md in this same directory"?

scottyah 5 hours ago

yes, or a symlink.

quintu5 7 hours ago

And I’m sure there’s no conceivable way an organization as well resourced as Anthropic can separate out feature flags from telemetry. It’s just too complicated! Maybe when we get AGI?

tjoff 9 hours ago

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.

jdlyga 7 hours ago

You're absolutely right! AGENTS.md shouldn't be gated behind telemetry on

msp26 9 hours ago

Claude Code Remote control only works with telemetry enabled too.

pszypowicz 8 hours ago

Yeah, no thank you. This was why I polished my setup for VPN -> SSH -> [MOSH] -> TMUX -> claude/codex

sschueller 7 hours ago

If they can't even get this simple thing right, I am worried about the future of anthropic's products.

cowpig 9 hours ago

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.

stravant 6 hours ago

Embarrassing for HN to have a huge thread over a Feature Flag.

https://martinfowler.com/articles/feature-toggles.html

p5v 5 hours ago

I’ve long since been having a pro-forma CLAUDE.md, referring to @AGENTS.md in all of my projects. Still works fine.

0m13 9 hours ago

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?

Traubenfuchs 9 hours ago

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 software engineering is solved?

geophph 8 hours ago

Turns out AGI boils down to two markdown files:

claude-md-or-agents-md

claude-md-and-agents-md

teekert 9 hours ago

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?)

ChrisArchitect 8 hours ago

Related:

Claude Code now reads AGENTS.md if there is no Claude.md

https://news.ycombinator.com/item?id=49760187

BiteCode_dev 8 hours ago

Anyway, my claude.md contains only this:

@agents.md

rvz 9 hours ago

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

pbasista 9 hours ago

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

Edit: The linked repository does not contain source code for Claude Code, the harness, itself. It only contains the source code for (some) scripts, mods and plugins.

SyneRyder 8 hours ago

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.

pbasista 7 hours ago

wccrawford 8 hours ago

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.

sunaookami 8 hours ago

That's not the source code. Claude Code is proprietary.

chrisjj 9 hours ago

Vibe-coding at its best.

pmlnr 9 hours ago

Urm... no tests caught this? How?

mrguyorama 7 hours ago

Wait wait wait WAIT

So, these tools have a file they want to read in with some configuration.

That filename is hardcoded?

Fucking DOOM had a command line parameter to provide an arbitrary configuration file name!

That's completely irrespective of the fact that you need a feature flag set by remote infrastructure to change a setting of which completely local file to read.

It's weird, I feel like Claude would have tried to make this a configurable setting by default! Is that just not an option in JS land? Not a common pattern to have configuration in the first place? I don't know about that, all the JS based code editors have comprehensive configuration files.

What the hell is going on....

scottyah 5 hours ago

I absolutely detest software that needs to have a configuration for every single parameter. CLAUDE.md was a new concept they created, and having it local in a directory is a blessing. If you:

1. really REALLY care what the file name is

2. Can't put in a symlink

3. Don't want to write into that file to look at other files (which is the standard practice of the entire skills framework

4. Cannot even think to ask the model how to come up with many solutions

Then I postulate you should stick to the mobile app, computers are too complex for you.

gmponyo 9 hours ago

This is not the only case where Anthropic has done stuff silently without giving users any information about changes that would hurt them.

mgaldys4 9 hours ago

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.

tehlike 9 hours ago

Not everything is malicious. The author of the feature already responded on why this happened

chrisweekly 8 hours ago

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.

tehlike 7 hours ago

lukewarm707 7 hours ago

it is indefensible.