Menu
Přihlásit
Článek Claude Code

Claude Code a Codex na jednom repu: sdílený kontext

Claude Code a Codex na jednom repozitáři se hádají o pravidla? Nastav jim sdílený kontext přes AGENTS.md, @import v CLAUDE.md a správné volby. Návod 2026.

Aktualizováno 8 min čtení 10 sekcí

Obsah článku 10 sekcí

V kostce

  • Claude Code od verze 2.1.277 (září 2026) čte AGENTS.md nativně, ale jen když v repu nemáš CLAUDE.md nebo CLAUDE.local.md.
  • Codex čte AGENTS.override.md a AGENTS.md od ~/.codex přes git root do aktuálního adresáře; CLAUDE.md přidáš přes project_doc_fallback_filenames.
  • Doporučené nastavení 2026: jeden kanonický AGENTS.md pro všechny agenty a případně krátký CLAUDE.md s importem @AGENTS.md pro Claude-specifická pravidla.
  • Symlink CLAUDE.md na AGENTS.md funguje, ale Claude Code přes něj odmítne editovat a na Windows vyžaduje speciální práva.
Claude Code a Codex na jednom repu: sdílený kontext - ilustrační obrázek

Používáš na jednom repozitáři Claude Code i Codex? Pak znáš tenhle scénář: Claude Code si přečte CLAUDE.md, Codex si přečte AGENTS.md — a každý agent hraje podle jiných pravidel. Jednou ti Claude píše testy přes PHPUnit, podruhé Codex přes Pest, protože každý viděl jinou verzi „jak se v tomhle projektu pracuje". Udržovat dva soubory se stejným obsahem je recept na chaos: za týden se rozejdou a ani si toho nevšimneš.

Od září 2026 to jde udělat čistě. Claude Code od verze 2.1.277 čte AGENTS.md nativně, takže jeden soubor může sloužit oběma agentům — plus Cursoru, Copilotu a Gemini CLI. V tomhle návodu ti ukážu tři způsoby, jak Claude Code a Codex na jednom repu sdílet kontext, včetně přesného pořadí, v jakém který nástroj soubory čte, a pastí, na které jsem narazil.

Proč se Claude Code a Codex hádají o pravidla

Oba nástroje si na začátku session načítají instrukce z markdown souborů v repozitáři. Problém je, že každý má vlastní výchozí jméno souboru a vlastní pravidla hledání:

  • Codex čte primárně AGENTS.md (případně AGENTS.override.md) — od domovské složky ~/.codex přes kořen repozitáře až do aktuálního adresáře.
  • Claude Code historicky četl jen CLAUDE.md (plus .claude/CLAUDE.md a CLAUDE.local.md). Nativní podporu pro AGENTS.md přidal v září 2026 ve verzi 2.1.277.

Když máš v repu oba soubory s podobným obsahem, stane se jedna ze dvou věcí: buď se obsah časem rozejde (opravíš pravidlo v jednom, zapomeneš v druhém), nebo přímo teď obsahují protichůdné instrukce. Výsledek: agent, který se chová pokaždé jinak, a ty nevíš proč.

Co čte Claude Code a co Codex: přesné pořadí

Než začneš cokoli nastavovat, je potřeba vědět, jak každý nástroj instrukce skutečně hledá. Podle oficiální dokumentace (ověřeno 23. října 2026):

Codex skládá řetězec instrukcí v tomto pořadí:

  1. V ~/.codex (nebo $CODEX_HOME) vezme AGENTS.override.md, a když neexistuje nebo je prázdný, AGENTS.md. Vždy jen první neprázdný soubor.
  2. Od kořene git repozitáře sestupuje do aktuálního adresáře a v každém adresáři zkontroluje AGENTS.override.md, pak AGENTS.md, pak případné fallback názvy. Z každého adresáře vezme maximálně jeden soubor.
  3. Všechny nalezené soubory spojí od kořene dolů — čím blíž aktuálnímu adresáři, tím později v promptu, takže bližší soubor v případě rozporu vyhrává.
  4. Celkový limit je project_doc_max_bytes, výchozích 32 KiB. Delší řetězec usekne.

Claude Code (v2.1.277 a novější) se chová podle toho, co v repu najde:

Co repozitář obsahuje Claude Code čte
AGENTS.md, žádný CLAUDE.md ani CLAUDE.local.md v pracovním adresáři nebo nad ním AGENTS.md
AGENTS.md i CLAUDE.md (nebo CLAUDE.local.md) jen CLAUDE.md
CLAUDE.md s importem @AGENTS.md CLAUDE.md včetně naimportovaného AGENTS.md

Důležitý detail: do kontroly se počítá jen CLAUDE.md, .claude/CLAUDE.md a CLAUDE.local.md v aktuálním adresáři nebo nad ním. Tvůj osobní ~/.claude/CLAUDE.md ani soubory v .claude/rules/ načítání AGENTS.md neblokují — ty se načítají vedle něj dál.

