Przejdź do głównej zawartości

Cursor, Claude Code i Codex czytają instrukcje z różnych plików: Cursor z .cursor/rules/*.mdc, AGENTS.md i CLAUDE.md, Claude Code z CLAUDE.md (lub AGENTS.md, gdy brak CLAUDE.md, od v2.1.277 w obu kanałach), Codex z łańcucha AGENTS.md i config.toml. Różnią się kolejnością, zakresami i limitami rozmiaru; żadne nie ostrzega o niezaładowanej regule (sprawdzone w Claude Code 2.1.283, Codex CLI 0.157.1 i @cursor/sdk 1.0.32).

Ta strona jest dla programisty albo tech leada, który odpowiada za konfigurację agentów w repozytorium. Typowa awaria jest cicha: reguła ograniczona do tras API działa na każdym pliku, prywatny CLAUDE.local.md sprawia, że Claude Code przestaje czytać zespołowy AGENTS.md, a Codex pomija instrukcje pakietu napisane w zeszłym tygodniu, bo łańcuch przekroczył limit bajtów. Nic nie zgłasza błędu. Agent po prostu przestaje stosować regułę.

Wpisy poniżej, które podają Claude Code 2.1.296, Codex 0.162.1 lub stronę Cursora, sprawdzono 2026-10-12.

  • Jedną tabelę: który plik ładuje każde narzędzie, skąd i kiedy.
  • Minimalne, poprawne szablony .cursor/rules/*.mdc, CLAUDE.md, .claude/settings.json, AGENTS.md i config.toml.
  • Układ z jednym źródłem prawdy dla zespołów, które używają więcej niż jednego narzędzia.
  • Polecenia, które dowodzą, jakie instrukcje naprawdę się załadowały, oraz test limitu do wklejenia w CI.
  • Ciche awarie, każdą z krokiem naprawczym.

O tym, co wpisać do tych plików i co z nich wyciąć, piszemy w artykule Przycinanie CLAUDE.md i AGENTS.md. Ta strona opisuje, gdzie pliki leżą i jak każde narzędzie je ładuje.

Cursor†Claude CodeCodex
Plik instrukcji.cursor/rules/**/*.mdc; także AGENTS.md w katalogu głównym projektu i w podkatalogach oraz CLAUDE.md (dokumentacja Cursora, 2026-10-12)CLAUDE.md lub .claude/CLAUDE.md; AGENTS.md, gdy nie ma CLAUDE.mdAGENTS.md w każdym katalogu od korzenia projektu do katalogu roboczego
Reguły z zakresemglobs we frontmatterze .mdc.claude/rules/*.md z frontmatterem pathsTylko przez katalog: zagnieżdżony AGENTS.md
Prywatne, niecommitowaneNie jest plikiem repozytoriumCLAUDE.local.md (dodaj do .gitignore)AGENTS.override.md (dodaj do .gitignore)
Poziom użytkownikaUstawienia Cursora~/.claude/CLAUDE.md, ~/.claude/rules/~/.codex/AGENTS.md
Ustawienia i uprawnieniaUstawienia Cursora; permissions.json w ~/.cursor/ i w .cursor/ projektu (scalane), sandbox.json dla sandboksa, a od Cursora 3.24 polityka zarządzana AgentRemoteWorkspaceAuthorities, dzięki której administratorzy ograniczają Agenta do zatwierdzonych zdalnych przestrzeni roboczych (dokumentacja i notatki o wydaniach Cursora, 2026-10-12).claude/settings.json, .claude/settings.local.json~/.codex/config.toml, .codex/config.toml w zaufanym projekcie
Serwery MCP.cursor/mcp.json, ~/.cursor/mcp.json.mcp.json (zakres projektu)[mcp_servers.<name>] w config.toml
Starsze formaty, nadal czytane.cursorrules: format przestarzały, a pomoc Cursora pisze, że „will be deprecated”; mechanizm ładowania z @cursor/sdk 1.0.32 stosuje go jako regułę zawsze aktywną.claude/commands/*.md (nadal działa; dziś część skilli)tabele [profiles.<name>] (nadal parsowane)
Jak sprawdzić, co się załadowałoZapytaj agenta (prompt niżej)/context, /doctor prompt-auditcodex debug prompt-input

† Kolumna Cursora opisuje mechanizm ładowania reguł w agentowym SDK Cursora, @cursor/sdk 1.0.32, oraz dokumentację Cursora (sprawdzoną 2026-10-12); zobacz uwagę niżej.

Każda reguła to jeden plik .mdc: frontmatter YAML, a pod nim Markdown. Trzy pola frontmattera decydują, kiedy reguła trafia do kontekstu.

---
description: "API route conventions for the Next.js App Router"
globs: src/app/api/**/*.ts
alwaysApply: false
---
- Validate every request body with the zod schema in `src/lib/schemas/`.
- Call the service layer; never query the database from a route.
- Return `{ ok: true, data }` or `{ ok: false, error }` with a matching status code.
- Run `npm run test -- src/app/api` before reporting the task complete.

