Codex - Full Course for Beginners
By Tech With Tim
Summary
Topics Covered
- Higher reasoning can stretch a task to 30 minutes
- Compact your context before performance degrades
- The /goal command unlocks persistent agent loops
- Codex forgets by default — agents.md fixes that
Full Transcript
This video will teach you Codex.
I'll go through all of the important features, show you how to set it up and install it, and assume no prior knowledge.
So even if you're a complete beginner, you'll be able to follow along.
Now I'm going to be covering things like computer use or browser control.
I'm going to show you how to set it up for coding model selection, all of the different commands like slash goal, and a lot of the new features that I haven't seen many people cover.
So with that said, stick around.
Let's get into it and let me teach you Codex.
So let's start by discussing what Codex is.
We'll look at how we can use it because there's actually many different ways.
And then I'll start going through all of the different features.
There'll be timestamps down below in case you want to skip forward.
And keep in mind I like to make things really thorough in detailed.
So if you feel like I'm going to slow, fast forward to the next section okay.
So first what is Codex?
Well Codex is essentially OpenAI's answer to tools like Claude code.
It's actually much more involved than Claude code I would say it has a lot more features, and a lot of people don't know about what you can do with it.
Now, the basics is that you can use it to write code because it will give you access to their top models like GPT 5.5.
However, you can also use it to control your computer, to automate tasks, to perform something repetitive for you.
And you can even do something like tell it to play a song on Spotify for you.
And it can go and do that by controlling your computer.
So there's a lot of cool features that are not just related to coding.
I'm going to try to cover all of those in this video.
So what I want to do is quickly cover how you can use Codex, because there's a lot of different ways.
And OpenAI has been very confusing with the naming of Codex because they had models called Codex like their actual LLMs. Now they have the tool called Codex, and you can use it in like many different fashions.
So for this video we're going to be using the stand alone desktop application.
The way this works is you download it and install it on your computer.
You can get it for windows, Mac and then they don't have it for Linux right now.
So just Windows or Mac.
Now you'll sign into this using your ChatGPT subscription.
You can use it, I believe, as low as $20 per month on the plus plan.
Just keep in mind I do have the $200 per month plan, so my usage limits will be significantly higher.
Now the limits are typically very generous.
You're probably going to get 5 or 10 times the amount of usage.
Then you would compare it to something like Claude Code, so I wouldn't be too concerned with ripping through it.
Unless you use the highest end models and you're running it 24 over seven.
Now you can also use this with an OpenAI API key.
I definitely do not recommend that because that's going to be very expensive.
So first up, if you don't want to be downloaded and installed Codex, I'll leave a link to it in the description sign in with your ChatGPT account, then you're good to go now as well as the desktop app, which again is what we're going to be using.
They also have an IDE extension.
You can install this in the popular editors like cursor, Visual Studio Code and Windsurf and have access to the same Codex interface inside of that editor.
If you're a developer, you may want to do that.
We also have CLI.
Now this is a command line interface more familiar to something like cloud Code, where you're not in kind of a nice graphical user interface, which you'll see in a minute.
But the advantage here is that you can run this on something like Linux or a server, and you can have this as a remote machine that's running 24 over seven.
Same thing. You can sign in with your account.
And then we have the cloud version which is running directly in your browser.
It's better if you can use the desktop version, but if you want to do it from the browser on your phone or something, you can do that.
Okay, so those are the surfaces for Codex.
Again, what we want to do is download the desktop application, which is where we're going to be working.
And now let's open up that app.
So just open up the desktop application, which is where we're going to be working and where I recommend you use Codex because does the most number of features.
Now let's start by going through the user interface.
You can understand what all of these buttons actually do.
And then I promise we'll go through all of the features.
So here you have your main chat window.
There's a few things you want to pay attention to, like the model selector which we'll look at in a minute, the voice dictation in case you want to use that the approval modes.
So ask for approval approved for me or full access.
And then being able to add different skills context.
And then if you want you can actually run commands by using this slash.
So if you do forward slash you be able to see a list of all of this stuff available which will be going through.
You also have the ability to organize different chats into projects.
So you can see I have a few projects here.
You can make a new one, but we'll look at that in a few minutes.
Now from the right hand side you'll also notice that you have these toggle bars.
So if you click on the right it's going to show you a browser and a terminal.
That's because Codex can automatically control a browser for you and test your applications.
And then you can also toggle up the terminal or the shell, which again Codex can control and use for you.
You typically don't need to do this, but I'm just showing you those views exist from the left hand side.
You can also toggle this sidebar where you have some of the important I don't know, buttons or views.
If you want to access the settings menu, you can click on your profile.
You can go to profile or to settings for settings.
If you are someone who's not going to do any coding, you can switch this over to the everyday work mode.
So it's going to be a little bit less technical, but for most of us, we're going to want to stay here where we have access the browser, the terminal and some other features.
There's a ton of settings.
Feel free to look through these and change any of them if you want.
But again, I'll go through them one by one.
And then last thing, if you go and look at usage and billing, you'll be able to see your usage, the plan that you're currently on, if you have any balance or anything.
Again, these are very generous limits.
It's very unlikely that you're going to hit them, especially if you're doing something somewhat normal.
So I wouldn't stress out about it too much.
Okay, so now that we've gone through that, let's start looking at the models.
Let's start running a few chats and setting up some plugins so I can show you things like the computer control, which is super cool.
But first, just a quick word from our sponsor boot dev.
Now this is one of the best learning platforms out there and actually a long term partner of this channel.
Now, one of the biggest problems that I see with people learning to code is boredom.
They watch tutorials, copy code, feel productive for a week, and then they quit now.
But dev takes a completely different approach.
It's very hands on and honestly, it feels more like a game than a course.
Now you're learning backend development by actually building things, not just watching videos.
You work through real challenges in Python SQL and go earn level up five bosses and progress through a full backend curriculum.
Now it sounds a bit gimmicky, but I promise you it actually works because you're doing the same kind of problem solving that you do on the job.
Now they also have an AI tutor called boots, which doesn't just dump answers on you, it asks follow up questions and helps you reason through problems when you get stuck, which is way closer to how you actually learn.
Now, all of the content is free to read and watch, and if you want the interactive coding, the progress tracking, and the AI assistance, that's part of the paid plan.
If you want to check it out, go to dev and use my code tech with Tim to get 25% off your first year.
Big thanks to Boot Dev for sponsoring this video.
Now let's get back into it.
So like I was saying, let's have a look at the model selection.
Now, for some reason you don't see this view.
You can always just press a new chat and it will bring this up.
Now from here if you go to model selector you're going to see that you have a reasoning level light medium high and extra high.
Now of course you want to use the best reasoning whenever you possibly can, but keep in mind that this is going to take significantly longer.
So the reasoning can kind of come down to how long this is going to take.
Of course, the higher reasoning, the better responses and results that you're typically going to get, but it can increase the time by like 4 or 5, sometimes ten x.
I've had tasks here taken 30 minutes to run in extra high reasonings.
If you want something fast.
If you're asking a quick question, you don't need super high reasoning and you can put this in light or medium mode.
Now, when it comes to the model itself, you have a few options.
GPT 5.5 is kind of the best one.
The frontier coding model, the one you're going to want to use for pretty much everything.
GPT 5.4 is just the generation before that that has kind of cheaper usage limits.
I would never use this one. GPT 5.4 mini.
This can be used for small, fast, kind of efficient things where you're asking a question or you just want, you know, quick UI change or something.
And then 5.3 Codec Spark is just an extremely fast model that you use again, for very minor things that don't require a lot of intelligence.
And specifically when you're running out of the usage on GPT 5.5.
So for 99% of you, you just keep GPT 5.5 on.
Probably throw it in medium reasoning.
If you have enough credits, you can turn on this fast mode so it'll run faster.
I pretty much always leave that on, and then if you start running out of the usage, you can switch to some of these other models.
You can change the speed back to default and you can adjust the reasoning, but most of the time 5.5 medium.
This is what you're going to keep it in.
And if you're doing something more complicated, switch up the reasoning level here to high or extra high.
You can play around with it, but that's pretty much all you need to know.
Okay, so of course we're going to use this and I'm going to show you a bunch of prompts.
But I want to show you how to set this up so we can do some really interesting things with Codex.
So what we're going to do here is go to plugins.
Now this is one of my favorite features of Codex is all of the plugins that it has by default.
And the fact that it can control your computer, control your browser, control spreadsheets, access Google Drive, and do this in a really interactive and intuitive way.
Now, most of your tools like this like cloud code, they can do the same thing, but I find Codex performs a lot better and it's just way easier to understand.
So what we're going to want to do here is go to plugins and start installing some of the ones that you see on my computer right now.
So the first one is computer use.
If you don't already have this installed, you can install it and activate it.
It may ask for some permissions here.
And this is going to allow you to control your computer.
So you can tell it to open up an application go to your browser, access Spotify.
We're going to look at that in one second.
Next plug in we're going to want is Chrome.
So we're going to want to install this Chrome plug in here.
And then open up this Chrome extension okay.
This Codex Chrome extension.
You can see I already have mine installed here.
And if I go to the view you can see we have Codex and it's connected.
And this will allow Codex to control your browser.
So it can open up a tab.
It can search for something. It can debug your application.
Make sure that you get that set up again.
If you just press this open button you can install the extension and link it.
Another extension that I highly recommend is GitHub.
If you're unfamiliar with git and GitHub, this is essentially a version control software for code.
This means that you can save your changes, that you can recover them later on.
You can store them in the clouds, you can use them from a different device and you can share them with your teammates.
This is a standard anytime you're building even a medium sized project.
Really any type of coding project, you should be using this.
So create a free GitHub account.
Very easy.
You can just go to github.com and then you can connect your GitHub account here inside of Codex.
So it can automatically make what's called a repository, which is just storing your code effectively and upload it to the clouds that you're not going to lose it.
You can access it from other devices and you can revert back in case Codex makes a change.
It breaks whatever the version of your project is.
I'm not going to be teaching git in GitHub too much, but I do highly recommend that you set up that plugin and you can see we have a few other ones here like Google Drive, presentations, spreadsheets, slack, Gmail.
You can add as many of these as you want, but I'm going to stick with these for right now.
So now that we have the computer plugin installed, I want to show you how to use this.
So if I go and I use this at symbol, you can see that I can actually reference different applications and specifically this computer.
Right.
So from computer what I can do is ask it to do something.
So let's start by doing something simple.
Open up notepad, close any of the existing windows that are there, and then write a simple note and describe your ideal day.
I know you're a computer, but just come up with something, okay?
I'm just giving it kind of random prompt.
By the way, if you're wondering what I'm using to prompt here, I always use this tool called Whisper Flow.
Very good for voice dictation, especially in AI tools.
I'll leave a link to it so you can check it out. In the description.
You can see that I use it a ton based on my usage.
Very very good and free to try out.
Okay, so let's run this and let's see what we get here.
And you can see that it's going to use the computer plugin.
And it should control my computer.
And keep in mind that while it's controlling my computer, I can still use the computer myself.
So I can navigate into an application. I can close something.
I don't need to have it kind of freely using the mouse, because it will actually use its own cursor.
Okay, apologies, because it had a note there that I didn't want you guys to see, so I had to kind of rerun this.
But you can see that it actually just opened up my computer here, open up notepad and wrote this note inside for me.
Okay.
So now if I want to say something, can you continue this node and make it like double or triple the length? Don't worry if it's unsaved.
Just keep writing okay.
And let's hit enter.
And again you'll see that we kind of get that blue hue around our computer.
And it's able to take over and do anything that we want, which can be super useful, especially for automating, kind of like testing a website, going through a form, running a task repetitively.
You get the idea.
So let's see how it works. And you can see that just opened it.
And then did it extend the note?
I guess not, says thinking okay, maybe it will take over again in a second.
But when it does that you also see it's kind of cursor appearing, which I think is pretty cool.
Okay, so for some reason it didn't keep controlling the note.
But let's just do another example here.
I'm going to say computer, open up Spotify, find Drake's most popular song, and then tell me what it is and play it okay.
And let's just do this as an example so we can see okay.
So it actually found that Spotify wasn't installed on my computer.
And it's going to now do this from Chrome which is what I was trying to show.
So I'm going to allow this to access my Chrome browser okay.
So we can see it opened this, it actually started playing the song, I just paused, I don't want to get the copyright strike and it found the song for me.
And then if I go here it says that this is the most popular one.
Okay, I don't know if that's true, but at least that's what it gave us.
So the point is it can control Chrome, it can control its own devices.
So keep that in mind.
That's super useful.
But now let's move to some more coding related features okay.
So if we're done with the current chat here, what we can do is just press new chat and open up a new one here.
And what I'm going to do now is I'm actually going to create a new project.
Now, whenever you're coding, I recommend that you make a new projects.
You can organize all of your chats for that specific project, and you can go back and find them easily.
It's not required to do this, but it's kind of a good practice.
So you can see that I can make new project.
I can use an existing folder.
So maybe I have an existing code repo that I want to use.
I can open that up.
And that's kind of what a project is.
It's really just a folder on your computer.
Or I can start one from scratch.
So I'm going to start one from scratch, and I'm just going to call this I don't know chess game.
And what we'll do is we'll try to make like an interactive chess game here using Codex.
So you can see that it's made a new project for me.
It's called Chess Game.
And notice that we have a few options here for the project.
Now I have the ability to connect to Codex Web.
This would essentially send all of the kind of info to the cloud, which is a little bit more complicated.
We can work locally, which just means we're working on our own computer, which is what we're going to do here.
Or we can create something called a work tree.
Now we're going to look at work trees later, but essentially this is a clone of this kind of project so that we can work on multiple things at the same time without having a conflict.
So for now, we're going to leave it in the current location that it's in.
You'll notice that it automatically is connecting to get.
So it's created a branch called main.
And you can make different branches if you're familiar with git.
But we're not going to look at that for right now.
I'm also just going to move this to full access mode, just so I don't need to keep approving things.
And you can see it's pretty straightforward what you do here with those.
So now let me give this a simple prompt.
I want to create a simple chess game.
I want to have a back end which is using WebSockets and kind of keeping track of scores and ratings and stuff in a database in people's usernames.
And then I want to have a front end where we can actually play this.
I want it to be multiplayer, so I want two people to be able to play against each other.
We can keep it simple, have an MVP to start and then build everything out.
Okay.
So I'm just giving it kind of, you know, prompt on what I, what it is that I want it to do.
I want it to build something out here.
And we're going to go ahead and press enter.
And I just want to show you how this works okay.
So we can see here the Codex is now working.
It's making multiple files. We can see what it's doing.
And I can kind of go into this and inspect the different commands.
But I want to see what's actually running.
If I expand this right toggle.
Now you'll notice that it's giving me a preview tab.
We don't see anything right now because we're just waiting for it to finish the files.
But we will be able to see all of the different files, code changes and all this stuff going on here in one second.
And then if I go here to this kind of little, I don't know, to do list icon, you can see that we have a bunch of options.
So I can change where I want it to work.
I can change the branch I can commit or push directly to GitHub.
Now it's not giving us any results because it's not available online right now.
It's just locally on our computer.
But you get the idea.
And then we can view the changes which is making right now.
So we're just waiting for those to finish.
So there's a lot that will start happening when you actually write code.
And then I can also toggle open the terminal. Right.
So I can run commands or see what's happening there.
Let's go back into this view.
And then I can open this in any of the tools that are shown here.
So if I wanted to open this in cursor and view all of the code in IDE, I can press that button and do so.
So let's wait a second for it.
To finish writing this code, you can see that it's starting to show me some of the files that we have inside of this folder, and then we'll review it and see what we get okay.
So just finished the first pass here.
It says that it built the multiplayer chess MVP and started locally.
And if I press on any of the links here, you'll notice that they'll actually open directly in Codex.
So you can see that it's opened up right here.
We kind of have this view.
I can change the view, make it large or small or whatever.
So let's give a username maybe like Tim okay.
And join the game.
And then let's try to find a game okay.
And then I'm just going to open up another browser here.
So you can see I can press this plus button go browser.
We can actually manually type.
So localhost 3000 okay.
And let's see maybe we can change this as I don't know Joe or something.
Okay. Join in and find a game.
And you can see that we find a game and then we can start playing.
So I don't know let me try to move here and see if it moves on this side.
And it looks like it's working.
So let's make a move like that I'm not going to play the full thing out, but you guys get the idea that it is indeed working.
We have a track of all the moves. We have some leaderboard.
And then maybe if I resign, you can see now the ELO has updated and I want so says white wins by resignation I mean pretty cool that that worked that fast.
Now within this browser view there's a few buttons you should be aware of.
So if you have a look at this right hand side, you can see that you can actually take a screenshot.
If you do that, it will save it to the clipboard.
And then you can copy that screenshot or paste it sorry, into the chat in case you want to capture what's going on inside of this window rather than doing it manually.
And of course, ChatGPT and GPT here can do image generation.
It can view images.
So that's I mean it should be straightforward.
You also can annotate.
So if you annotate this will allow you to select different HTML elements.
So for example maybe I'm going to select this and I can say something like I don't really like this title.
I think we can make it look a lot better and put a chess logo okay.
And then we can go here and we can actually just update any of the values directly on screen.
I'm not going to do that because I would prefer just to prompt it, but I'm just going to run that.
You can see we now have an annotation in chat and I can start adding other annotations.
So maybe I'm going to say can we change the color of the board or have like a white or dark mode, or maybe change the square colors?
I'm just giving random prompts going to show you this works.
And you can see we have annotations and I can say like go or something.
And now it's going to have the annotations that we made in the browser, and it's going to make those changes which are a lot more targeted.
Okay. So I just refresh because I want to see what this was doing live.
And you can see if I go here now and I refresh, we've kind of changed what the board looks like.
Obviously we've disconnected. Now we're waiting to join.
We can see we have the kind of chess icon and it's essentially followed the annotations we asked for.
Okay.
So hopefully that gave you a bit of information on how the general kind of coding works inside of Codex.
It's very good for me.
I really like this user interface, and I like using this application.
And I mean, you can see that it gives us pretty good results, even though I didn't do anything crazy.
So now let's move to a few more advanced features.
Let's start by having a look at some basic commands.
So commands are just anything that start with a slash.
And there's a ton of built in commands inside of cloud code or not cloud code inside of Codex.
I'm not going to go over all of them, but I'll show you a few that you should be aware of.
So first, if we do slash, we're going to want to look at status.
Now status will just show you your usage limit.
So you can see that for a five hour limit I'm at 98%.
And for my seven day limit I'm at 99%.
It also gives me my context limit.
Now the context can be viewed using this little kind of circular icon down here.
It won't give you a detailed breakdown, but you'll be able to see how much you've used, how much is left, and how many tokens are there.
Now, depending on the models you're using, the context size can change, but this is something that's useful to be aware of because if the context gets too large, which means you have too many, you know, too much conversation, history, tool calls, etc., you will need to compact that.
Now there's actually a command that can do this for you.
It's called slash compact.
Now what slash compact will do is it will take everything that you have in your current conversation history.
So all of the tool calls, all of the code, anything that it's understood in this whole conversation that we've had, and it will generate a summary of that and then add that to kind of a new, fresh conversation that you'll start.
So you'll notice that after I did that, we now if we look at the what is it context use here, we've only used for percent.
So it's taken 22% there.
It's condensed it down given us a summary.
And now we can continue.
Now it's not a great idea to compact super early because you want to use up the context window.
But as soon as you start getting to 70%, 80%, 90% context, you typically want to compacted because you're going to get better results.
Because as the model fills up with context, it performs worse.
This is pretty well known.
I'm not going to go into all of the details.
Just be aware that command exists.
You can use it in Codex will automatically compact for you if you're going to go past your context.
So you may want to do it at a time that you decide, rather than waiting for it to do it automatically.
Now, another thing that we can do, which is sometimes useful, is we can fork this.
Now you can see that if we type slash fork, it will allow us to fork this chat into a local or new work tree, which we're going to look at effectively.
What this will do is take everything that we've done and just create a complete copy of it, so we can work in multiple agents at the same time without them having any conflict.
So they both will kind of work in their own copy of the code base, and then they can go and kind of joy in everything together.
Fix any of the merge conflicts.
When we get to the final version again, we'll look at fork in a minute, but that is a command to be aware of.
You have the fast mode feedback. We're not going to do that.
A NIT goal and some other kind of modes that we'll look at here in a second.
Few last things to be aware of.
You can also pin chats.
So if we want this chat to be available we can pin it.
And then we can create new chats inside of the same project.
So you can see it's in chess game here.
And we can decide how we want to work and just have another agent either running at the same time or in a new chat.
If we want to ask for something different and kind of forget the previous conversation history we had here. Anyways, let's go to a new chat.
Now we're inside of chess game, and let's use a new mode that we haven't seen yet, which is plan.
So if we use slash plan, we can enable plan mode.
You'll see that it's here and now.
With plan mode, what we can do is we can ask this something a little bit more detailed.
We can describe what we want.
And Codex will prompt us with different questions and kind of clarifying details before it goes and executes the plan.
Pretty straightforward, but typically you want to make a plan before you do something too complex.
So really for our chess game, we should have started in plan mode, built the plan, and then execute it.
I was just saving it for later because it's a little bit more complex.
So now maybe I want to expand this chess game.
I want to have puzzles. I want to have a leaderboard.
I want to have maybe a big UI, I want to have whatever accounts.
So let's start generating a plan for that.
I want to expand our chess game.
I want to have a better landing page so that a user can see their stats, and they have the ability to either play a game or play a puzzle or go to like a practice board.
I want to generate a few different game modes, and I want to really polish this up and make it kind of like a Chess.com clone.
Let's start with just the MVP features.
Can you generate a plan for this?
Ask me any questions you need to okay, so let's go here and press enter.
And because it's in plan mode it's going to map everything out.
And it should start asking us some questions and prompting us so that it can generate that for us.
Okay.
So we can see that it's now prompting us with a few questions in the bottom here.
So it says for the first MVP pass, which mode set should the landing page launch?
We can have add bot game, add time modes or core three ship the landing page, live game, daily star puzzles.
Let's go with that.
How should the user stats work for an MVP?
Let's just go.
Username. Profiles okay.
Username. Login. Expand stats. Okay.
How deep should the puzzle mode be an MVP?
Let's just do.
Yes. Small
bundled puzzled library that looks good and that we continue.
Now while it's doing this, also mention that if you open up the sidebar here, you'll see a few more options.
Because we're in this kind of coding environment, we can now view all of the files.
If we want to look at this, we see we have the database.
We can open up the server right.
And you can modify the code, or you can add comments directly inside of here or tag different things.
And now you'll see that it's generating the plan.
I believe the plan will be stored in this repo.
I might just need to refresh, but we should be able to view it.
So if I want to look at the plan here, you can see we can open it up and it gives us everything that needs to be done.
Okay.
So I could just implement this plan right and just start running with that.
But what I want to show you now is another mode that's super useful, that is going to get things done a lot more efficiently for us without us having to keep approving things or prompting the model multiple times.
And that is called goal.
So there is this slash command called slash goal.
Now if we use this let me just actually type it out.
What will happen is that codex will run until a goal is achieved.
Now this is kind of that agent loops that you may have heard about recently that everyone's talking about.
They have that built in now.
So what we can do is we can say, hey, here's the goal.
And we just set a high level objective, and Codex will keep going until the goal is achieved.
So it will plan, it will execute and then it will review if it's achieved the goal.
And if it hasn't, it will just keep running.
So it's not just going to do one pass or implement one set of features.
It will go until the goal is achieved.
Now, in order to use this effectively, you need to set a good goal and the conditions for the goal to be achieved.
Now, in our case, we already have the plan so we can effectively just say keep running until the entire plan is implemented.
It will then run check if the plan is done.
If it's not, it will keep going.
If it is, it will finish.
So this will allow it to run for a long period of time, which also will use a lot of usage.
So keep that in mind.
So for the goal I'm going to say okay, keep running and implement the entire plan until the plan is fully finished.
Everything is tested, everything is working and we are confident to deploy this.
Again, not the best prompt in the world, but I'm just showing you the usage here.
And now that the plan is enabled, we have goal set.
I can press enter and you can see that it's going to pursue this goal and start running.
And we can view this is the goal.
And it's going through all of the different steps.
And it will just be this infinite loop which can take a very long time to run.
All right.
So the goal has just finished it built this application for us.
I don't know if it's fully working, but you guys get the idea and it's done.
So now let's have a look at some more features and start going through it okay.
So first things first.
If you look at any of these chats you have the ability to right click them.
You can pin them rename them.
You can also fork them into a local version or a new work tray.
Now I want to really briefly discuss what a work tree is, because it's a little bit complicated, and we'll save the full usage for a part two.
So let me know if you guys want to see that in the comments down below.
Now, if I try to open a new project here, right.
So I've gone sorry.
New chat.
Okay, so I want new chat. And then I selected Chess Game.
And then what I did is rather than selecting work locally, I selected new work tree.
I have the ability to create a local environment.
Now the reason this is important is that if you want to run parallel agents at the same time, they should be working in their own copy of the repository or the project that you have.
If they work on the same files, there can be conflicts because they're touching the same information at the same time, and that's not good.
So the solution to this is a work tree.
This is provided by git.
Again it's a little bit complicated to setup and a bit confusing to use.
So I'm not going to go through all of the details.
But if you do want to run parallel agents at the same time, you have multiple tasks going, this is what you would use.
You have to configure the environment first, which you can ask Codex to help you do, and then you can change the branches and stuff in order to work on the different features.
And now you'll have different agents because you can run multiple at the same time, working in these kind of copies of the same repo.
Again, this is a more advanced developer feature, so I'm not going to dive into it too much.
Now, another feature that's somewhat related to this.
Let's go back to local copy.
Here is this tool called Slash Review.
Now this is a code review that can automatically compare any changes that have been made in the current session against what's in GitHub.
Okay.
So if I go to maybe this right now and I go slash review, you can see that I can review this against a base branch.
So a branch in git if you're familiar with that or review any uncommitted changes.
So if I go slash review right and then uncommitted changes it's going to start looking at all of the changes that it made here and automatically review them to make sure that they're good before we push them to get or before we commit them.
This is a pretty useful feature that Codex has, and this is something you should always do after you've done a large amount of changes before you push them to remote repository.
And if you don't know what that means, don't worry.
But if you're a developer, you'll understand the value of having a built in shortcut that will do all of those passes and checks for you.
Okay, so you can see that it's done the review and it's given us some comments now.
And it said, hey, these are errors that I found after doing the code review.
Right. So let me go ahead and fix them okay.
So let's move to the next feature which is memory and context.
Now this is less maybe, I don't know demo wise and more me explaining how this works because I want you to understand this.
So if I make a new chat right here okay.
And we go into this and I'm working locally, I want you to see something.
What did I do in my last session when I was working on the chess game?
Now, the reason why I'm going to run this prompt and show you the result, is that you need to understand that by default, Codex doesn't remember things that you worked on in the past.
Anytime you create a new chat, what it's doing is reviewing anything that you have in your current repo, kind of trying to load in information and find any context that's relevant and then give you an answer.
But by default it doesn't remember everything that you did.
So it won't have the full conversation history.
It won't know maybe preferences that you told it, and it can forget things because it doesn't remember by default.
The only reason this actually just gave me a response is because it looked inside of my project here that I'm inside of and was able to find that information.
But if I go to a new chat and I say and I remove the project, what did I work on for my chess game?
And I just ask it something really vague like that, it shouldn't know.
At least I don't think it will know because it's not going to have any of that context.
The reason why I'm mentioning this is that you need to understand that anytime you make a new session, you're effectively starting from scratch.
And anything that you want this to know, it has to already exist as a file.
It has to be saved persistently so Codex can read it in.
And you can see here that it's not able to really find the information very well for me here.
And it has to actually go and look through the different conversation history and threads to find this information so it can find it.
But the only reason it can do that is because it's searching through the threads and it's very slow.
And again, it's not going to remember everything by default.
The reason why I'm mentioning this is that you can fix this problem by creating something called an agent dot file.
Now this is something that's common in all of your code base tools, CLI based tools, whatever AI agents where you can make effectively a memory file that will always be loaded into the prompt or into the model before you start working with it.
Now this is a really good file to create, especially when you're working on larger projects with multiple people, because you can store preferences, different tools or stacks that you want to use.
I wouldn't say credentials, but you can store just important info that you don't want to have to keep telling the model over and over again.
So for example, I can tell this.
I would like you to create an agent file with all of the conventions for this project, specifically the tech stack that we're using, how to run it, and what we've set up so far.
Okay.
And what this will do now is create a new file for us called agents.
You'll see it in a second.
It's automatically making it starts with all capitals.
And it's going to fill this file with important info then.
Now we're never going to forget or Codex will never forget because this is by default automatically load it into Codex anytime we make a new conversation.
So let's give this a second to make the file and see what it looks like.
So let's open this up and you can see that it gives us project conventions, direction, tech stack, how to run it, etc..
So now if we make a new conversation, I go, what are the project conventions?
It's not going to have to search through a bunch of files to find this.
It can just get it directly from its kind of system info now, because it will have been loaded in and MD.
So you can see it just immediately gives us the result.
It doesn't need to read anything because it was already loaded in when we started the conversation.
If we look at the context, you can see the context is slightly higher usage than normal because it's started by loading that file.
I hope that that makes sense to you.
I know that's not the best explanation possible, but anything that you want to be kind of long term, persistent info that's going to be used all of the time, you want to put it in this agents MD file and tell Codex to create that for you.
And you can continually update this to improve the performance of the model you use in a particular project.
Okay, so that is kind of the agents, the in memory info that you need to know.
And the last thing we'll look at is scheduled tasks.
Now I'm not going to actually create these, but I'm just going to mention that they exist just like cloud code or other tools that you may have used, you can create scheduled tasks that run automatically for you, assuming your computer is on.
So you can make a daily brief where every morning it opens your computer, searches the news and gives you some info.
You can do a weekly review where it tells you all the things you worked on.
You can do project monitor where if something changes, we do this.
So if I do create via chat, for example, I can make it to set up a scheduled task for me automatically, or I can go to templates and I can pick one.
So maybe like this, this is what I want to do.
I want to run it in this chat or in a work tree.
I want to in this project.
I want it to repeat at this time.
Then this is the model that I want to use.
Okay. So again you can make these.
You can have them set to run and you can set this up to kind of automatically do things for you, which is useful if you want some automations.
But for me I don't really need any. So I don't have those setup as of now.
And then of course, you can search through all of your chats and a bunch of other stuff, and we can go crazy and we can go to add MCP servers.
We can control the browser use.
We can do computer use, hooks, connections, git environments, work trees.
There is a lot more to go over, but I'm going to save that for a part two.
If you guys let me know in the comments that you want to see an advanced version of this that is going to wrap up this video, that was a pretty comprehensive overview of Codex, a lot of the features, how to use it, some good demos, setting up a lot of the important plugins.
At this point, you know, probably 90% of Codex.
If you want the extra 10%, let me know and I will happily make an advanced version.
For those of you that are devs and are kind of past some of the beginner stuff that I showed here.
Anyway, I hope you enjoyed.
If you did leave a like subscribe and I will see you in the next one.
Loading video analysis...