AI coding agent config & compatibility hub
Which instruction files, skills folders, MCP config, permission rules, sandbox and subscriptions each of 17 coding agents supports. Every cell checked against official docs on 2026-10-12.
Short answer: 12 of 17 agents read AGENTS.md natively (Codex CLI, Cursor, GitHub Copilot, Devin Desktop (ex-Windsurf), Cline, Roo Code, Kilo Code, OpenCode, Amp, Kiro, Jules, Factory Droid). Claude Code reads it only when no CLAUDE.md exists, Gemini CLI needs context.fileName, Zed lets .rules win, and Aider needs --read. Write one AGENTS.md, then add the small per-agent bridges in the one-file guide.
AGENTS.md generator
Fill in your stack and commands; get AGENTS.md, a CLAUDE.md import line and a Cursor rule stub to copy or download.
AGENTS.md / CLAUDE.md linter
Paste your file: size and token estimate, missing build/test commands, vague rules, leaked secrets, conflicts, absolute paths.
One AGENTS.md for every agent
AGENTS.md vs CLAUDE.md, symlinks vs imports, and the per-agent caveats that make one file work everywhere.
Compatibility matrix
| Agent | Global instructions | Project instructions | Nested / subfolder | AGENTS.md | Skills (SKILL.md) | MCP config | Permissions / allowlist | Sandbox | Hooks | Claude Pro/Max login | ChatGPT Plus/Pro login | API key / own plan | Verified |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Claude Code CLI · IDE / editor | ✓ Yes~/.claude/CLAUDE.md, ~/.claude/rules/*.md; org-managed /etc/claude-code/CLAUDE.md (Linux) or /Library/Application Support/ClaudeCode/CLAUDE.md (macOS) | ✓ YesCLAUDE.md or .claude/CLAUDE.md, personal CLAUDE.local.md, .claude/rules/*.md (optional paths: globs); loaded from the working dir and every parent dir | ✓ Yes Subdirectory CLAUDE.md loads on demand when Claude reads or edits a file there | ◐ Partial Yes since v2.1.277, but only if there is no CLAUDE.md / CLAUDE.local.md in the working dir or above (default). Set Project instructions to claude-md-and-agents-md to read both. @AGENTS.md import always works | ✓ Yes~/.claude/skills/<name>/SKILL.md, .claude/skills/<name>/SKILL.md. .agents/skills is not listed in the docs | ✓ Yes.mcp.json at project root (shared, needs approval); user and local scopes in ~/.claude.json; claude mcp add --scope project|user|local | ✓ Yespermissions.allow / ask / deny in ~/.claude/settings.json, .claude/settings.json, .claude/settings.local.json, managed settings. Deny > ask > allow. Modes: default, acceptEdits, plan, auto, dontAsk, bypassPermissions | ✓ Yes Opt-in: /sandbox or sandbox.enabled: true. Seatbelt on macOS, bubblewrap + socat on Linux/WSL2 | ✓ Yeshooks in settings.json: PreToolUse, PostToolUse, SessionStart, Stop, UserPromptSubmit and more; exit code 2 blocks a tool call | ✓ Yes Log in with Claude Pro or Max (also Team/Enterprise) | ✕ No Not supported | ✓ YesANTHROPIC_API_KEY, Claude Console, Bedrock, Google Cloud, Microsoft Foundry | 2026-10-12 source |
| Codex CLI CLI · IDE / editor · Cloud | ✓ Yes~/.codex/AGENTS.override.md or ~/.codex/AGENTS.md ($CODEX_HOME); first non-empty file wins | ✓ Yes In each dir from git root to cwd: AGENTS.override.md, else AGENTS.md, else names in project_doc_fallback_filenames; max one per dir; 32 KiB total (project_doc_max_bytes) | ◐ Partial Directories between the repo root and where you launch Codex; files below the launch dir are not read | ✓ Yes Native, primary format. CLAUDE.md only if you add it to project_doc_fallback_filenames | ✓ Yes.agents/skills from cwd up to repo root, ~/.agents/skills, /etc/codex/skills | ✓ Yes[mcp_servers.<name>] in ~/.codex/config.toml or project .codex/config.toml (trusted projects only); codex mcp add | ✓ Yesapproval_policy = on-request | never | granular (untrusted retired, on-failure deprecated); .rules files with prefix_rule() decisions allow / prompt / forbidden | ✓ Yes On by default: sandbox_mode read-only / workspace-write / danger-full-access; no network by default. Seatbelt (macOS), bubblewrap (Linux/WSL2), native Windows sandbox | ✓ Yes~/.codex/hooks.json, <repo>/.codex/hooks.json or [hooks] in config.toml; PreToolUse can deny; enabled by default | ✕ No Not supported | ✓ Yes Sign in with ChatGPT uses your plan's Codex usage (required for Codex cloud) | ✓ Yes Sign in with an API key for usage-based billing | 2026-10-12 source |
| Cursor IDE / editor · CLI · Cloud | ✓ Yes User Rules in Customize → Rules (stored in Cursor, not a file); Team Rules from the dashboard | ✓ Yes.cursor/rules/*.mdc (frontmatter: description, globs, alwaysApply), AGENTS.md. Precedence Team → Project → User | ✓ Yes Nested AGENTS.md in any subdirectory; .cursor/rules/ subfolders | ✓ Yes Root and nested AGENTS.md, combined with parents | ✓ Yes.cursor/skills/, .agents/skills/, ~/.cursor/skills/, ~/.agents/skills/; also .claude/skills/ and .codex/skills/ for compatibility | ✓ Yes.cursor/mcp.json (project) and ~/.cursor/mcp.json (global), mcpServers object | ✓ Yes IDE Run Modes: Auto-review, Allowlist, Run Everything; permissions.json steers Auto-review. CLI: permissions.allow/deny with Shell(), Read(), Write(), WebFetch() in ~/.cursor/cli-config.json or .cursor/cli.json | ✓ Yes Terminal sandbox; configure with ~/.cursor/sandbox.json or .cursor/sandbox.json; network blocked by default inside it | ✓ Yes.cursor/hooks.json and ~/.cursor/hooks.json: preToolUse, beforeShellExecution, afterFileEdit and more; can load Claude Code hooks | ✕ No Not a login option; add an Anthropic API key instead | ✕ No Not a login option; add an OpenAI API key instead | ✓ Yes BYOK for OpenAI, Anthropic, Google, Azure OpenAI, AWS Bedrock (chat models only; Tab stays on Cursor models) | 2026-10-12 source |
| GitHub Copilot IDE / editor · Cloud · CLI | ✓ Yes Personal and organization instructions on GitHub.com; ~/.copilot/copilot-instructions.md for Copilot Agent Host / CLI sessions | ✓ Yes.github/copilot-instructions.md, .github/instructions/**/*.instructions.md (applyTo), AGENTS.md; cloud agent also CLAUDE.md or GEMINI.md at root | ◐ Partial Cloud agent: AGENTS.md anywhere, nearest wins. VS Code: nested AGENTS.md is experimental ( chat.useNestedAgentsMdFiles, off by default) | ✓ Yes VS Code agent mode and cloud agent; toggle chat.useAgentsMdFile in VS Code | ✓ Yes.github/skills, .claude/skills, .agents/skills; personal ~/.copilot/skills, ~/.agents/skills (cloud agent, CLI, VS Code) | ✓ Yes VS Code: .vscode/mcp.json (servers) or .mcp.json (mcpServers), plus user-profile mcp.json. Cloud agent: JSON in repository Settings (mcpServers) | ✓ Yes VS Code permission levels and Autopilot; chat.tools.terminal.autoApprove (true / false / regex), chat.tools.edits.autoApprove, chat.tools.urls.autoApprove | ✓ Yes VS Code agent sandboxing (Preview on macOS/Linux/WSL2, experimental on Windows). Cloud agent: ephemeral cloud environment + internet firewall | ✓ Yes.github/hooks/*.json for cloud agent and Copilot CLI (personal ~/.copilot/hooks/*.json); VS Code also reads .github/hooks/ (Preview) | ✕ No Not documented | ✕ No Not documented | ◐ Partial Copilot plan required; bring-your-own-key options not verified here | 2026-10-12 source |
| Antigravity / Gemini CLI CLI · IDE / editor | ✓ Yes Antigravity: ~/.gemini/AGENTS.md, ~/.gemini/GEMINI.md, ~/.gemini/config/AGENTS.md. Gemini CLI: ~/.gemini/GEMINI.md | ✓ Yes Antigravity: AGENTS.md / GEMINI.md, .agents/AGENTS.md, .agents/rules/*.md. Gemini CLI: GEMINI.md in workspace dirs and parents | ✓ Yes Directory-scoped rules at each level; Gemini CLI loads GEMINI.md just-in-time when a tool touches a directory | ◐ Partial Antigravity: yes, native. Gemini CLI: only via context.fileName (e.g. ["AGENTS.md", "GEMINI.md"]) | ✓ Yes.agents/skills/ (workspace), ~/.gemini/config/skills/ (Antigravity), ~/.gemini/antigravity-cli/skills/ (CLI); Gemini CLI: .gemini/skills/ or .agents/skills/, ~/.gemini/skills/ | ✓ Yes Antigravity: ~/.gemini/config/mcp_config.json, .agents/mcp_config.json. Gemini CLI: mcpServers in ~/.gemini/settings.json or .gemini/settings.json | ✓ Yes Antigravity: Deny > Ask > Allow rules ( command(), read_file(), write_file(), read_url(), mcp()) over a Default / Request Review / Turbo preset. Gemini CLI: policy engine TOML in ~/.gemini/policies/ (allow / deny / ask_user) | ✓ Yes Antigravity terminal sandbox on under the Default preset (workspace + temp only, no network). Gemini CLI: --sandbox / -s (Docker, Podman or macOS Seatbelt) | ✓ Yes Antigravity: .agents/hooks.json, ~/.gemini/config/hooks.json. Gemini CLI: hooks in settings.json | ✕ No Not supported | ✕ No Not supported | ✓ Yes Google account sign-in (free, Google AI Pro/Ultra, enterprise) or a Gemini API key; Vertex AI for Gemini CLI | 2026-10-12 source |
| Devin Desktop (ex-Windsurf) Changed IDE / editor · CLI | ✓ Yes Cascade: ~/.codeium/windsurf/memories/global_rules.md (6,000 chars). Devin Local/CLI: ~/.config/devin/AGENTS.md, ~/.claude/CLAUDE.md | ✓ Yes.devin/rules/*.md (preferred) or .windsurf/rules/*.md, 12,000 chars per file; AGENTS.md; Devin Local also AGENTS.local.md, AGENT.md, CLAUDE.md, .windsurfrules, .cursor/rules/*.mdc | ✓ Yes Subdirectory AGENTS.md is scoped to that folder; rules dirs found in subfolders and parents up to the git root | ✓ Yes Root AGENTS.md is an always-on rule; nested files apply to their directory | ✓ Yes.devin/skills/ or .windsurf/skills/, .agents/skills/; global ~/.config/devin/skills/, ~/.agents/skills/ | ✓ Yes Devin Local/CLI: .devin/mcp_config.json (project), .devin/mcp_config.local.json (local), ~/.config/devin/mcp_config.json (user). Legacy Cascade: its own mcp_config.json | ✓ Yes Devin Local: deny / ask / allow rules ( Read(), Write(), Exec(), fetch, MCP) in .devin/config.json or ~/.config/devin/config.json | ✓ Yes Devin Local supports OS-level sandboxing (filesystem + network filtering) | ✓ Yes Devin CLI/Local hooks in .devin/; Cascade Hooks for the legacy agent | ✕ No Not documented | ✕ No Not documented | ? Not documented Uses Devin/Windsurf plan quota; BYOK not documented in the pages checked | 2026-10-12 source |
| Cline IDE / editor · CLI | ✓ Yes~/Documents/Cline/Rules (also ~/.cline/rules), ~/.agents/AGENTS.md | ✓ Yes.clinerules/ or .cline/rules/; auto-detects .cursorrules, .windsurfrules, AGENTS.md | ? Not documented Not documented | ✓ YesAGENTS.md and global ~/.agents/AGENTS.md | ✓ Yes.cline/skills/ (recommended), .clinerules/skills/, .claude/skills/; global ~/.cline/skills/ | ✓ Yes IDE: MCP Servers → Configure → cline_mcp_settings.json (mcpServers). CLI: ~/.cline/data/settings/cline_mcp_settings.json | ◐ Partial Auto Approve per category (read, edit, safe commands, all commands) and YOLO mode; the model flags commands as requiring approval, no fixed allowlist | ? Not documented Not documented for the local extension | ◐ Partial Lifecycle hooks via plugins | ✓ Yes Claude Code provider: uses your Claude Pro/Max limits via the installed, logged-in Claude CLI | ✓ Yes OpenAI Codex provider: sign in with your ChatGPT account (OAuth) | ✓ Yes Anthropic, OpenAI, OpenRouter, Bedrock, Gemini and many more providers | 2026-10-12 source |
| Roo Code Discontinued IDE / editor | ✓ Yes~/.roo/rules/, ~/.roo/rules-<mode>/ | ✓ Yes.roo/rules/ (preferred) or .roorules; .roo/rules-<mode>/ | ? Not documented Not documented | ✓ Yes Root AGENTS.md (or AGENT.md), on by default | ✓ Yes.roo/skills/, .agents/skills/; global ~/.roo/skills/, ~/.agents/skills/ | ✓ Yes Global mcp_settings.json; project .roo/mcp.json | ✓ Yes Auto-approve with allowed / denied command prefix lists | ? Not documented Not documented | ? Not documented Not documented | ? Not documented Not verified (product discontinued) | ? Not documented Not verified (product discontinued) | ✓ Yes Your own provider keys | 2026-10-12 source |
| Kilo Code IDE / editor · CLI | ✓ Yesinstructions in ~/.config/kilo/kilo.jsonc; ~/.kilo/rules/*.md | ✓ YesAGENTS.md / AGENT.md; files under instructions in kilo.jsonc or .kilo/kilo.jsonc (e.g. .kilo/rules/*.md); legacy .kilocode/rules/ | ✓ Yes Subdirectory AGENTS.md loads when the agent accesses files there | ✓ Yes Loaded automatically; replaces the deprecated memory bank | ✓ Yes.kilo/skills/, ~/.kilo/skills/, .agents/skills/, ~/.agents/skills/; .claude/skills/ with Claude Code compatibility on | ✓ Yesmcp key in kilo.jsonc / .kilo/kilo.jsonc or ~/.config/kilo/kilo.jsonc | ✓ Yespermission in kilo.jsonc: allow / ask / deny per tool (read, edit, bash, webfetch…) with patterns | ✓ Yes Optional OS sandbox (off by default; macOS/Linux, not Windows): limits writes and blocks network | ◐ Partial Plugins ( .kilo/plugin/*.ts) with events such as tool.execute.before | ? Not documented Not documented | ✓ Yes Connect a ChatGPT Plus/Pro subscription for supported OpenAI models | ✓ Yes Kilo Gateway credits or your own provider keys | 2026-10-12 source |
| Aider CLI | ◐ Partialread: in ~/.aider.conf.yml | ◐ Partial Only files you pass with --read / /read or list under read: in .aider.conf.yml | ✕ No No automatic discovery | ◐ Partial Not auto-loaded; read: AGENTS.md works like any conventions file | ? Not documented Not documented | ? Not documented Not documented in Aider's docs | ◐ Partial Confirms suggested shell commands; --yes-always skips confirmations; auto-commits every edit | ? Not documented Not documented | ◐ Partial--lint-cmd / --test-cmd run after edits (no general hook system documented) | ? Not documented Not documented | ? Not documented Not documented | ✓ Yes API keys for Anthropic, OpenAI, Gemini, DeepSeek, OpenRouter, local models and more | 2026-10-12 source |
| OpenCode CLI · IDE / editor | ✓ Yes~/.config/opencode/AGENTS.md, else ~/.claude/CLAUDE.md | ✓ YesAGENTS.md (else CLAUDE.md) found by traversing up from cwd; instructions array in opencode.json | ◐ Partial Parent directories by traversing up; first match wins | ✓ Yes Primary format | ✓ Yes.opencode/skills/, .claude/skills/, .agents/skills/; global ~/.config/opencode/skills/, ~/.claude/skills/, ~/.agents/skills/ | ✓ Yesmcp key in opencode.json / opencode.jsonc (project or ~/.config/opencode/) | ✓ Yespermission in opencode.json: allow / ask / deny per tool (bash, edit, webfetch, external_directory…) with wildcards; last matching rule wins | ? Not documented Not documented | ✓ Yes Plugins in .opencode/plugins/ subscribe to events such as tool execution | ✕ No Not supported: Anthropic prohibits Claude Pro/Max in third-party tools; OpenCode removed those plugins in v1.3.0 | ✓ Yes ChatGPT Plus works with zero setup (also GitHub Copilot, GitLab Duo) | ✓ Yes 75+ providers via API keys, local models | 2026-10-12 source |
| Zed IDE / editor | ✓ Yes~/.config/zed/AGENTS.md | ✓ Yes First match of .rules, .cursorrules, .windsurfrules, .clinerules, .github/copilot-instructions.md, AGENT.md, AGENTS.md, CLAUDE.md, GEMINI.md | ? Not documented Not documented | ◐ Partial Yes, but .rules, .cursorrules, .windsurfrules, .clinerules, copilot-instructions.md or AGENT.md take priority | ✓ Yes~/.agents/skills/ and <worktree>/.agents/skills/ (flat layout) | ✓ Yescontext_servers in Zed settings.json, or MCP extensions | ✓ Yesagent.tool_permissions (v0.224+): default plus per-tool always_allow / always_confirm / always_deny regex patterns | ? Not documented Not documented | ? Not documented Not documented | ◐ Partial Only via the Claude Agent (ACP), which has its own login | ◐ Partial Only via the Codex external agent | ✓ Yes Zed's hosted models or your own provider keys | 2026-10-12 source |
| Amp CLI · Cloud | ✓ Yes~/.config/amp/AGENTS.md, ~/.config/AGENTS.md; system /etc/ampcode/AGENTS.md | ✓ YesAGENTS.md in cwd and parent dirs (fallback AGENT.md or CLAUDE.md) | ✓ Yes Subtree AGENTS.md included when the agent reads a file in that subtree | ✓ Yes Primary format | ✓ Yes.agents/skills/ (project and parents), ~/.config/agents/skills/, ~/.agents/skills/, ~/.config/amp/skills/ | ✓ Yesamp.mcpServers in ~/.config/amp/settings.json or .amp/settings.json | ◐ Partialamp.mcpPermissions, amp.tools.disable; plugins handle tool.call to allow / reject / modify | ? Not documented Local CLI sandbox not documented | ✓ Yes Plugins ( .amp/plugins/, ~/.config/amp/plugins/): tool.call, tool.result, session and agent events | ? Not documented Not documented | ✓ Yes Sign in with ChatGPT Plus or Pro for OpenAI models | ◐ Partial Amp credits / plans; BYOK not documented | 2026-10-12 source |
| Kiro IDE / editor · CLI · Cloud | ✓ Yes~/.kiro/steering/*.md (AGENTS.md allowed there) | ✓ Yes.kiro/steering/*.md with inclusion modes; AGENTS.md at root | ? Not documented Not documented | ✓ Yes Always included (no inclusion modes) | ✓ Yes.kiro/skills/ (workspace), ~/.kiro/skills/ (global) | ✓ Yes.kiro/settings/mcp.json (workspace), ~/.kiro/settings/mcp.json (user) | ✓ Yes Capability rules ( shell, fs_read, fs_write, web_fetch, mcp) with deny > ask > allow in ~/.kiro/settings/permissions.yaml | ◐ Partial Kiro on the web runs in an isolated cloud sandbox; local sandbox not detailed | ✓ Yes.kiro/hooks/ (file events, tool events) | ✕ No Not supported | ✕ No Not supported | ✕ No Kiro plans; sign in with GitHub, Google, AWS Builder ID or IAM Identity Center | 2026-10-12 source |
| Jules Cloud | ? Not documented Not documented | ✓ YesAGENTS.md in the repository root | ? Not documented Not documented | ✓ Yes Root AGENTS.md, read automatically | ? Not documented Not documented | ◐ Partial Vetted servers only (e.g. Linear, Neon, Supabase, Context7), configured in Settings with API keys | ◐ Partial Plan review and approval before coding | ✓ Yes Every task runs in a fresh short-lived VM | ? Not documented Not documented | ✕ No Not supported | ✕ No Not supported | ✕ No Google account; higher limits via Google AI Pro / Ultra | 2026-10-12 source |
| Factory Droid CLI · IDE / editor · Cloud | ✓ Yes~/.factory/, ~/.agents/, ~/.agent/ (AGENTS.md) | ✓ YesAGENTS.md in each dir from cwd up to git root, and in .factory/, .agents/, .agent/ | ✓ Yes Nested AGENTS.md refines root files | ✓ Yes Primary format | ✓ Yes.factory/skills/, .agents/skills/; ~/.factory/skills/, ~/.agents/skills/ | ✓ Yes~/.factory/mcp.json (user), .factory/mcp.json (project) | ✓ YespermissionRules (allow / ask / block, token-prefix match, required tests) in ~/.factory/settings.json or .factory/settings.json; autonomy levels | ✓ Yes OS sandbox: Seatbelt (macOS), bubblewrap (Linux/WSL2); per-command or whole-process | ✓ Yes~/.factory/hooks.json, .factory/hooks.json | ? Not documented Not documented | ? Not documented Not documented | ✓ Yes Factory plans or BYOK custom models | 2026-10-12 source |
| Continue Discontinued IDE / editor · CLI | ? Not documented Not documented on the rules page | ✓ Yes.continue/rules/*.md (Markdown or YAML) | ? Not documented Not documented | ? Not documented Not documented | ? Not documented Not documented | ✓ YesmcpServers in config, or files in .continue/mcpServers/ (accepts Claude/Cursor/Cline JSON) | ? Not documented Not documented on the pages checked | ? Not documented Not documented | ? Not documented Not documented | ? Not documented Not documented | ? Not documented Not documented | ✓ Yes Your own keys or local models | 2026-10-12 source |
Legend: ✓ Yes ◐ Partial / with caveats ✕ No ? Not documented in the vendor docs we checked. Raw data: config.json. Found an error? Each agent page links the exact doc pages we used.
Instruction files by agent
Which project file each agent reads, and whether it accepts AGENTS.md:
| Agent | Project instruction files | AGENTS.md |
|---|---|---|
| Claude Code | CLAUDE.md or .claude/CLAUDE.md, personal CLAUDE.local.md, .claude/rules/*.md (optional paths: globs); loaded from the working dir and every parent dir | ◐ Partial |
| Codex CLI | In each dir from git root to cwd: AGENTS.override.md, else AGENTS.md, else names in project_doc_fallback_filenames; max one per dir; 32 KiB total (project_doc_max_bytes) | ✓ Yes |
| Cursor | .cursor/rules/*.mdc (frontmatter: description, globs, alwaysApply), AGENTS.md. Precedence Team → Project → User | ✓ Yes |
| GitHub Copilot | .github/copilot-instructions.md, .github/instructions/**/*.instructions.md (applyTo), AGENTS.md; cloud agent also CLAUDE.md or GEMINI.md at root | ✓ Yes |
| Antigravity / Gemini CLI | Antigravity: AGENTS.md / GEMINI.md, .agents/AGENTS.md, .agents/rules/*.md. Gemini CLI: GEMINI.md in workspace dirs and parents | ◐ Partial |
| Devin Desktop (ex-Windsurf) | .devin/rules/*.md (preferred) or .windsurf/rules/*.md, 12,000 chars per file; AGENTS.md; Devin Local also AGENTS.local.md, AGENT.md, CLAUDE.md, .windsurfrules, .cursor/rules/*.mdc | ✓ Yes |
| Cline | .clinerules/ or .cline/rules/; auto-detects .cursorrules, .windsurfrules, AGENTS.md | ✓ Yes |
| Kilo Code | AGENTS.md / AGENT.md; files under instructions in kilo.jsonc or .kilo/kilo.jsonc (e.g. .kilo/rules/*.md); legacy .kilocode/rules/ | ✓ Yes |
| Aider | Only files you pass with --read / /read or list under read: in .aider.conf.yml | ◐ Partial |
| OpenCode | AGENTS.md (else CLAUDE.md) found by traversing up from cwd; instructions array in opencode.json | ✓ Yes |
| Zed | First match of .rules, .cursorrules, .windsurfrules, .clinerules, .github/copilot-instructions.md, AGENT.md, AGENTS.md, CLAUDE.md, GEMINI.md | ◐ Partial |
| Amp | AGENTS.md in cwd and parent dirs (fallback AGENT.md or CLAUDE.md) | ✓ Yes |
| Kiro | .kiro/steering/*.md with inclusion modes; AGENTS.md at root | ✓ Yes |
| Jules | AGENTS.md in the repository root | ✓ Yes |
| Factory Droid | AGENTS.md in each dir from cwd up to git root, and in .factory/, .agents/, .agent/ | ✓ Yes |
MCP config file location by agent
No two agents share an MCP file, though most use the same mcpServers JSON shape (VS Code uses servers; Codex uses TOML; OpenCode and Kilo use mcp).
| Agent | MCP config |
|---|---|
| Claude Code | .mcp.json at project root (shared, needs approval); user and local scopes in ~/.claude.json; claude mcp add --scope project|user|local |
| Codex CLI | [mcp_servers.<name>] in ~/.codex/config.toml or project .codex/config.toml (trusted projects only); codex mcp add |
| Cursor | .cursor/mcp.json (project) and ~/.cursor/mcp.json (global), mcpServers object |
| GitHub Copilot | VS Code: .vscode/mcp.json (servers) or .mcp.json (mcpServers), plus user-profile mcp.json. Cloud agent: JSON in repository Settings (mcpServers) |
| Antigravity / Gemini CLI | Antigravity: ~/.gemini/config/mcp_config.json, .agents/mcp_config.json. Gemini CLI: mcpServers in ~/.gemini/settings.json or .gemini/settings.json |
| Devin Desktop (ex-Windsurf) | Devin Local/CLI: .devin/mcp_config.json (project), .devin/mcp_config.local.json (local), ~/.config/devin/mcp_config.json (user). Legacy Cascade: its own mcp_config.json |
| Cline | IDE: MCP Servers → Configure → cline_mcp_settings.json (mcpServers). CLI: ~/.cline/data/settings/cline_mcp_settings.json |
| Kilo Code | mcp key in kilo.jsonc / .kilo/kilo.jsonc or ~/.config/kilo/kilo.jsonc |
| Aider | Not documented in Aider's docs |
| OpenCode | mcp key in opencode.json / opencode.jsonc (project or ~/.config/opencode/) |
| Zed | context_servers in Zed settings.json, or MCP extensions |
| Amp | amp.mcpServers in ~/.config/amp/settings.json or .amp/settings.json |
| Kiro | .kiro/settings/mcp.json (workspace), ~/.kiro/settings/mcp.json (user) |
| Jules | Vetted servers only (e.g. Linear, Neon, Supabase, Context7), configured in Settings with API keys |
| Factory Droid | ~/.factory/mcp.json (user), .factory/mcp.json (project) |
Claude / ChatGPT subscription vs API key
| Agent | Claude Pro/Max | ChatGPT Plus/Pro | API key / own plan |
|---|---|---|---|
| Claude Code | ✓ Yes Log in with Claude Pro or Max (also Team/Enterprise) | ✕ No Not supported | ANTHROPIC_API_KEY, Claude Console, Bedrock, Google Cloud, Microsoft Foundry |
| Codex CLI | ✕ No Not supported | ✓ Yes Sign in with ChatGPT uses your plan's Codex usage (required for Codex cloud) | Sign in with an API key for usage-based billing |
| Cursor | ✕ No Not a login option; add an Anthropic API key instead | ✕ No Not a login option; add an OpenAI API key instead | BYOK for OpenAI, Anthropic, Google, Azure OpenAI, AWS Bedrock (chat models only; Tab stays on Cursor models) |
| GitHub Copilot | ✕ No Not documented | ✕ No Not documented | Copilot plan required; bring-your-own-key options not verified here |
| Antigravity / Gemini CLI | ✕ No Not supported | ✕ No Not supported | Google account sign-in (free, Google AI Pro/Ultra, enterprise) or a Gemini API key; Vertex AI for Gemini CLI |
| Devin Desktop (ex-Windsurf) | ✕ No Not documented | ✕ No Not documented | Uses Devin/Windsurf plan quota; BYOK not documented in the pages checked |
| Cline | ✓ Yes Claude Code provider: uses your Claude Pro/Max limits via the installed, logged-in Claude CLI | ✓ Yes OpenAI Codex provider: sign in with your ChatGPT account (OAuth) | Anthropic, OpenAI, OpenRouter, Bedrock, Gemini and many more providers |
| Kilo Code | ? Not documented Not documented | ✓ Yes Connect a ChatGPT Plus/Pro subscription for supported OpenAI models | Kilo Gateway credits or your own provider keys |
| Aider | ? Not documented Not documented | ? Not documented Not documented | API keys for Anthropic, OpenAI, Gemini, DeepSeek, OpenRouter, local models and more |
| OpenCode | ✕ No Not supported: Anthropic prohibits Claude Pro/Max in third-party tools; OpenCode removed those plugins in v1.3.0 | ✓ Yes ChatGPT Plus works with zero setup (also GitHub Copilot, GitLab Duo) | 75+ providers via API keys, local models |
| Zed | ◐ Partial Only via the Claude Agent (ACP), which has its own login | ◐ Partial Only via the Codex external agent | Zed's hosted models or your own provider keys |
| Amp | ? Not documented Not documented | ✓ Yes Sign in with ChatGPT Plus or Pro for OpenAI models | Amp credits / plans; BYOK not documented |
| Kiro | ✕ No Not supported | ✕ No Not supported | Kiro plans; sign in with GitHub, Google, AWS Builder ID or IAM Identity Center |
| Jules | ✕ No Not supported | ✕ No Not supported | Google account; higher limits via Google AI Pro / Ultra |
| Factory Droid | ? Not documented Not documented | ? Not documented Not documented | Factory plans or BYOK custom models |
Safe-permission presets
Every agent page ends with a copy-paste preset that blocks rm -rf, git push --force, git reset --hard and DROP TABLE, keeps .env and ~/.ssh out of reach and asks before git push. Command rules match text, so turn on the sandbox too.
- Claude Code: Safe settings.json: block destructive commands and secrets
- Codex CLI: Safe Codex setup: workspace sandbox, no network, forbidden commands
- Cursor: Safe Cursor CLI permissions (deny destructive commands and secrets)
- GitHub Copilot: Safe VS Code settings for Copilot agent mode
- Antigravity / Gemini CLI: Safe Antigravity permissions (Deny / Ask lists)
- Devin Desktop (ex-Windsurf): Safe Devin Local permissions
- Cline: Safe Cline Auto Approve settings
- Kilo Code: Safe Kilo permissions
- Aider: Safe Aider config
- OpenCode: Safe opencode.json permissions
- Zed: Safe Zed tool permissions
- Amp: Plugin that rejects destructive shell commands
- Kiro: Safe Kiro permissions
- Jules: Safe Jules workflow
- Factory Droid: Safe Droid permission rules