Pola są sprawdzane w stałej kolejności; decyduje pierwszy pasujący wiersz:

FrontmatterTyp regułyKiedy się ładuje
alwaysApply: trueZawszePrzy każdym zapytaniu, niezależnie od globs
Ustawione globsZakres plikówGdy agent pracuje z pasującym plikiem
Tylko descriptionWybierana przez agentaGdy agent uzna opis za istotny
Żadne z trzechRęcznaTylko gdy sam ją dołączysz

globs przyjmuje ciąg rozdzielony przecinkami (src/**/*.ts, src/**/*.tsx); działa też lista YAML. Trzymaj jeden temat na plik i nazywaj pliki od tematu (api-routes.mdc, testing.mdc), żeby recenzent z samej listy plików widział, co jest zawsze aktywne. Konfigurację w edytorze opisuje artykuł Reguły projektu w Cursorze.

LokalizacjaZakresKiedy się ładuje
Plik polityki zarządzanej (/etc/claude-code/CLAUDE.md na Linuksie, /Library/Application Support/ClaudeCode/CLAUDE.md na macOS)Każdy użytkownik maszyny; nie da się go wykluczyćPrzy starcie
~/.claude/CLAUDE.md, ~/.claude/rules/Ty, w każdym projekciePrzy starcie
./CLAUDE.md lub ./.claude/CLAUDE.md oraz każdy taki plik w katalogu nadrzędnymZespół, przez kontrolę wersjiPrzy starcie, od korzenia
./CLAUDE.local.mdTy, w tym projekciePrzy starcie
src/billing/CLAUDE.md (poniżej katalogu roboczego)Ta część drzewaGdy Claude czyta tam plik
.claude/rules/*.md bez pathsProjektPrzy starcie
.claude/rules/*.md z pathsPasujące plikiGdy Claude czyta pasujący plik

Pliki są sklejane, a nie nadpisywane, więc sprzeczność między dwoma z nich rozstrzyga się przypadkowo. Dokumentacja pamięci Claude Code zaleca, żeby każdy CLAUDE.md miał mniej niż 200 linii. Reguła z zakresem ścieżek wygląda tak:

---
paths:
- "src/api/**/*.ts"
---
- Validate input with the zod schemas in `src/api/schemas/`.
- Errors use the `ApiError` class; never return a raw stack trace.

Oszczędny projektowy CLAUDE.md zawiera to, czego agent nie wyczyta z kodu: polecenia, granice i pułapki.

CLAUDE.md
@AGENTS.md
## Claude Code only
- Use plan mode for any change under `src/billing/`.
- Before reporting done: `npm run typecheck && npm run lint && npm test`.

Importy @path porządkują długi plik, ale nie oszczędzają kontekstu: zaimportowane pliki ładują się przy starcie razem z plikiem, który je importuje. Blokowe komentarze HTML (<!-- note -->) są usuwane przed wstrzyknięciem, więc notatki dla opiekunów nie kosztują tokenów.

Od v2.1.277 Claude Code czyta AGENTS.md, gdy w katalogu roboczym ani wyżej nie ma CLAUDE.md, .claude/CLAUDE.md ani CLAUDE.local.md. Wersja v2.1.281 rozszerzyła to na Amazon Bedrock, Google Cloud, Foundry, bramy LLM (LLM gateways) i sesje z wyłączoną telemetrią. Wersje starsze niż v2.1.277 czytają wyłącznie CLAUDE.md; oba kanały wydań są już dalej, odkąd stable doszedł do 2.1.287 (sprawdzone 2026-10-12). Claude Code nie czyta AGENTS.local.md, AGENTS.override.md ani niczego w katalogu .agents/ (dokumentacja pamięci Claude Code 2.1.296, 2026-10-12), więc osobisty AGENTS.override.md Codeksa nigdy do niego nie dociera. Ustawienie Project instructions w /config zmienia domyślne zachowanie:

WartośćCo czyta Claude
claude-md-or-agents-md (domyślna)Pliki CLAUDE.md albo AGENTS.md, gdy CLAUDE.md nie ma
claude-md-and-agents-mdOba, w każdym katalogu najpierw CLAUDE.md; plik już zaimportowany nie jest czytany drugi raz
claude-mdTylko pliki CLAUDE.md
managed-onlyPrzy starcie tylko zarządzany CLAUDE.md i pamięć automatyczna

Import @AGENTS.md z szablonu powyżej działa w każdym kanale i nigdy nie ładuje pliku dwa razy, dlatego jest bezpiecznym wyborem dla zespołu z różnymi wersjami.

Ustawienia określają, co Claude może robić; nie dodają instrukcji. Pierwszeństwo, od najwyższego: ustawienia zarządzane, argumenty wiersza poleceń, .claude/settings.local.json, .claude/settings.json, ~/.claude/settings.json. Klucze listowe, takie jak permissions.allow, łączą się między plikami zamiast się zastępować.

{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"permissions": {
"allow": ["Bash(npm run lint)", "Bash(npm run test *)", "Bash(npx tsc --noEmit)"],
"deny": ["Bash(git push *)", "Read(./.env)", "Read(./.env.*)"]
}
}

Dwie zasady zaskakują zespoły. Reguły allow z commitowanego pliku działają dopiero wtedy, gdy każda osoba w zespole zaufa folderowi. A auto lub bypassPermissions jako permissions.defaultMode są ignorowane w ustawieniach projektu i lokalnych; działają tylko z ustawień użytkownika, pliku --settings lub ustawień zarządzanych. Skille trafiają do .claude/skills/<name>/SKILL.md; istniejące pliki .claude/commands/*.md dalej działają. Pełny przewodnik znajdziesz w artykułach Konfiguracja Claude Code i System pamięci Claude Code.

Te ustawienia, pola hooków i zmienne środowiskowe pojawiły się lub zmieniły zachowanie w Claude Code od 2.1.284 do 2.1.296. Każdy wiersz podaje wersję, a wszystko od v2.1.293 jest tylko w kanale latest (stable to 2.1.292 na 2026-10-17; sprawdzone z dokumentacją ustawień, hooków i zmiennych środowiskowych Claude Code oraz z jego changelogiem).

NazwaGdzie ją ustawićCo robiWersja
allowedProvidersUstawienia zarządzaneOgranicza dostawców API, z których może korzystać maszyna: "anthropic", "bedrock", "vertex", "foundry", "anthropicAws", "mantle", "customEndpoint" lub "gateway". Sesja u dostawcy spoza listy jest odrzucana przy starcie, logowaniu i następnym połączeniu z API. "customEndpoint" jest dopuszczany tylko dla dokładnie tej wartości, którą przypina zarządzany blok env. Brak wartości oznacza dowolnego dostawcęv2.1.285
onFailureHandler hooka typu command lub http"continue" (domyślnie) albo "block". Z "block" hook, który nie może wystartować, przekracza limit czasu albo kończy się nieoczekiwanym kodem, blokuje akcję zamiast ją przepuścićv2.1.295 (latest)
CLAUDE_CODE_DISABLE_WEB_FETCHZmienna środowiskowa1 wyłącza narzędzie WebFetch; WebSearch pozostaje dostępnev2.1.285
CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOURZmienna środowiskowaTempo, w jakim odnawia się limit WebSearch w sesji, w wywołaniach na godzinę: domyślnie 100 w sesji interaktywnej, 0 (bez odnawiania) w nieinteraktywnejv2.1.290
CLAUDE_CODE_DISABLE_1M_CONTEXTZmienna środowiskowa1 wyłącza obsługę kontekstu 1M i utrzymuje modele, które domyślnie mają okno 1M, na 200K. Od v2.1.287 Opus 4.7+ i Fable mają domyślnie 1M na Bedrock, Google Cloud, Foundry i w bramie aplikacji Claude, bez sufiksu [1m]zmienna jest starsza; jej działanie zmieniło się w v2.1.287
CLAUDE_CODE_WORKFLOW_SUBAGENT_MODELZmienna środowiskowaUruchamia wszystkich agentów workflow na jednym modelu, podczas gdy pozostałe subagenty zachowują swojev2.1.296 (latest)
MCP_PROTOCOL_NEGOTIATIONZmienna środowiskowalegacy wyłącza sprawdzanie serwerów pod kątem wersji protokołu MCP 2026-07-28; lokalne serwery (stdio) negocjują ją domyślnie w każdej instalacji od v2.1.292zmienna wymaga v2.1.221; domyślne zachowanie dla stdio zmieniło się w v2.1.292
CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIESZmienna środowiskowaOgranicza, ile razy Claude Code ponawia żądanie bez strumieniowania, które przekroczyło limit czasu; 0 kończy błędem przy pierwszym przekroczeniuv2.1.285
CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MSZmienna środowiskowaPoczątkowe opóźnienie wycofywania między ponowieniami żądania odrzuconego przez API jako przeciążone (529), zamiast domyślnych 500; pełne milisekundy od 500 do 32000v2.1.292
CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MSZmienna środowiskowaPrzy ustawionym CLAUDE_CODE_RETRY_WATCHDOG najdłuższy czas, jaki każde żądanie API spędza na przeczekiwaniu błędów 429 i 529; brak wartości oznacza brak limituv2.1.295 (latest)

Codex idzie w górę od katalogu roboczego do korzenia projektu (najbliższego katalogu z .git, chyba że project_root_markers mówi inaczej). Potem czyta po jednym pliku na katalog, od korzenia, i skleja je. W każdym katalogu bierze pierwszy istniejący plik z tej listy:

  1. AGENTS.override.md: prywatny zamiennik AGENTS.md w tym katalogu. Katalogi nadrzędne nadal się ładują.
  2. AGENTS.md.
  3. Każda nazwa z project_doc_fallback_filenames, po kolei.

Pliki poniżej katalogu roboczego nie są czytane, więc uruchamiaj Codeksa w pakiecie, który zmieniasz (codex --cd packages/api). Globalny ~/.codex/AGENTS.md trafia do modelu jako instrukcje użytkownika i nie wlicza się do limitu projektu. Projekt oznaczony jako niezaufany nie dostarcza żadnego AGENTS.md (od Codex CLI 0.150.0).

Codex łączy warstwy config.toml w tej kolejności, późniejsza wygrywa: /etc/codex/config.toml, ~/.codex/config.toml, profil wybrany przez --profile <name> (~/.codex/<name>.config.toml), pliki .codex/config.toml z drzewa projektu, a na końcu flagi -c key=value. Warstwy projektu działają tylko w zaufanym projekcie, więc commitowany .codex/config.toml staje się prawdziwym ustawieniem zespołu, gdy każdy programista zaufa repozytorium. Administratorzy wymuszają ograniczenia w requirements.toml, którego użytkownicy nie mogą nadpisać.

# .codex/config.toml (committed) or ~/.codex/config.toml (personal)
# Leave `model` unset to follow Codex's bundled default; pin a model only when your evals say so.
approval_policy = "on-request" # untrusted | on-request (default) | granular | never
# Permission profiles are beta (Codex CLI 0.138.0 and later).
# Built-ins: ":read-only", ":workspace", ":danger-full-access". Do not combine with sandbox_mode.
default_permissions = ":workspace"
project_doc_max_bytes = 32768 # default: 32 KiB across all project AGENTS.md files
project_doc_fallback_filenames = ["CLAUDE.md"] # read CLAUDE.md where a directory has no AGENTS.md
[mcp_servers.playwright]
command = "npx"
args = ["@playwright/mcp@latest"]

W wierszu poleceń Codex CLI od 0.157.1 do 0.162.1 (sprawdzone 2026-10-12) flaga -a przyjmuje tylko on-request i never; untrusted i granular to wartości dla config.toml. Flagę podawaj przed podpoleceniem: codex -a never exec "…". Aktualne nazwy modeli i ustawienia domyślne są w przeglądzie modeli. Pełny zestaw opcji opisują artykuły Konfiguracja Codeksa i AGENTS.md w Codeksie.

Codex od 0.158.0 do 0.162.1 dodał lub zmienił te klucze i funkcje (sprawdzone ze schematem konfiguracji 0.162.1, jego listą funkcji i notatkami do wydań, 2026-10-12):

Klucz lub funkcjaPlikCo robiWersja
daybreakconfig.tomlDomyślna preferencja Daybreak dla nowych wątków i tur nieinteraktywnych. Samo daybreak = true nie wystarcza: Daybreak włącza się opcjonalnie przez features.cli_daybreak = true lub --enable cli_daybreak, a /daybreak jest niedostępne, dopóki tego nie zrobisz0.161.0
features.cli_daybreakconfig.tomlBramka dla Daybreak: w rozwoju, domyślnie wyłączona0.161.0
audio.microphone_channelconfig.tomlNumerowane od jedności kanały mikrofonu do zmiksowania dla wejścia głosowego; brak wartości miksuje wszystkie kanały wejściowemiędzy 0.157.1 a 0.162.1
auto_review.circuit_break_actionconfig.tomlCzy przerwania bezpiecznika zawierają ustrukturyzowany błąd; tryb strict zapisuje błędy, których starsze klienty mogą nie rozpoznać przy czytaniu wspólnej historii. Domyślnie defaultmiędzy 0.157.1 a 0.162.1
auto_review.conversation_history_max_output_tokensconfig.tomlMaksymalna szacowana liczba tokenów na odpowiedź narzędzia historii w automatycznym przeglądzie; domyślnie 4000między 0.157.1 a 0.162.1
auto_review.experimental_conversation_history_promptconfig.tomlEksperymentalny zamiennik instrukcji pobierania historii, gdy włączone są narzędzia historii i Apps; pusta wartość używa wbudowanego promptumiędzy 0.157.1 a 0.162.1
tui.mouse_scroll_speedconfig.tomlMnożnik szybkości kółka myszy przy przewijaniu transkryptu; domyślnie 1.00.162.0
allow_mxcrequirements.tomlWymaganie administratora dla sandboksa MXC w Windowsie0.161.0
features.write_stdin_approvalconfig.tomlZatwierdzanie wejścia terminala dla poleceń działających z podwyższonymi uprawnieniami; stabilna i domyślnie włączona0.158.0
features.api_key_model_discoveryconfig.tomlWykrywanie modeli przy logowaniu kluczem API; stabilna i domyślnie włączona0.161.0
features.ultrafast_modeconfig.tomlPoziom szybkości Ultrafast dla GPT-6 Astra i GPT-6.1 Sol; stabilna i włączona, ale w Codeksie wymaga kwalifikującego się planu (zobacz analizę cen)między 0.157.1 a 0.162.1
tui.prompt_suggestionsconfig.tomlUsunięty razem z automatycznymi podpowiedziami kolejnych promptów; skasuj gousunięty w 0.159.0

Codex 0.162.0 zachowuje też zakończenia linii CRLF w apply_patch bez dodatkowej zgody, więc funkcji apply_patch_preserve_line_endings już nie ma.

Jak współdzielić jeden zestaw instrukcji między trzema narzędziami?

Dział zatytułowany „Jak współdzielić jeden zestaw instrukcji między trzema narzędziami?”

Uczyń AGENTS.md źródłem prawdy: Codex czyta go natywnie, Claude Code go czyta lub importuje, a Cursor czyta go w katalogu głównym projektu i w podkatalogach (dokumentacja Cursora, sprawdzone 2026-10-12). Cursor nie potrzebuje jego kopii w .cursor/rules/; trzymaj ten katalog na reguły, których potrzebuje tylko Cursor. Potem dodaj tylko to, czego potrzebuje konkretne narzędzie.

AGENTS.md # shared: stack, commands, boundaries, done criteria
packages/api/AGENTS.md # package rules; Codex and Cursor read it directly
CLAUDE.md # "@AGENTS.md" plus Claude-only notes (Cursor reads it too)
.claude/rules/api.md # paths: packages/api/** (Claude's copy of scoped rules)
.cursor/rules/test-files.mdc # globs: **/*.test.ts (Cursor-only scoping a directory cannot express)
.codex/config.toml # project_doc_max_bytes, approval policy, MCP servers

