Getting Started with Codex: A Beginner's Guide

Learn what Codex is, which tasks to start with, how to write a clear prompt, and how to review the code it gives you.

Getting Started with Codex: A Beginner's Guide

Every Codex beginner makes the same mistake in the first five minutes. Myself included.

The first time I opened Codex, I went straight for “build my entire app.” Then I acted shocked when the whole thing went sideways.

Codex can do a lot, but handing it a giant, vague request and hoping it reads your mind is a quick way to wreck your week. The better approach is much less dramatic: give it one clear task, check what it changed, then move on to the next thing.

I want your first Codex session to feel a lot more manageable than mine did. So we’re covering what Codex is, which tasks to start with, how to give it a clear job and how to review what it hands back. No computer science degree required.

Because yes, you still have to check its work. Codex is a coding teammate, not a mind reader.

What is Codex?

Codex is an AI coding agent. In plain English, it’s software that can read your project, write and edit code, fix bugs, run commands, and review changes.

I treat it like a coding teammate I can hand a task to, not fancy autocomplete.

You are still the one deciding what matters. You define what “good” looks like, and you decide whether the result is safe to ship. Codex doesn’t replace your judgment. It speeds up the work that comes after you’ve made a decision.

Codex is useful long before you feel comfortable calling yourself a “real” software engineer, whatever that means.

I use it to code up ideas, run tests, review projects for security issues, and do a ton of design and front-end work. You can also ask it to explain a codebase you don’t understand yet. That last one is especially useful when you’re learning or returning to a project you haven’t touched in six months. Ask me how I know.

When should you use Codex?

Not every task needs a coding agent. When you’re getting started, choose work with a clear boundary and an obvious result.

Good beginner tasks sound like this:

  • “Explain how this codebase is organized. I’m confused by the structure.”
  • “Where does the login feature live in this project?”
  • “Add a mobile menu to the header. Don’t change anything outside the navigation component.”
  • “Write tests for this function.”
  • “Update the existing tests to cover this change.”

These tasks are specific enough for Codex to inspect the right files and show you something you can review.

Now compare those with:

  • “Build my entire app from scratch.”
  • “Fix everything wrong with this repo.”
  • “Rewrite my whole backend and don’t break anything.”

Absolutely not.

Codex can handle complicated work, but “complicated” and “vague” are not the same thing. A big feature needs context, a plan, and checkpoints. When you’re still learning how the agent works, start with something small enough that you can tell whether it did a good job.

The smaller and clearer the task, the easier the result is to review.

Choose where you want to use Codex

You can use Codex from your terminal, inside your code editor, in the ChatGPT desktop app, or in the cloud. You do not have to pick one and commit to it forever. Choose the option that feels most comfortable today.

Option A: Codex CLI

The Codex CLI is a good fit if you’re already comfortable working from your project folder in the terminal. Codex can inspect files, make changes, run commands, and help automate repeatable work without making you leave the terminal.

You’ll need Node.js and npm installed. If you don’t have them yet, start with the Node.js download page.

Then install Codex globally:

Terminal window
npm install --global @openai/codex

Move into your project folder and start it:

Terminal window
codex

Sign in with your ChatGPT account, or use an API key if that’s how your setup works.

Installing and starting Codex from a project folder in the terminal

Option B: the Codex IDE extension

The Codex IDE extension is my pick when I want to stay close to the code. Call me old school, but I like seeing the file I’m changing and the agent’s work in the same window.

Open VS Code or a compatible editor, go to the Extensions Marketplace, search for the Codex extension from OpenAI, install it, and sign in with your ChatGPT account.

The official OpenAI Codex extension in the VS Code Extensions Marketplace

The extension can use the file you have open or the code you’ve selected as context. That means you spend less time explaining where the problem lives, and Codex spends less time guessing.

Option C: the ChatGPT desktop app or Codex cloud

Codex now lives inside the ChatGPT desktop app as a dedicated coding experience. This is the friendliest option if you prefer a full interface over the terminal.

You can open a local project, isolate work in a Git worktree, or delegate the task to Codex cloud, where it runs in its own environment while you go do something else.

When Codex finishes, you can read its summary and inspect the diff, which is the exact record of the files and lines it changed. Then you decide what to keep, edit, or throw straight into the bin.

Download the ChatGPT desktop app, sign in, select Codex, and open the project you want to work on. If you want the hosted experience, you can also start from chatgpt.com/codex.

The Codex page showing the ChatGPT desktop app and cloud option

Your first Codex task

Let’s say I’m building a tiny app to track brand deals. God knows I need one of these myself.

My first prompt should not be:

Build me a complete brand deal management platform with authentication, analytics, invoicing, email reminders, and a cute dashboard.

That request already needs a project manager and a prayer.

I would start with:

Explain this project and suggest one small improvement I can make first. Don’t edit any files yet.

This gives Codex time to inspect the project and explain what’s already there before it touches anything.

Once I understand the starting point, I can give it one focused job:

