
Module 1 · Foundations
1.1 What Codex Actually Is
Here's a test. Open a terminal, cd into a real project, type codex, and ask: "Add rate limiting to the login endpoint." If your mental model is "ChatGPT that happens to run in a terminal," you're expecting it to describe an approach and hand you a snippet to paste in yourself. That's not what happens. It reads your routing layer to find the endpoint, checks what middleware is already wired in, decides whether you're on Express, Fastify, or something custom, writes the code, runs your test suite against it, and shows you a diff of exactly what changed and why — before you've typed a second message.
That's the actual category difference. ChatGPT in a browser tab is a conversation — you describe, it responds, you copy-paste, you wire it in yourself, you find out if it worked. Codex is an agent: it reads your actual codebase, executes real commands in a real sandbox, patches real files, and checks its own work against your actual test suite. Same underlying reasoning model family as ChatGPT, completely different mode of working — the difference between asking a colleague for advice over Slack and having them sit down at your keyboard and do the task.
A few things that trip people up early. First, "Codex" isn't one interface, it's one agent that shows up in five places — the terminal CLI, an IDE extension for VS Code, Cursor, and JetBrains, a desktop app, cloud tasks that run async and open a pull request, and a browser extension. Same engine, same AGENTS.md, same underlying reasoning, different surface depending on what you're doing at that moment (Module 3 is entirely about picking the right one). Second, "agentic" doesn't mean "unsupervised" — you control exactly how much it can do without asking first, which is the whole subject of Lesson 1.4.
Why open the course on this distinction instead of installation steps: almost every feature after this lesson — AGENTS.md, sandbox modes, MCP, cloud tasks — exists to make that read-plan-patch-verify loop more accurate and less babysat. Somebody who thinks of Codex as "ChatGPT but for code" will keep pasting snippets back and forth forever and never touch ninety percent of what makes it worth learning. Somebody who thinks of it as a fast, extremely literal engineer sitting at their keyboard — one who needs the same clear instructions and guardrails you'd give a new hire — ends up with senior-engineer output by Module 3.
Do this before moving on
in a real project (not a toy repo), run codex and ask for a one-paragraph summary of what the codebase does and how it's structured. Don't ask it to change anything yet. Just watch what files it opens on its own — that's your first look at how it explores.
