Claude Code is not just another IDE plugin.

Claude Code, OpenAI Codex, Cursor, Google Antigravity — the difference is not the model. It's the primitives: how tools are defined, how agents compose, and how context is scoped.

Every agentic coding tool lets you talk to a model. That is table stakes. The question that actually matters is: what is the agent contract? How deep does the tool integration go? What can the agent do that you didn't explicitly ask for in the prompt?

Not all AI coding tools are the same tier.

There is a meaningful difference between a tool that suggests the next line of code, a tool that runs a test suite and iterates on failures, and a tool that reads your codebase, calls external APIs, opens a browser, and decides when to escalate. These are not the same tool at different quality levels. They are different primitives.

Claude Code

Full agentic loop. CLAUDE.md context files, custom skills, sub-agents, hooks, slash commands. Runs shell commands, opens browser, reads outputs, and iterates. Best for complex, multi-step engineering work.

OpenAI Codex

Strong code generation. Tool calling via function definitions. Good for structured output, API integration generation, and pair-coding on well-defined tasks. API-first.

Cursor

IDE-native with Composer for multi-file edits. Great for editors who want model-in-the-loop without leaving the IDE. Less configuration depth than Claude Code.

Google Antigravity

Gemini-powered. Strong multimodal context — screenshots, diagrams, long document context. Useful for vision-heavy or context-rich tasks. Still maturing on agent loop depth.

The CLAUDE.md contract.

The thing that makes Claude Code genuinely different is the CLAUDE.md system. A well-designed CLAUDE.md file is not just instructions — it is an agent contract. It defines how the agent should reason about your codebase, what tools to prefer, when to ask versus assume, and which conventions are load-bearing.

A Claude Code setup with a thoughtful CLAUDE.md, a set of custom skills loaded from .claude/skills/, and an AGENTS.md covering conventions is a different class of tool than an autocomplete extension. It remembers your team's patterns across sessions. It escalates the right things and handles the obvious ones silently.

The right tool is the one whose agent primitives match the workflow you are building.

When to use what.

We use Claude Code for anything with a loop — implement, test, fix, verify. The agent runs commands, reads results, and iterates. When the loop is what makes the work, Claude Code is the primitive that handles it.

We use Cursor for pair-coding sessions where a human is in the loop at every step. When the iteration speed of Composer is more useful than a full autonomous loop.

We use Codex API calls for structured generation tasks where we want deterministic output shapes — generating a set of typed API clients, converting a spec to test stubs, extracting data from documents.

Most non-trivial AI-native development ends up using more than one. The skill is knowing which primitives the task needs before you start.

On MCP servers.

Model Context Protocol changes the composition story. An MCP server is a clean way to give any agent tool access to a system without baking that access into the agent's core. We have built MCP servers for Postgres, for Stripe, for internal admin surfaces. Once the server is registered, any tool that speaks MCP can use it — Claude Code, Cursor, Antigravity, whatever the next entrant is.

The right way to think about MCP is: it's the universal adapter between agents and systems. The agent primitives matter for the reasoning and loop. MCP matters for what the agent can reach. Both need to be designed, not bolted on.