Build the layout for logging one brand deal. The form needs fields for the brand name, amount, and status. Use the existing components and styles. Don’t add any dependencies. When you’re done, summarize the files you changed and tell me what to test.

That’s it. One task with a clear finish line.

Codex building and testing a brand deal tracker inside VS Code

A prompt framework you can reuse

OpenAI’s current prompting guide recommends giving Codex a goal, useful context, boundaries, and a clear definition of done for larger tasks. I use a similar four-part framework:

If prompting still feels a little fuzzy, read What is a Prompt (Really)? first. I explain the basics in plain English over there.

PartWhat it meansExample
ContextWhat Codex needs to know“This is a Next.js app using Tailwind.”
TaskWhat you want it to do“Add a form to log one brand deal.”
ConstraintsWhat it should not change“Don’t add new dependencies or edit the dashboard.”
ReviewWhat you want explained or checked“Run the tests, summarize the changes, and tell me what to review.”

You don’t have to turn every prompt into a five-page technical specification. One solid paragraph is enough:

This is a Next.js app using Tailwind. Add a form to log one brand deal with fields for the brand name, amount, and status. Use the existing components, don’t add dependencies, and don’t edit the dashboard. Run the relevant tests, then summarize what changed and tell me what I should check manually.

If the task is fuzzy or has several parts, ask Codex to inspect the project and make a plan before it writes code. A plan gives you a chance to catch a bad assumption while it’s still just a sentence in a chat instead of a bajillion changed files.

How to review Codex’s work

Giving Codex a good task is only half the job. The other half is checking what it gives you.

Before you accept a change, ask:

  • Did it only change the files I expected?
  • Did it add a new package or dependency?
  • Did it remove something I still need?
  • Does the new code match the style of the rest of my project?
  • Did the tests pass?
  • Can I explain what changed out loud to another person?
  • Would I feel comfortable shipping this?

Read the diff. Run the app. Click the button. Submit the form. Try the weird input you know a real person will eventually type.

If Codex made a change you don’t understand, that doesn’t automatically mean the code is bad. It means you need to slow down and ask another question:

Explain this change like I’m learning. What does it do, why did you choose this approach, and what could break?

That is a completely valid prompt. It’s also one of my favorites.

AI moves fast, which is exactly why your review habit matters. Speed without review is just a faster way to ship bugs.

Five beginner mistakes to avoid

1. Asking for too much at once

Instead of “build me a full SaaS app,” try “help me build the login page layout first.”

Break a big project into tasks the same way you would break it down for another person on your team. If one prompt contains twelve different features, it is probably twelve different prompts.

2. Giving Codex no context

Instead of “fix this,” try:

This error happens when I submit the sign-up form. Here is the error message and the file that handles the form. Find the cause, explain it to me, and suggest a fix before changing anything.

Without context, Codex has to guess. Those guesses turn into extra rounds of “no, not like that.”

3. Skipping the review

Do not accept a change just because Codex said the tests passed. Look at what changed and run the checks that matter to your project.

If you’re using the desktop app, open the diff panel. In the CLI or IDE extension, you can also use /review to ask Codex to review uncommitted changes or compare your work against another branch.

4. Treating it like a search engine

Codex can answer questions, but its real advantage is that it can work with the project in front of it. A one-line question with no project context will usually get you a generic answer. A clear job connected to your actual files can give you a change you can test.

5. Using the same settings for every task

Different tasks need different levels of effort and different tools. A quick explanation or tiny UI edit may only need a faster model with low reasoning. A messy, multi-step bug may need a stronger model and more time to think. You might use the IDE extension for a component change, the CLI for a debugging session, and the cloud for a longer task you want to run separately.

Once you find yourself repeating the same instructions, look into Codex skills. A skill saves the workflow in a reusable set of instructions, so you don’t have to explain the same process every single time.

A simple Codex workflow for beginners

Before you trust Codex with anything big, practice this loop:

  1. Start with one small task.
  2. Ask Codex to explain the relevant files.
  3. Ask for a plan if the task has several steps.
  4. Add your constraints and define what “done” means.
  5. Let Codex make the change.
  6. Review the diff.
  7. Ask what to test, then run those tests yourself.
  8. Commit the change only after you understand it.

That last part matters. Version control gives you a safe point to return to if the next change gets messy, and eventually, one of them will. That isn’t a Codex failure. That’s software.

Start smaller than you think

Your first few Codex sessions should teach you how to work with an agent, one small task at a time. You do not need to hand over your whole app.

Start small. Give it context. Review what it changes. Use each task to understand your own code a little better.

The girlies have too many good app ideas sitting in Notion to let one overambitious first prompt scare us away. Pick one tiny piece of the idea and build that first.

What do you want to build with Codex?

Happy building!

Kedasha

This post was written with the help of AI from a human-written script.

I write about building with AI.
Let's stay connected! 💕

Get the next post delivered to your inbox and follow me on Instagram for daily AI tips and coding content.

    See you on Instagram!