Hacker News

Best stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. Microsoft exec called AI scraping 'the largest theft of labor in human history'(techcrunch.com ↗)
    752comments
  2. I don't like passkeys(hawksley.dev ↗)
    710comments
  3. Hister: A private search engine for the pages you visit and the files you keep(github.com/asciimoo ↗)
    189comments
  4. Bend – a language that blocks AI mistakes via proof and runs on GPUs(bend-lang.com ↗)
    302comments
  5. Astra for Law(openai.com ↗)
    667comments
  6. Bonsai 2 27B: Near-Lossless Compression in a 9x Smaller Footprint(prismml.com ↗)
    188comments
  7. OpenJev(openjev.com ↗)
    239comments
  8. Cloudflare Quick Tunnels(cloudflare.com ↗)
    235comments
  9. A heap overflow and SSO misconfiguration to compromise OpenAI internal repos(hacktron.ai ↗)
    197comments
  10. Android 17 is the first since 3.x to add new APIs without releasing to the AOSP(grapheneos.social ↗)
    200comments
  11. Claude Code now reads AGENTS.md if there is no Claude.md(claude.com ↗)
    148comments
  12. How GLM built its own inference infrastructure(z.ai ↗)
    278comments
  13. CCC invites all model citizens to 40C3(ccc.de ↗)
    222comments
  14. US Military had close call after using AI for hallucinated intelligence report(cnn.com ↗)
    287comments
  15. How to Write with an LLM(sockpuppet.org ↗)
    254comments
  16. Everybody's Lost Their Minds(netmeister.org ↗)
    318comments
  17. One year of sponsored Servo development(servo.org ↗)
    144comments
  18. Iran school bombing: grounds to believe US was behind atrocity, UN finds(theguardian.com ↗)
    303comments
  19. Qwen 3.8 Omni Flash(qwen.ai ↗)
    125comments
  20. Jemalloc 5.4.0(github.com/jemalloc ↗)
    87comments
  21. AI safety is mostly a sex cult(skywriter.blue ↗)
    259comments
  22. Neovim have a ~$800k Bitcoin donation sitting untouched since 2023
    264comments
  23. Bend 2 and the Vibe-Coding Trap(liampwll.com ↗)
    228comments
  24. Warren Buffett Steps Down as Berkshire Chairman, Names Son to Replace Him(nytimes.com ↗)
    187comments
  25. Keys Not Included: recovering the signing keys for US driver's license barcodes(ryan.science ↗)
    152comments
  26. Canada welcomes EU proposal to become 'associate member'(bbc.com ↗)
    346comments
  27. Why I didn’t sign the Fields medallists’ letter(gowers.wordpress.com ↗)
    396comments
  28. The scourge of x86 emulation(fex-emu.com ↗)
    80comments
  29. ZCode, the GLM coding agent, silently uploads your Git history(tokenstead.ai ↗)
    13comments
  30. The American Religion of Self-Storage Facilities(newyorker.com ↗)
    441comments

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

394 pointsby 2h agocode.claude.com
142 comments
2h agoHN ↗

Great, now I have to redo my scaffold harness. I guess this agent.md awareness is part of the system prompt?

2h agoHN ↗

First feature to borrow after peaking into openai repos? ))

2h agoHN ↗

Finally doing something standards-compliant instead of forcing users into a proprietary workflow.

1h agoHN ↗

Wake up babe, new recursive self learning technique just dropped.

1h agoHN ↗

Why not hardlink - so it wouldn't even know?

1h agoHN ↗

Because Git can track symlinks and not hard links since they look like ordinary files.

1h agoHN ↗

I tried that before, it doesn’t work. Claude will not prioritize AGENTS instructions the same way it did for CLAUDE.

ln was the only thing that worked for me

1h agoHN ↗

fwiw, i am with thariq https://x.com/trq212/status/2092302273099796842 in that prompts should be tuned for models and in fact blindly applying agents.md is probably an antipattern unless you want all models to basically converge to some common ill defined of instruction following - good local minima, bad global minima for model diversity and exploration of intelligence.

aka, sometimes it really is too early to force a standard

1h agoHN ↗

No thanks, I'm not tuning a bunch of files just for things to break when I switch models or a new one comes out.

I'll just use my one-size-fits-all AGENTS.md file and tweak it when the one of the clankers screw up. I don't have time for such busywork.

Actually, I will append extra rules to CLAUDE.md (which imports AGENTS.md) since there is a hook there, and Claude has its own foibles. So I'll backpedal a bit there.

1h agoHN ↗

Yeah but are models good enough to review these files and say “i would work better if you worded it this way?”

1h agoHN ↗

depends what you're doing. if you've got a specialized agent deployed in prod, of course your evals and prompts will be targeted towards 1 specific version of a model.

on the other hand if it's just a local coding/"use my computer" agent, i highly doubt the effort in maintaining different prompts is worth any gain in performance

1h agoHN ↗

That's of course rather nonsensical.

In a "one LLM only" environment, your instructions are by default tuned for said LLM.

In a multi-LLM environment, roughly nobody will keep separate sets of instructions for each. It's not a realistic take.

On top of that: If your LLM is so bad at reading that it can't follow a set of instructions that wasn't specifically written just for that one single precious LLM, I sure wonder what that says about your employers repeated statements that ASI is definitely right around the corner.

1h agoHN ↗

By this logic you'd probably be wise to tier your claude.md by model (sonnet/opus) as well as effort level too, considering the varying failure modes

37m agoHN ↗

except they have similar pretrain/rlhf data which is the thing u really want to tune for

5m agoHN ↗

YMMV but for me even models in the same family fail in different ways, and every incremental update changes it

1h agoHN ↗

I have had very little luck with agents.md. What has worked well for me is a ./docs folder. They seem to just create and update stuff on their own.

1h agoHN ↗

If you want this it's trivial to add an AGENTS.md that simply says "if you're Claude read CLAUDE.md, if you're Astra read ASTRA.md". A common entry point is good regardless.

1h agoHN ↗

This wastes both tokens and turns. But yes it's probably the best option we have today.

1h agoHN ↗

Wasting turns? That is silly, use a better harness. Also token usage can mitigated by incremental discovery instead of stuck 5k+ worth of tokens in the AGENT/Claude md file.

53m agoHN ↗

Every turn means more tokens in ways that are not obvious to most people and lead to tons of unnecessary cache reads.

No harness can batch your agents.md read with the reads the contents of the file tell it to read.

53m agoHN ↗

It can try its own file and fall back to generic like here. What's wrong with that?

1h agoHN ↗

Is it realistic to rewrite your AGENTS.md every six weeks? That's about how often Anthropic releases a new point release of Opus.

37m agoHN ↗

It looks for Claude.md first so I don't understand what you think the problem is with the standard name as a fallback.

1h agoHN ↗

I'm honestly not sure if this is tongue in cheek and the "finally" is in the silly way it is often used, but the claude.md variant existed first. Indeed, the agents.md thing was pretty clearly a "that's neat, let's do that with a different name".

1h agoHN ↗

It's "finally" because people have been asking for it for a long time. No one cares that "claude was first," what they want is for Ant to follow the conventions and not put extra work on us. This was such a minimal thing to do, and considering how much they vibe and claim "coding is solved," we thought it would not be too difficult to respect AGENTS.md, so finally seeing it happen, while nice, is too late for me. I've moved on from Big Ai and only use open weight models now.

1h agoHN ↗

Trying to make a .md file proprietary by changing the name is hilarious

2h agoHN ↗

Don’t get too excited, Claude code still won’t detect skills on .agents/skills.

2h agoHN ↗

Don't worry, it's on the roadmap for Q4 2029.

2h agoHN ↗

They have AGI, but they don't have $20 of token budget to add a so basic functionality.

2h agoHN ↗

They probably have an explicit instruction in their own CLAUDE.md to not implement that support.

1h agoHN ↗

Its the only explanation. I mean, they are not living under a rock...

1h agoHN ↗

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.

55m agoHN ↗

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.

2h agoHN ↗

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
1h agoHN ↗

Won’t you have to do it recursively for all child directories?

1h agoHN ↗

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

2h agoHN ↗

This allows us to remove our one line Claude.md files that just say "AGENTS.MD"

2h agoHN ↗

Fine if you don't need to git checkout the repo on Windows :)

2h agoHN ↗

Just .gitignore CLAUDE.md and handle it locally. Checking in a symlink would be weird.

2h agoHN ↗

I'm surprised Git and/or Windows don't support symlinks?

2h agoHN ↗

Windows supports it but git disables creating symlinks by default.

Short version: there is no exact equivalent for POSIX symlinks on Windows, and the closest thing is unavailable for non-admins by default unless Developer Mode is enabled and a relatively recent Windows 10 version is used. Therefore, symlink emulation support is only turned on by default when that scenario is detected. Support can be enabled by the user, via the core.symlinks=true config setting.

See: https://gitforwindows.org/symbolic-links.html

57m agoHN ↗

Yeah this is why I don't trust people saying devex is fixed on Windows now. Still doesn't properly clone git repos.

2h agoHN ↗

Windows does mklink. Not surprised with git.

2h agoHN ↗

Wow, still not there yet. After all these years.

1h agoHN ↗

Windows does actually have symlinks but I don't think I've ever seen anything actually use them, and I don't myself because it smells of interop issues with other windows apps.

Even to this day Windows has all kinds of problems around long file paths in its ecosystem.

1h agoHN ↗

Even to this day Windows has all kinds of problems around long file paths in its ecosystem.

To this day I don't know if it's a Windows problem or a Python problem, because I never encountered this - and never realized this problem exists - except for some random Python code whose docs tell me to set some registry value because of "long paths issue".

1h agoHN ↗

The worst offenders I've found are powershell and .Net related stuff.

You can have all the right flags enabled, then unexpectedly you'll run some commandlet and get a path too long error.

Now if your on W11/W25 and the lastest PS it might all work, but W16 and PS versions between now and then had all kinds of things pop up.

1h agoHN ↗

you'll need to wrap that in a `find` because of nested instruction files

2h agoHN ↗

Only took them a year and a half of everyone complaining to finally do the right thing.

Congrats.

2h agoHN ↗

Context

“I’m thinking about banning Claude Code at Shopify until they change their mind and read AGENTS.md and .agents/skills etc.,”

- Tobi Lütke on X.

2h agoHN ↗

Caught myself about to praise this, but it's the absolute bare minimum.

Time to delete the symlinks

1h agoHN ↗

Anthropic in 2025: We can use our dominant market position to degrade the harness experiences of our competitors because they will never adopt CLAUDE.md

Anthropic in 2026: We are losing our market position. Users who adopted other harnesses have a degraded Claude Code experience because it doesn't recognize their AGENTS.md

47m agoHN ↗

Sounds like free market at work to me. I am just glad there is quite a lot of competition in a field that I would have assumed would have huge costs of entry

25m agoHN ↗

The walls are closing in and the president is gleefully lighting fires he has no intention of putting out. There's a reason they're rushing like mad to an IPO, but as we saw with OpenAI it's easier said than done when your business model is "Lose tons of money to eventually maybe dominate a market with the moat we don't have, but trust us AI is huge give us trillions."

2h agoHN ↗

Forced to do something for the users...

1h agoHN ↗

They have achieved AGI/RSI internally and it told them "common, let's sort this s..t out, it's embarrasing".

2h agoHN ↗

The madlads finally did it, now if only I could use my Claude sub in other harnesses without risking getting banned.

2h agoHN ↗

yep, all i want is freedom to make a workflow where i don't feel tied to one provider, CC is exactly what i don't wanna get trapped in. I'll happily use claude MODELS, but if it means i have to keep learning two harnesses side by side to keep using one particular provider, then the second i can easily replace it, i am going to(even if its a small drop in performance).

2h agoHN ↗

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

2h agoHN ↗

Finally, I can delete `sync-agent-docs.sh`, which recursively symlinked AGENTS.md to GEMINI.md and CLAUDE.md...

2h agoHN ↗

My claude.md:

# CLAUDE.md

This project uses `AGENTS.md` as its agent instruction file (kept provider-agnostic). Treat any `AGENTS.md` file exactly as you would a `CLAUDE.md` file — at the root level and in any subdirectory you are working in.

@AGENTS.md

2h agoHN ↗

If only there was a technology that existed to link files together… /s

2h agoHN ↗

The idea was to have it automatically detect nested AGENTS.md

Does your tech do that?

Anyway, the joke is on me I guess, because it might not work reliably.

1h agoHN ↗

On many filesystems, a lot of data about a file is not attached to the content of the file, but stored in a master filename and metadata table graph tree of some sort, and the address offset within that metadata used to retrieve the contents on disk can be a duplicate of another entry, without that situation instantly leading to a filesystem driver crash. Some filesystems officially support such duplicates as well as equivalents of HTTP 3xx, some you can just do as a matter of fact and fsck would have some words about it.

Default filesystems for all Unix, Linux, WinNT, all do.

54m agoHN ↗

Yes. The thing is that creating a link will not do it recursively for all subdirectories. Even worse, in the subdirectories I didn't want to place a claude.md in the first place but just have agents.md.

That was the idea.... For the toplevel it works because of the @AGENTS.md and this is also the part the link would solve.

Thanks for all the great advice and explanations.

41m agoHN ↗

CLAUDE.md is handled by the harness, not the agent.

23m agoHN ↗

I phrased it wrong. It was not about "automatically detect nested AGENTS.md". The idea was that when AGENTS.md files should be treated just like CLAUDE.md files in all subdirectories, when encountered.

Anyway, with the change they announced, I can now simply delete my CLAUDE.md and everything will just work the way I wanted.

Thanks for your clarification.

2h agoHN ↗

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.

2h agoHN ↗

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.

2h agoHN ↗

yay! /s

Why are people still putting up with this kind of attitude, especially when there are so many good alternatives available?

48m agoHN ↗

not as simple as that: nested AGENTS.md, skills, agent customization, MCP, ... the list of misaligned harness features is still rather long

2h agoHN ↗

Still can't read what their models vomit at me.

2h agoHN ↗

Still don't understand the point of the markdown files.

Isn't it literally all just more text you're adding to the prompt. How can you even be sure it isn't just clouding context with nonsense for whatever you're asking for?

2h agoHN ↗

You know it because you write the content of AGENTS.md. And if you are smart, you keep it brief and cover only the important things that anyone (human OR LLM) would want to know if working in this directory.

2h agoHN ↗

As far as I understand even adding relevant information still eventually clouds context

1h agoHN ↗

You still need to define assumptions somehow. What you want and what the model wants will not match up by default.

1h agoHN ↗

In my experience telling it what I want is not a reliable process at all whatsoever if what I'm asking for is sufficiently complex, no matter what context I provide. So instead I break tasks down into very small parts, ask for solutions to those that I can reasonably quickly assess and then put them together myself. Asking it to do the architectural or deep algorithmic legwork IME wastes so much time and is often just wrong.

1h agoHN ↗

There's a balance to be found here, that's unfortunately very hard to find at times.

In my experience, there are two classes of tasks: some are very "in-distribution", and for those LLMs can near-flawlessly perform the "architectural or deep algorithmic legwork", with maybe a single second round to fix the mistakes. For others, I have to break the tasks down myself, and often it's a "death through thousand papercuts", because the size of a task that I can quickly verify and the LLM will not screw up with > 50% probability is small enough that it's sometimes net negative time spent relative to doing it myself (and using LLMs only as glorified search engine and article summarizer).

I like to tell myself that I'm getting better at recognizing these two classes up front, but I'm still frequently surprised when "type 1" turns out to be "type 2".

But circling back to the main topic: with "type 2", agent instructions are paramount, if only to enforce the "small steps, pre-commit to scope and methodology, verification at the end, user doesn't even want to know about anything in between" rules, as agents naturally want to run ahead faster than I can keep up with.

50m agoHN ↗

A good practice to use (ime) is having it do research for the larger task, propose alternatives, and write that in a file. You can then review and comment that up, go through another iteration.

Then when it comes to implementation time, things typically go much smoother for larger changesets. Be wary to not overplan, as we all know how often we realized we missed something once we get into the details. Here, I stop the session and go back to iterating on the design/plan doc. Not a step-by-step guide, if you don't instruct them to the difference, they will just pseudo-implement in the plan like they do in their thinking traces, need to be be explicit about the level of detail.