Naopak Claude Code záměrně nečte AGENTS.local.md, AGENTS.override.md ani nic ze složky .agents/. Když tedy používáš Codexův override trik, Claude ho ignoruje.

Varianta A: jeden kanonický AGENTS.md (doporučuji)

Nejčistší řešení pro rok 2026: AGENTS.md jako jediný zdroj pravdy pro všechny agenty. Je to otevřený standard (agents.md), který čte Codex nativně, Claude Code od v2.1.277, a přes konfiguraci i Cursor, Copilot a Gemini CLI.

Postup:

1. Slouč obsah do AGENTS.md

Vezmi současný CLAUDE.md a AGENTS.md, slij je do jednoho AGENTS.md v kořeni repozitáře. Nech v něm jen to, co platí pro každého agenta: build příkazy, konvence, strukturu projektu, pravidla pro testy.

2. Smaž CLAUDE.md

Jakmile v repu zůstane CLAUDE.md, Claude Code čte jen jeho a AGENTS.md ignoruje (viz tabulka výše). Pokud CLAUDE.md obsahoval i Claude-specifické věci, přesuň je do .claude/rules/ nebo do varianty B níže.

3. Ověř, že Claude soubor načetl

Spusť novou session Claude Code v repozitáři. V interaktivním režimu uvidíš řádek no CLAUDE.md found; AGENTS.md loaded: /cesta/k/repo/AGENTS.md. Případně napiš /context a zkontroluj sekci Memory files. U Codexu stačí codex v kořeni repa — AGENTS.md čte odjakživa.

Pro koho projekty, kde chceš jedna pravidla pro všechny nástroje a žádné Claude-specifické instrukce. Takhle to má například repozitář Homebrew.

Varianta B: CLAUDE.md s importem @AGENTS.md

Potřebuješ vedle sdílených pravidel i pár instrukcí jen pro Claude? Použij import. CLAUDE.md pak vypadá takhle:

@AGENTS.md

## Claude Code

Pro změny ve `src/billing/` používej plan mode.

Claude Code naimportovaný soubor přečte jako první, pak vlastní dodatek. Importy fungují i zanořené, takže AGENTS.md může dál importovat třeba docs/conventions.md.

Kdy variantu B máš existující CLAUDE.md, který nechceš mazat; některé tvoje sessions běží na starší verzi Claude Code (před 2.1.277), na Bedrocku nebo s vypnutou telemetrií — tam se AGENTS.md na verzích před 2.1.281 nativně nenačte, zatímco import funguje vždy.

Pozor na past CLAUDE.local.md počítá do kontroly „máš CLAUDE.md?". Když si v projektu s AGENTS.md vytvoříš osobní CLAUDE.local.md, Claude přestane AGENTS.md číst úplně. Řešení: v /config přepni Project instructions na claude-md-and-agents-md (čte obojí), nebo do CLAUDE.local.md přidej @AGENTS.md.

Klasický trik z dob před nativní podporou:

ln -s AGENTS.md CLAUDE.md

Claude Code obsah přes symlink přečte a vypadá to elegantně. Dvě ale:

  • Editace: Claude Code čte CLAUDE.md přes odkaz, ale jeho nástroje Edit a Write odmítnou přes symlink zapisovat — odmítnutí agenta přesměruje na úpravu cíle (AGENTS.md), což funguje, jen občas zmate.
  • Windows: symlinky na Windows vyžadují vývojářský režim nebo admin práva, takže týmovým kolegům na Windows setup rozbiješ.

Symlink dnes dává smysl hlavně jako dočasná náhrada na starých verzích. Nově je import (varianta B) bezpečnější volba.

Nastavení, která stojí za známost

Claude Code — volba, které soubory číst napiš v session /config a najdi Project instructions. Možnosti:

  • claude-md-or-agents-md — výchozí: CLAUDE.md, nebo AGENTS.md, když CLAUDE.md nemáš
  • claude-md-and-agents-md — čte oba soubory najednou (nejprve CLAUDE.md, pak AGENTS.md; duplicitně načtený soubor přeskočí)
  • claude-md — jen CLAUDE.md
  • managed-only — jen firemní managed instrukce

Totéž jde zapsat do ~/.claude/settings.json pod pluginConfigs.cc-plugin-agents-md@builtin.options.instructionFiles. Na verzích před 2.1.285 se plugin jmenoval agents-md@builtin — když config sdílíš se staršími verzemi, použij staré ID.

Codex — naučit ho číst i CLAUDE.md když se zrovna nacházíš v cizím repu, který má jen CLAUDE.md, přidej do ~/.codex/config.toml:

project_doc_fallback_filenames = ["CLAUDE.md"]