Kopia warstwy wspólnej nie jest potrzebna: Cursor czyta AGENTS.md w katalogu głównym projektu i w podkatalogach, łączy zagnieżdżone pliki z nadrzędnymi (konkretniejsze instrukcje mają pierwszeństwo) i tak samo czyta CLAUDE.md, zawsze go stosując (dokumentacja reguł i pomoc Cursora, sprawdzone 2026-10-12). Regułę .mdc dodawaj tylko dla tego, co dotyczy samego Cursora, na przykład zakresu typów plików, którego nie wyrazi katalog, jak **/*.test.ts, przez globs. Ponieważ Cursor stosuje też CLAUDE.md, pisz notatki tylko dla Claude tak, żeby nie szkodziły w Cursorze.

Gdy powielone reguły z zakresem zaczną się rozjeżdżać, narzędzie do synchronizacji może generować je z jednego źródła; zobacz narzędzia do synchronizacji reguł.

Czytanie wszystkich plików instrukcji po każdej zmianie się nie skaluje. Sprawdź, co agent faktycznie dostał, pilnuj rozmiaru w CI i daj plikom właściciela.

  1. Dodaj linię kontrolną. W każdym pliku umieść krótkie, unikalne zdanie, na przykład Instruction set: api-rules-2026-09. Kosztuje kilka tokenów, a ładowanie staje się widoczne.

  2. Sprawdź załadowany kontekst.

    Otwórz plik, który reguła powinna objąć, i uruchom prompt z końca tej listy kroków. Każda oczekiwana reguła z zakresem plików musi pojawić się ze swoją linią kontrolną.

  3. Pilnuj limitu Codeksa w CI. Skrypt kończy się błędem, gdy dowolny łańcuch od korzenia do liścia przekracza 32 KiB. Uruchamiaj go z korzenia repozytorium. Liczy tylko AGENTS.override.md i AGENTS.md; jeśli ustawiasz project_doc_fallback_filenames, dopisz te nazwy do names, bo inaczej repozytorium oparte na CLAUDE.md przejdzie test bez żadnego pomiaru.

    #!/usr/bin/env bash
    # Fails when any root-to-leaf instruction chain exceeds Codex's default 32 KiB budget.
    set -euo pipefail
    limit=32768
    # Names Codex looks for in each directory, in order. If you set
    # project_doc_fallback_filenames, append those names too, e.g. CLAUDE.md.
    names=(AGENTS.override.md AGENTS.md)
    match=(-false)
    for name in "${names[@]}"; do match+=(-o -name "$name"); done
    status=0
    while IFS= read -r leaf; do
    dir=$leaf
    total=0
    while :; do
    for name in "${names[@]}"; do
    if [ -f "$dir/$name" ]; then
    total=$((total + $(wc -c < "$dir/$name")))
    break
    fi
    done
    [ "$dir" = "." ] && break
    dir=$(dirname "$dir")
    done
    if [ "$total" -gt "$limit" ]; then
    echo "over budget: $total bytes in the chain ending at $leaf/"
    status=1
    fi
    done < <(find . \( "${match[@]}" \) -not -path '*/node_modules/*' -exec dirname {} \; | sort -u)
    exit "$status"
  4. Wyznacz właściciela. Pliki instrukcji zmieniają zachowanie agenta przy każdym uruchomieniu, więc recenzuj je jak kod. Zmiany zatwierdza tech lead albo właściciel builda, przez CODEOWNERS:

    AGENTS.md @your-org/eng-leads
    **/AGENTS.md @your-org/eng-leads
    CLAUDE.md @your-org/eng-leads
    .claude/ @your-org/eng-leads
    .cursor/rules/ @your-org/eng-leads
    .codex/ @your-org/eng-leads

