We pulled 3,905 CLAUDE.md and AGENTS.md files from public GitHub repos.
In 1 of 6 repos that keep both, the CLAUDE.md never mentions the AGENTS.md. So Claude Code never loads it, and Claude and Codex follow different rules in the same repo.
Another 15% write "Read AGENTS.md before any task" in their CLAUDE.md. That's a request, not an import. Claude reads the file only if it decides to open it.
The fix is one line at the top of CLAUDE.md:
@AGENTS.md
More from the same files:
• 7% of pairs started as copies and drifted apart
• 19% of CLAUDE.md files run past the 200 lines Anthropic suggests
• ~30,000 AGENTS.md files on GitHub are over 32 KiB. Codex drops the rest, and the terminal says nothing
We turned every check into a free tool. Paste a CLAUDE.md, AGENTS.md or Cursor rule and see which agents load it, what gets cut, and get the deny rules and hooks that enforce your "never" lines. No sign-up. It runs in your browser.
Two files drifting is the small version of the problem: every agent on a team reads a different slice of the rules. That's why we build Harbor. Fix it once, every agent knows.
Want me to look at your repo's rule files? Reply with a link.
@lopez_gillopez Appreciate it Gil! that cross tool repeat is the one that made me start building this.
curious if you hit the same thing with voice agents, same correction given to one and the next one never hears it?
"third time i've written this in a review."
every team running coding agents has someone who says this every week.
the decision was made months ago. in a slack thread. an incident review. a linear ticket. a notion page. a PR comment.
the agent writing today's code was in none of them.
so a senior types the same explanation again. and your teammate's cursor makes the same mistake tomorrow, because the correction only lived in your claude code session.
we gave every engineer an agent that writes code 10x faster. we didn't give those agents what a new hire picks up in week one: what the team already decided.
that's what i'm building with harbor. it reads where your team already decides things, and every agent (claude code, cursor, codex, copilot) starts with the rules that apply.
fix it once. every agent knows.
what's the review comment you're most tired of writing?
@Block4Roots works on day one. by month two it's 40 decisions, half outdated, and every run loads all of them.
the hard part isn't where it lives, it's who keeps it current when the decision happened in slack.
who updates yours today?
close, but i'd push back on "a file".
a file is a snapshot. it goes stale the day after the slack thread, and every agent loads all of it whether it applies or not.
i keep decisions in a graph instead, linked to where they came from and the code they touch. each agent gets only the rules for what it's editing.
how big is your rules file today?
agree the runtime should load it, but each runtime loads a different file, so the rules can't live in any one of them.
i'd keep them outside the model: one source of truth, scoped by path, re-injected on every handoff instead of trusting the next model to find it.
are you seeing routers do any of that today?
half the cost per task is the headline.
the part nobody's pricing in: when a router swaps opus for gpt mid task, your rules have to survive the handoff.
claude code reads CLAUDE.md. codex reads AGENTS.md. a routed agent reads whatever you hoped it would.
model routing is getting solved. context routing isn't.
https://t.co/g72p5HUtGs
GitHub has released Copilot Fusion in GitHub Copilot, which orchestrates between Anthropic and OpenAI models. It scores 2 points below Opus 5.5 in Claude Code at half the Cost per Task in the Coding Agent Index
GitHub describes Copilot Fusion as a runtime orchestration system, which selects and coordinates models to optimize performance, cost, and latency for each task. Copilot Fusion chooses between a number of models from Anthropic and OpenAI, including Claude Opus 5.5, Claude Sonnet 5.5, GPT-6 Astra, and GPT-6 Sol. We benchmarked its max setting in GitHub Copilot CLI in the Artificial Analysis Coding Agent Index v2.0.
Token costs are charged based on the underlying models used to complete a request.
Key takeaways:
➤ Cost-efficient for near-frontier performance: Copilot Fusion in GitHub Copilot costs $5.59 per task, versus $11.42 for Claude Code with Opus 5.5 (max). Devin Fusion with Opus 5.5 (max) + GPT-6 Luna (high) scores 62 at $8.00 per task.
➤ Slight lead in Terminal-Bench 4.0: The Coding Agent Index v2.0 weights its three constituent benchmarks equally. Copilot Fusion in GitHub Copilot leads Terminal-Bench 4.0 with a score of 71. It ranks third on FrontierCode in the chart at 51, behind Claude Code with Opus 5.5 (max) at 56 and Devin Fusion with Opus 5.5 (max) + GPT-6 Luna (high) at 54. Its SWE-Atlas-QnA-AA score lags at 57, between GPT-6 Astra in Codex and Gemini 4 Argon in Antigravity CLI.
➤ Half the token use of Opus 5.5 in Claude Code: GitHub Copilot Fusion used 7.2M tokens per task in the Coding Agent Index, approximately half of the tokens used by Claude Opus 5.5 in Claude Code, and 30% less than Devin Fusion with Opus 5.5 (max) + GPT-6 Luna (high).
@kaluops symlink is the cleanest fix for discovery, we do the same at root.
where it still bit us: one shared file grows fast. codex cuts AGENTS.md at 32 KiB, and after /compact the folder specific rules are the first to go.
do you keep it all in one root file or split per folder too?
@sonuv_dev mine: if engineers override the agent's diff on the same rule twice, the rule is broken, not the model. rewrite it in the same PR.
and keep the root file small. codex cli silently cuts AGENTS.md at 32 KiB, so the rule you added last is the first one to vanish.
also worth checking if you use codex: codex cli silently truncates AGENTS.md at exactly 32.0 KiB (32,768 bytes) mid-sentence with zero warning.
we put up a free in-browser checker to test your AGENTS.md / CLAUDE.md for byte caps, broken imports, and token tax (nothing leaves your browser): https://t.co/G4ZWNrPEY3
one catch for anyone pasting this into AGENTS.md if your team also uses claude code:
if a single CLAUDE.md or CLAUDE.local.md exists anywhere in the repo, claude code silently ignores AGENTS.md completely. and once you hit /compact, style rules in a flat root file get summarized away unless you re-inject them scoped to the active files.
paste your CLAUDE.md or AGENTS.md here to check byte caps, cross-agent reach (claude code vs codex vs cursor), token tax, and which rules belong in pre-tool hooks (runs 100% locally in your browser):
https://t.co/G4ZWNrPEY3
and if you want your rules scoped by file path, synced across every coding agent, and re-injected automatically after /compact, grab a spot on the harbor waitlist here:
https://t.co/EANVcYrZk4
(57s demo of how harbor works across sessions: https://t.co/grFqjqxyMk)
we ran a bunch of real startup CLAUDE.md and AGENTS.md files through a byte and parser audit today.
most teams have no idea half their rules are getting silently dropped:
1. the silent 32.0 KiB codex guillotine
codex cli enforces a hard 32,768-byte cap (project_doc_max_bytes). one repo we checked today had a 54.0 KiB AGENTS.md (584 lines). the bottom 22 KiB (~40% of their rules) gets sliced mid-sentence with zero warning. another repo was at 31.5 KiB (32,234 bytes), 534 bytes away from losing its git safety rules at the bottom of the file.
2. fake markdown imports in CLAUDE.md
if you have a root AGENTS.md and no @AGENTS.md import inside CLAUDE.md, claude code ignores AGENTS.md completely. worse: writing "Read [AGENTS.md](./AGENTS.md)" as a standard markdown link does not auto-load it. only @AGENTS.md does.
3. monorepo blind spots + cursor surfaces
drop AGENTS.md in a subfolder like apps/studio/AGENTS.md and codex skips it whenever you launch from the repo root. and in cursor, CLAUDE.md and AGENTS.md only load in agent chat (tab, cmd+k inline edit, and bugbot never see them).
4. the 14,500-token tax
another repo had a 762-line CLAUDE.md (57.5 KiB, ~14,567 tokens) with 84 "never/must" prose rules like "never --no-verify" and "never force-push" written in markdown instead of a PreToolUse hook, paying 14.5k tokens on every 5-line fix.
dropped our free in-browser checker in the reply below so you can test your own CLAUDE.md or AGENTS.md in 5 seconds (nothing leaves your browser).