1h agoHN ↗

do you just manually type out your important instructions every time instead of being smart and putting a few lines in a text file?

55m agoHN ↗

this is probably outdated, attention typically stays fine up to ~200k tokens these days

you end up clouding that more with an agent having to re-understand concepts or conventions

AGENTS.md is good when it is a nested sparknotes for the project, you save context and turns overall, but keep them minimal and largely gotchyas or unusual workflows in your repo

55m agoHN ↗

For skills, it only reads the summary telling it when to read the rest. So yes if you have too many skills, it can get confused and start reading all them and cloud the context. But if you have a few and they're used tactically, it's better than having to manually paste in prompts that you reuse a lot.

Similar reasoning with claude.md except it always reads the entire thing(?)

2h agoHN ↗

Wow..... Progress and technical innovation right here!!!

2h agoHN ↗

This is not a news to celebrate, they must follow standards

58m agoHN ↗

because they still/never wanted to, but finally caved

1h agoHN ↗

Fed raises rates => Claude now reads AGENTS.md, Bevi loses $50M in valuation

1h agoHN ↗

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.

1h agoHN ↗

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!

1h agoHN ↗

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.

1h agoHN ↗

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

1h agoHN ↗

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.

1h agoHN ↗

Great, now please standardize the skills folder and the MCP config.

1h agoHN ↗

Claude also checks your settings.json first, and if it sees a default there it then prefers that over anything in CLAUDE.md. This is particularly nefarious as they ship logic to presume a default if a setting is not there in settings.json, even if there are instructions in CLAUDE.md for exactly that.

For instance, say you added "do not add 'Made with Claude Code' in any issues, pull requests or wiki entries" in your CLAUDE.md. So far, so good.

Well the latest update now looks for something in your settings.json. Since you don't know about it, it is not set. Claude then says "not explicitly set, so now it is true by default". It completely ignores your CLAUDE.md.

Wait, what?

You shouldn't be shipping logic that arbitrarily redefines the behavior of the program, especially if your new logic actually ignores your own configuration or directives.

53m agoHN ↗

It's almost like the whole thing is designed on vibes.

59m agoHN ↗

it's our Eternal September, s/usenet/usebot/

1h agoHN ↗

great, one less step for me.

I was using my claude.md file as a pointer to my agents.md file

1h agoHN ↗

Can it read copilot.md if neither of the other files are present? Also: agents should be the standard, or we need to invoke the XKCD for "one more standard to rule them all"?

13m agoHN ↗

Mmm and autorun.inf, any dir with that file will automatically be scrutinised by any running agent on your system

1h agoHN ↗

finally! Now this might sound sorta off-topic but i really wonder how people feel about skills.md, skill.md, skills.sh domains...

the fact that they're owned by different companies (ok vercel is a little less random) still leaves me with a sour taste in my mouth when thinking about the fact that they should all point to 1 place about how to create and find skills for ai agents?!

1h agoHN ↗

I wonder when they'll finally fix the VS Code plugin to not constantly dump your current file into the context.

1h agoHN ↗

Forcing their own proprietary filename was clearly a business decision (it's free advertising, along with commit co-authorship). I wonder what made them go back on it.

51m agoHN ↗

They're probably losing market share. The only time you ever see tech companies make consumer-focused changes is when those consumers are jumping ship to go somewhere else in large enough numbers to matter.

1h agoHN ↗

that is an optimistic read, I still see a lot of crazy from the EA/SV elite

1h agoHN ↗

Great. Now if they could support the `~/.agents/skills` path next like everyone else does that would be even better.

1h agoHN ↗

Finalllyyyy!! We need industry wide standards. I come from the 3d industry and oh god changing softwares and adapting to different hotkeys it's a pain. I have always thought every industry should be standardized for the sake of the users.

40m agoHN ↗

Before anyone even contemplates if Anthropic has any good intentions, remember, this is how petty and small minded they are.

Truly the last people you want with this kind of power.

24m agoHN ↗

Just to touch on the wording of "in a project with no CLAUDE.md" does that mean user-level ~/AGENTS.md or ~/.agents/AGENTS.md isnt supported?