Zastąp @your-org/eng-leads identyfikatorem swojego zespołu. Politykę całej organizacji, której pojedyncze osoby nie mogą nadpisać, umieść w ustawieniach zarządzanych, a nie w repozytorium; zobacz zarządzaną politykę agentów.

ObjawPrzyczynaNaprawa
Reguła Cursora ograniczona do tras API działa na każdym plikualwaysApply: true ma pierwszeństwo przed globsUstaw alwaysApply: false; zostaw globs
Reguła Cursora nigdy się nie ładujePlik kończy się na .md zamiast .mdc albo leży poza .cursor/rules/Zmień nazwę na .mdc w .cursor/rules/
Claude Code przestał stosować zespołowy AGENTS.mdKtoś dodał CLAUDE.local.md lub CLAUDE.md, co wyłącza tryb zapasowyDodaj @AGENTS.md na początku CLAUDE.md albo ustaw Project instructions na claude-md-and-agents-md
Claude Code ignoruje AGENTS.md na jednym laptopieTa instalacja jest starsza niż v2.1.277 albo ma wyłączony wbudowany plugin agents-mdUżyj importu @AGENTS.md; działa w każdej wersji
Claude Code zapomina instrukcję po /compactInstrukcja padła tylko na czacie albo leży w zagnieżdżonym pliku lub regule z paths, która jeszcze się nie przeładowałaPrzenieś ją do głównego CLAUDE.md; zagnieżdżone pliki ładują się ponownie, gdy Claude czyta tam plik
Codex ignoruje najnowsze reguły pakietuŁańcuch przekroczył project_doc_max_bytes; plik na granicy został obcięty, kolejne pominięteUruchom skrypt limitu, skróć plik w korzeniu albo podnieś project_doc_max_bytes
Codex ignoruje packages/api/AGENTS.mdCodex wystartował w korzeniu; pliki poniżej katalogu roboczego nie są czytaneUruchom Codeksa z --cd packages/api
Codex ignoruje commitowany .codex/config.toml albo wszystkie projektowe AGENTS.mdProjekt nie jest zaufany albo oznaczono go jako niezaufanyZaufaj projektowi, gdy Codex zapyta, i ponownie uruchom codex debug prompt-input
codex -a untrusted kończy się błędem „invalid value”Od 0.157.1 do 0.162.1 -a przyjmuje tylko on-request i neverUstaw approval_policy = "untrusted" w config.toml
AGENTS.override.md Codeksa nie działa w Claude CodeClaude Code nie czyta AGENTS.local.md, AGENTS.override.md ani niczego w .agents/Przenieś treść do AGENTS.md albo zaimportuj plik z CLAUDE.md przez @path
defaultMode: "auto" w .claude/settings.json nic nie zmieniaUstawienia projektu i lokalne nie mogą ustawić auto ani bypassPermissionsUstaw auto w ustawieniach użytkownika lub zarządzanych; nigdy nie ustawiaj bypassPermissions poza jednorazowym sandboksem z ograniczonym dostępem do sieci