Codex pak v každém adresáři zkontroluje AGENTS.override.md, AGENTS.md a teprve pak CLAUDE.md.

Limit 32 KiB u Codexu v monorepu s mnoha AGENTS.md se soubory sčítají a nad limitem project_doc_max_bytes se useknou. Drž jednotlivé soubory stručné — konkrétní pravidla („používej 2 mezery"), ne eseje.

Rychlý audit: poznáš rozjeté soubory za 5 minut

Než cokoli slučuješ, zkontroluj, jestli problém vůbec máš:

  1. V kořeni repa spusť ls CLAUDE.md AGENTS.md .claude/CLAUDE.md CLAUDE.local.md 2>/dev/null a zapiš si, co existuje.
  2. Oba soubory existují? Porovnej je: diff <(cat CLAUDE.md) <(cat AGENTS.md). Každý řádek rozdílu je místo, kde se Claude a Codex chovají jinak.
  3. Zkus v Claude Code napsat /context a v sekci Memory files ověř, které soubory se skutečně načetly — ne ty, které si myslíš, že se načetly.
  4. Codex ověříš jednoduše: zeptej se ho v nové session „jaké jsou pravidla tohoto projektu?" a porovnej odpověď s obsahem AGENTS.md.

Když diff vypíše prázdno, gratuluju — máš jen problém s údržbou do budoucna a stačí ti varianta A. Když ne, pokračuj sloučením podle návodu výše.

Pasti, na které narazíš v praxi

  • Rozdílný obsah = rozdílné chování. Když existují oba soubory, každý agent čte ten svůj a druhý ignoruje. Nejjednodušší prevence je mít kanonický soubor jen jeden.
  • Stará session po upgradu. První session po přechodu z verze 2.1.276 a starší AGENTS.md ještě nemusí načíst — od další session ano.
  • Hooks a --add-dir. AGENTS.md načtený přes nastavení (ne přes import) nespouští InstructionsLoaded hooky a nenačte se z adresářů přidaných přes --add-dir. Když na tom závisí tvoje automatizace, použij import.
  • Codexův override Claude nevidí. AGENTS.override.md je čistě Codex mechanismus. Nepoužívej ho pro pravidla, která má dodržovat i Claude.
  • Zdvojený obsah po migraci. Měl jsi dřív SessionStart hook, který do kontextu vypisoval AGENTS.md? S nativní podporou ho smaž, jinak máš soubor v kontextu dvakrát.

Časté otázky

Čte Claude Code AGENTS.md i bez CLAUDE.md?

Ano — od verze 2.1.277 (září 2026) čte Claude Code AGENTS.md automaticky, pokud v pracovním adresáři ani nad ním není CLAUDE.md nebo CLAUDE.local.md. V session to poznáš podle hlášky no CLAUDE.md found; AGENTS.md loaded nebo v /context.

Mám mít v repu CLAUDE.md, AGENTS.md, nebo oba?

Pro rok 2026 je nejpraktičtější jeden kanonický AGENTS.md (čtou ho Codex, Claude Code, Cursor i Copilot) a případně krátký CLAUDE.md s importem @AGENTS.md pro Claude-specifické instrukce. Dva plnohodnotné soubory s podobným obsahem se časem vždy rozejdou.

Proč Codex ignoruje můj CLAUDE.md?

Codex CLAUDE.md ve výchozím nastavení nečte — hledá jen AGENTS.override.md a AGENTS.md. Přidej do ~/.codex/config.toml řádek project_doc_fallback_filenames = ["CLAUDE.md"] a Codex ho začne brát jako fallback.

Funguje symlink CLAUDE.md → AGENTS.md i na Windows?

Spíš ne. Symlinky na Windows vyžadují vývojářský režim nebo administrátorská práva. Použij místo toho CLAUDE.md s jednořádkovým importem @AGENTS.md — funguje všude a editace souborů přes něj probíhá normálně.

Závěr: jeden mozek pro oba agenty

Sdílený kontext mezi Claude Code a Codexem je v roce 2026 vyřešený problém — stačí vědět, že Claude Code od verze 2.1.277 čte AGENTS.md nativně, a vybrat si jednu ze tří variant: čistý AGENTS.md, import @AGENTS.md v CLAUDE.md, nebo (dočasně) symlink. Důležitější než volba varianty je pravidlo: kanonický soubor je jeden a ostatní mechanismy na něj jen odkazují.

Chceš jít dál? Přečti si, jak napsat AGENTS.md, kterého si agenti skutečně všímají, jak se Claude Code a Codex liší v práci na reálných úkolech, nebo jak nechat Codex kódovat v cloudu, zatímco pracuješ na něčem jiném. Detaily o načítání souborů najdeš v oficiální dokumentaci Claude Code memory a Codex AGENTS.md (obě ověřeny 23. října 2026).

Pokračuj dál

Všechny články →