<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Harbor Engineering]]></title><description><![CDATA[Harbor Engineering]]></description><link>https://harborai.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Sat, 07 Nov 2026 11:19:17 GMT</lastBuildDate><atom:link href="https://harborai.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[We Audited 481 Public CLAUDE.md and AGENTS.md Files: Here Is What Claude Code, Cursor, and Codex Silently Ignore]]></title><description><![CDATA[Most engineering teams in 2026 use at least two AI coding agents side by side: Claude Code, Cursor, OpenAI Codex CLI, or GitHub Copilot. To find out what…]]></description><link>https://harborai.hashnode.dev/we-audited-481-public-claude-md-and-agents-md-files-here-is-what-claude-code-cursor-and-codex-silently-ignore</link><guid isPermaLink="true">https://harborai.hashnode.dev/we-audited-481-public-claude-md-and-agents-md-files-here-is-what-claude-code-cursor-and-codex-silently-ignore</guid><dc:creator><![CDATA[Roei Shoustak]]></dc:creator><pubDate>Wed, 28 Oct 2026 15:28:07 GMT</pubDate><content:encoded><![CDATA[<p>Most engineering teams in 2026 use at least two AI coding agents side by side: <strong>Claude Code</strong>, <strong>Cursor</strong>, <strong>OpenAI Codex CLI</strong>, or <strong>GitHub Copilot</strong>.</p>
<p>To find out what actually happens to repo instruction files in practice, we audited <strong>481 public <code>CLAUDE.md</code> and <code>AGENTS.md</code> files</strong> and traced the exact file-loading rules across all 7 major agent harnesses.</p>
<p>You can test your own repo's <code>CLAUDE.md</code> or <code>AGENTS.md</code> in your browser (free, client-side, no login) at <strong><a href="https://gethrbr.com/check">https://gethrbr.com/check</a></strong>.</p>
<p>Here are the 5 silent failure modes that break almost every multi-agent repo today:</p>
<h3>1. The 7-Agent Instruction Loading Matrix (2026)</h3>
<table>
<thead>
<tr>
<th align="left">File &amp; Location</th>
<th align="left">Claude Code</th>
<th align="left">Codex CLI</th>
<th align="left">Cursor</th>
<th align="left">GitHub Copilot</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong><code>CLAUDE.md</code> (Repo Root)</strong></td>
<td align="left">Loaded at launch</td>
<td align="left"><strong>Ignored</strong> (unless added to <code>project_doc_fallback_filenames</code> in <code>~/.codex/config.toml</code>)</td>
<td align="left">Loaded in <strong>Agent chat only</strong> (Cursor Tab, Inline Edit <code>Cmd+K</code>, and Bugbot never see it)</td>
<td align="left"><strong>Ignored</strong></td>
</tr>
<tr>
<td align="left"><strong><code>AGENTS.md</code> (Repo Root)</strong></td>
<td align="left"><strong>Ignored</strong> the moment any <code>CLAUDE.md</code> exists in the folder or above it (unless <code>CLAUDE.md</code> starts with <code>@AGENTS.md</code>)</td>
<td align="left">Loaded at launch (capped at <strong>32 KiB</strong>)</td>
<td align="left">Loaded in <strong>Agent chat only</strong> (Tab, Inline Edit, and Bugbot never see it)</td>
<td align="left">Loaded at launch</td>
</tr>
<tr>
<td align="left"><strong><code>AGENTS.md</code> (Subfolder)</strong></td>
<td align="left"><strong>Ignored</strong></td>
<td align="left"><strong>Ignored</strong> when Codex starts at the repo root (Codex walks root to <code>cwd</code> and stops there)</td>
<td align="left">Loaded when Agent chat works in that folder</td>
<td align="left"><strong>Ignored</strong> (root only)</td>
</tr>
<tr>
<td align="left"><strong><code>.cursor/rules/*.mdc</code></strong></td>
<td align="left"><strong>Ignored</strong></td>
<td align="left"><strong>Ignored</strong></td>
<td align="left">Loaded across Tab, Inline Edit, and Agent chat (when <code>alwaysApply: true</code>)</td>
<td align="left"><strong>Ignored</strong></td>
</tr>
</tbody></table>
<h3>2. Codex CLI Silently Cuts <code>AGENTS.md</code> Mid-Sentence at 32 KiB (<code>32,768 bytes</code>)</h3>
<p>Codex enforces a hard <code>32 KiB</code> budget (<code>project_doc_max_bytes</code>) across the combined <code>AGENTS.md</code> chain. The moment your file crosses byte <code>32,768</code>, Codex truncates the tail mid-sentence with <strong>zero warning in the terminal</strong>. Any git, testing, or security rule at the bottom of a long <code>AGENTS.md</code> disappears silently.</p>
<h3>3. Prose Pointers (<code>See AGENTS.md</code>) Do Not Auto-Load in Claude Code</h3>
<p>If your <code>CLAUDE.md</code> says <code>Read [AGENTS.md](./AGENTS.md) before starting</code>, Claude Code does <strong>not</strong> load <code>AGENTS.md</code> at session start. It only sees <code>AGENTS.md</code> if the model decides to spend a tool call opening it. To make Claude Code inline <code>AGENTS.md</code> automatically at startup, line 1 of <code>CLAUDE.md</code> must be <code>@AGENTS.md</code>.</p>
<h3>4. <code>@path/to/file.md</code> Imports Break Outside Claude Code</h3>
<p>While Claude Code expands <code>@path/to/doc.md</code> imports at startup (up to 4 hops deep, burning the full token count on every turn), <strong>Codex CLI, Cursor, and Copilot treat <code>@path/...</code> as literal plain text</strong> and never open the referenced file.</p>
<h3>5. 60% of Repos Ask in Prose for Guardrails That Require a <code>PreToolUse</code> Hook</h3>
<p>Across the 481 files we studied, 60% used words like <code>NEVER</code>, <code>MUST NOT</code>, or <code>CRITICAL</code> in prose to ban dangerous commands (<code>rm -rf</code>, <code>git push --force</code>, <code>git reset --hard</code>, <code>--no-verify</code>, or reading <code>.env</code>). Because <code>CLAUDE.md</code> and <code>AGENTS.md</code> are injected as user-message context, compliance degrades as the context window fills. Hard blocks belong in <code>.claude/settings.json</code> (<code>permissions.deny</code> or a <code>PreToolUse</code> hook exiting <code>2</code>).</p>
<hr />
<h3>Check Your File (and Sync Rules Automatically)</h3>
<ol>
<li><strong>Free Browser Linter:</strong> Paste your <code>CLAUDE.md</code>, <code>AGENTS.md</code>, or <code>.cursor/rules/*.mdc</code> into <strong><a href="https://gethrbr.com/check">https://gethrbr.com/check</a></strong> to see which agents load it, where it hits byte/line limits, and which prose lines need to become hooks.</li>
<li><strong>Harbor (Shared Memory &amp; Rule Routing for Coding Agents):</strong> We built <strong><a href="https://gethrbr.com/#start">Harbor (https://gethrbr.com/#start)</a></strong> so teams using Claude Code, Cursor, Codex, and Copilot don't have to maintain four drifting markdown files or load 10,000 tokens of static rules on every turn. Join the early access beta at <strong><a href="https://gethrbr.com/#start">https://gethrbr.com/#start</a></strong>.</li>
</ol>
]]></content:encoded></item></channel></rss>