2026-09-19 Native AGENTS.md Support Across Coding Agents

What I set out to do

Find out whether Claude Code’s new AGENTS.md support needs a setting, then check the same for Gemini.

What I actually did

  • Claude Code: native support shipped in v2.1.277 (announcement, docs). The default mode claude-md-or-agents-md reads AGENTS.md only when there is no CLAUDE.md/CLAUDE.local.md in the working directory or above. The Project instructions option in /config switches modes; declaratively it is pluginConfigs."agents-md@builtin".options.instructionFiles (user or managed settings only). The feature turns off silently when feature flags aren’t fetched (Bedrock or other third-party providers, telemetry off), on the first session after an upgrade, or under disableAllHooks/allowManagedHooksOnly. None of those apply here. Every AGENTS.md in the dotfiles repo already has a sibling CLAUDE.md with @AGENTS.md, which the docs say to keep (no double load, and it still works when native support is off). The global ~/.claude/CLAUDE.md has to stay a CLAUDE.md because native support only looks in the working directory and the directories above it. Result: no change needed.
  • Antigravity CLI (agy 1.2.3): the gemini/gemini.nix module configures agy, not Gemini CLI. The Antigravity docs say it reads GEMINI.md or AGENTS.md at the workspace root. A behavioural canary probe confirmed AGENTS.md loads even with context.fileName = "GEMINI.md" set, which is probably a leftover from Gemini CLI.
  • Gemini CLI 0.52.0: canary probe showed it ignores AGENTS.md and reads GEMINI.md. It would need context.fileName: ["AGENTS.md", "GEMINI.md"]. It turned out to be an unmanaged global npm install, with no live ~/.gemini/settings.json (only .bak/.backup/.orig copies) and nothing referencing it in the repo. Uninstalled it with npm uninstall -g @google/gemini-cli.

What was striking

  • agy -p without --add-dir loads no workspace instruction files, not even GEMINI.md. Only the global ~/.gemini/GEMINI.md loads. The first probe returned NONE for both files, and only a GEMINI.md control showed that the probe was broken, not the feature. A recall-style canary (“what is the canary word”) was weaker than a behavioural one (“end every reply with X”).
  • Left the ~/.gemini state (oauth_creds.json, google_accounts.json, trustedFolders.json, state.json, settings.json.*) in place: agy shares the directory, and which tool owns each file is unclear.