Najczęstsze pytania

Który plik konfiguracyjny czyta każde narzędzie AI do kodowania?

Claude Code czyta CLAUDE.md, a AGENTS.md wtedy, gdy projekt nie ma CLAUDE.md (od v2.1.277, oba kanały wydań, stan na 2026-10-12). Cursor ładuje reguły projektu z .cursor/rules/*.mdc. Codex czyta pliki AGENTS.md od korzenia projektu do katalogu roboczego oraz config.toml z ustawieniami.

Czy Claude Code czyta AGENTS.md?

Tak, od v2.1.277 (oba kanały wydań, stan na 2026-10-12): w projekcie bez CLAUDE.md, .claude/CLAUDE.md i CLAUDE.local.md Claude Code czyta zamiast nich AGENTS.md. Gdy istnieją oba, czyta tylko CLAUDE.md, chyba że w /config ustawisz Project instructions na claude-md-and-agents-md albo dodasz @AGENTS.md na początku CLAUDE.md.

Czy importy w CLAUDE.md zmniejszają zużycie kontekstu?

Nie. Pliki dołączone importem @path ładują się przy starcie razem z CLAUDE.md, który je importuje. Ładowanie odraczają tylko reguły z paths w .claude/rules/, skille i pliki CLAUDE.md w podkatalogach.

Co się dzieje, gdy pliki instrukcji Codeksa przekroczą limit rozmiaru?

project_doc_max_bytes (domyślnie 32 KiB) ogranicza łączny rozmiar projektowych plików AGENTS.md. Z pliku, który przekracza limit, zostaje tylko początek, a każdy kolejny plik jest pomijany. Pliki ładują się od korzenia, więc obcięte zostają najbardziej szczegółowe instrukcje.

Dlaczego reguła Cursora z zakresem działa wszędzie?

W mechanizmie ładowania reguł z @cursor/sdk 1.0.32 alwaysApply: true ma pierwszeństwo przed globs, więc reguła z oboma polami jest zawsze aktywna. Ustaw alwaysApply: false i trzymaj regułę w pliku .mdc: ten mechanizm nie ładuje pliku .md z .cursor/rules/ jako reguły projektu.