Skip to main content
NeVibe · guide · 2026-10-24

Claude Code vs Codex: a side-by-side from the docs

Both agents run in the terminal, read SKILL.md and connect to MCP servers. The real differences are in the files: Claude Code keeps rules in CLAUDE.md, Codex in AGENTS.md, and their subagents use Markdown and TOML respectively.

How Claude Code and Codex differ

Claude Code is built by Anthropic. The docs list the terminal, VS Code and JetBrains extensions, a desktop app and the web, all sharing the same CLAUDE.md files, settings and MCP servers.

Codex is built by OpenAI. Its docs cover a CLI and an IDE extension. Note that developers.openai.com/codex now redirects to learn.chatgpt.com/docs, so older tutorials point there.

As of October 24, 2026, a feature checklist will not separate them: both have skills, subagents, hooks, plugins and MCP. What matters is where files go and what survives a move between the two.

Comparison table

FeatureClaude CodeCodexProject rulesCLAUDE.md, .claude/rules/*.md with paths; AGENTS.md since v2.1.277, only when no CLAUDE.md existsAGENTS.md and AGENTS.override.md from repo root down to the current folder, 32 KiB cap by defaultSkills.claude/skills/<name>/SKILL.md, ~/.claude/skills/.agents/skills/, ~/.agents/skills/, /etc/codex/skillsInvoking a skill/name or automatic by description$name, /skills or automatic by descriptionInstalling a skill/plugin install, npx skills add <repo> -a claude-code, gh skill install$skill-installer <name>, npx skills add <repo> -a codexSubagents.claude/agents/*.md: name and description in frontmatter, body is the system prompt.codex/agents/*.toml: name, description, developer_instructionsHookssettings.json, 33 events, handler types command, http, mcp_tool, prompt, agenthooks.json or [hooks] in config.toml, 12 events, must be trusted via /hooksPlugins.claude-plugin/plugin.json, marketplaces via /plugin marketplace add/plugins browser, marketplaces synced from GitHubMCP.mcp.json (JSON, mcpServers key), claude mcp add~/.codex/config.toml, [mcp_servers.<name>] tables, codex mcp addSlash commands.claude/commands merged into skills, old files still workcustom prompts in ~/.codex/prompts are deprecated in favor of skills

Sources: Claude Code memory, Claude Code hooks, Codex AGENTS.md, Codex hooks, Codex subagents.

What carries over unchanged

Skills mostly do. Both read the open Agent Skills format. The catch is the path. Codex looks in .agents/skills, and the Claude Code docs do not mention that directory, so a skill placed only there is invisible to Claude Code. Install with npx skills add for both agents, or keep a copy in .claude/skills.

The second catch is frontmatter. Claude Code understands extra fields such as context: fork, hooks and model; Codex ignores them. For a skill meant to run in both, stick to the six spec fields. See how to write a SKILL.md.

Rules carry over through a bridge. Codex reads AGENTS.md natively. Claude Code skips AGENTS.md when a CLAUDE.md exists, so you add a single line, @AGENTS.md, to CLAUDE.md. The loading modes are covered in AGENTS.md vs CLAUDE.md.

Subagents and MCP configs do not. Markdown versus TOML, JSON versus TOML. Convert by hand or with rulesync or ruler.

Where the difference shows up day to day

Hooks first. Claude Code has 33 events and five handler types, and exit code 2 blocks the action. The Codex docs list 12 events, including PermissionRequest and PostCompact, and every non-managed hook needs explicit approval. Either one can block a dangerous shell command. Codex hooks can run scripts and MCP tools; an http handler type that posts to an endpoint on its own is documented only for Claude Code.

Then the skill listing budget. Claude Code reserves 1% of the context window for the list and truncates each description at 1,536 characters. Codex takes 2% of the window, or 8,000 characters when the window size is unknown, and shortens descriptions when space runs out. With a hundred skills installed, both start missing the right one.

Which one fits your setup

  • Mixed-tool team with an existing AGENTS.md: Codex reads it as is; Claude Code needs the bridge line.
  • Hook-driven automation (format after edit, block rm -rf, pre-commit checks): Claude Code has more events, more handler types and more detailed docs.
  • Ready-made plugins: Anthropic runs two marketplaces: the official one and a community one where every plugin passed an automated security scan. See best Claude Code plugins.
  • Solo project: pick the agent whose model you prefer. Formats will not lock you in as long as rules live in AGENTS.md and skills stay within the six standard fields.

Browse Claude Code skills and Codex skills.

FAQ

Codex vs Claude Code: which is better?

Feature for feature they are close: both have skills, subagents, hooks, plugins and MCP. Claude Code has the richer hook system, Codex reads AGENTS.md natively. For a solo project, the model you prefer is the deciding factor.

Does Claude Code read AGENTS.md?

Yes, since version 2.1.277, but by default only when there is no CLAUDE.md, .claude/CLAUDE.md or CLAUDE.local.md in the folder or above. To load both, add the line @AGENTS.md to CLAUDE.md or switch to the claude-md-and-agents-md mode.

Does Codex have skills like Claude?

Yes. Codex reads the same SKILL.md format from .agents/skills and ~/.agents/skills. You call a skill with $name or /skills, or Codex picks it by description. Curated skills install with $skill-installer.

Does Codex support hooks and subagents?

Yes. Hooks go in hooks.json or in config.toml, and custom agents are TOML files in .codex/agents or ~/.codex/agents with name, description and developer_instructions.

NeVibe catalog

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor