1# Quickstart1# Quickstart
2 2
3Every ChatGPT plan includes Codex.3## Where to use ChatGPT
4 4
5You can also use Codex with API credits by signing in with an OpenAI API key.5Use ChatGPT across different surfaces, including the
6[ChatGPT desktop app](https://learn.chatgpt.com/docs/app) and [ChatGPT on the web](https://learn.chatgpt.com/docs/web). Choose
7the option that fits your work.
6 8
7## Setup9<Illustration description="Cards compare the ChatGPT desktop app and ChatGPT on the web">
10 <QuickstartSetupSelector />
11</Illustration>
12
13If you're a developer and want to use Codex in your terminal or code editor,
14 try [Codex CLI](https://learn.chatgpt.com/docs/codex/cli) or the [Codex IDE extension](https://learn.chatgpt.com/docs/codex/ide).
8 15
9<script16## Setup
10 is:inline
11 data-astro-rerun
12 set:html={String.raw`
13(() => {
14 const platform =
15 (navigator.userAgentData?.platform || navigator.platform || "").toLowerCase();
16 const isDesktopAppPlatform =
17 platform.includes("mac") ||
18 platform.includes("win") ||
19 /macintosh|mac os x|windows|win64|win32/i.test(navigator.userAgent || "");
20 if (!isDesktopAppPlatform) return;
21
22 const shouldPreferApp = () => {
23 try {
24 const url = new URL(window.location.href);
25 return !url.searchParams.get("setup");
26 } catch {
27 return true;
28 }
29 };
30
31 if (!shouldPreferApp()) return;
32
33 window.__tabsPreferred = window.__tabsPreferred || {};
34 window.__tabsPreferred.setup = "app";
35})();
36`}
37/>
38 17
18{/* prettier-ignore */}
39<Tabs19<Tabs
40 id="codex-quickstart-setup"20 id="codex-quickstart-setup"
41 param="setup"21 param="setup"
42 defaultTab="ide"22 defaultTab="web"
43 size="3xl"23 size="md"
44 block={true}
45 blockThreshold={170}
46 tabs={[24 tabs={[
47 {25 { id: "app", label: "Desktop" },
48 id: "app",26 { id: "web", label: "Web" },
49 label: "App",
50 subtitle: "Recommended",
51 },
52 { id: "ide", label: "IDE extension", subtitle: "Codex in your IDE" },
53 { id: "cli", label: "CLI", subtitle: "Codex in your terminal" },
54 { id: "cloud", label: "Cloud", subtitle: "Codex in your browser" },
55 ]}27 ]}
56>28>
57 <div slot="app">29 <div slot="app">
58The Codex app is available on macOS and Windows.30The ChatGPT desktop app is available for Windows and macOS. Use it for projects,
59 31local files, longer tasks, and quick conversations.
60Most Codex app features are available on both platforms. Platform-specific
61exceptions are noted in the relevant docs.
62 32
63<WorkflowSteps variant="headings">33<WorkflowSteps variant="headings">
641. Download and install the Codex app341. <h3 id="setup-app-install">Install the ChatGPT desktop app</h3>
65 35
66 Download the Codex app for macOS or Windows. Choose the Intel build if you're using an Intel-based Mac.36 Choose the version for your operating system:
67 37
68 <CodexAppDownloadCta client:load className="mb-4" />38 <CodexAppDownloadCta client:load className="mb-4" />
69 39
70 <div class="text-sm">402. <h3 id="setup-app-sign-in">Open the ChatGPT desktop app and sign in</h3>
71 [Get notified for Linux](https://openai.com/form/codex-app/)
72 </div>
73
742. Open Codex and sign in
75
76 Once you downloaded and installed the Codex app, open it and sign in with your ChatGPT account or an OpenAI API key.
77
78 If you sign in with an OpenAI API key, [some functionality might not be available](https://developers.openai.com/codex/pricing#feature-availability).
79 41
803. Select a project42 Open the app, then sign in with your ChatGPT account.
81 43
82 Choose a project folder that you want Codex to work in.44 You may also use Codex with an API key. [Some features might not be available](https://learn.chatgpt.com/docs/pricing#feature-availability).
83 45
84 If you used the Codex app, CLI, or IDE Extension before you'll see past projects that you worked on.463. <h3 id="setup-app-select-workspace">Select where ChatGPT should work</h3>
85 47
864. Send your first message48 Start a task, create a project, or open a folder. ChatGPT can read and modify
49 files in the folder you choose. [Learn more about tasks and projects](https://learn.chatgpt.com/docs/projects).
87 50
88 After choosing the project, make sure **Local** is selected to have Codex work on your machine and send your first message to Codex.514. <h3 id="setup-app-start-task">Start your task</h3>
89 52
90 You can ask Codex anything about the project or your computer in general. Here are some examples:53 <div class="grid gap-5 md:grid-cols-[minmax(0,1fr)_minmax(17rem,20rem)] md:items-start">
91 54
92 <ExampleGallery>55 <div>
93 <ExampleTask
94 client:load
95 id="intro"
96 prompt="Tell me about this project"
97 iconName="brain"
98 />
99 <ExampleTask
100 client:load
101 id="snake-game"
102 shortDescription="Build a classic Snake game in this repo."
103 prompt={[
104 "Build a classic Snake game in this repo.",
105 "",
106 "Scope & constraints:",
107 "- Implement ONLY the classic Snake loop: grid movement, growing snake, food spawn, score, game-over, restart.",
108 "- Reuse existing project tooling/frameworks; do NOT add new dependencies unless truly required.",
109 "- Keep UI minimal and consistent with the repo’s existing styles (no new design systems, no extra animations).",
110 "",
111 "Implementation plan:",
112 "1) Inspect the repo to find the right place to add a small interactive game (existing pages/routes/components).",
113 "2) Implement game state (snake positions, direction, food, score, tick timer) with deterministic, testable logic.",
114 "3) Render: simple grid + snake + food; support keyboard controls (arrow keys/WASD) and on-screen controls if mobile is present in the repo.",
115 "4) Add basic tests for the core game logic (movement, collisions, growth, food placement) if the repo has a test runner.",
116 "",
117 "Deliverables:",
118 "- A small set of files/changes with clear names.",
119 "- Short run instructions (how to start dev server + where to navigate).",
120 "- A brief checklist of what to manually verify (controls, pause/restart, boundaries).",
121 ].join("\n")}
122 iconName="gamepad"
123 />
124 <ExampleTask
125 client:load
126 id="fix-bugs"
127 shortDescription="Find and fix bugs in my codebase with minimal, high-confidence changes."
128 prompt={[
129 "Find and fix bugs in my codebase with minimal, high-confidence changes.",
130 "",
131 "Method (grounded + disciplined):",
132 "1) Reproduce: run tests/lint/build (or follow the existing repo scripts). If I provided an error, reproduce that exact failure.",
133 "2) Localize: identify the smallest set of files/lines involved (stack traces, failing tests, logs).",
134 "3) Fix: implement the minimal change that resolves the issue without refactors or unrelated cleanup.",
135 "4) Prove: add/update a focused test (or a tight repro) that fails before and passes after.",
136 "",
137 "Constraints:",
138 "- Do NOT invent errors or pretend to run commands you cannot run.",
139 "- No scope drift: no new features, no UI embellishments, no style overhauls.",
140 "- If information is missing, state what you can confirm from the repo and what remains unknown.",
141 "",
142 "Output:",
143 "- Summary (3–6 sentences max): what was broken, why, and the fix.",
144 "- Then ≤5 bullets: What changed, Where (paths), Evidence (tests/logs), Risks, Next steps.",
145 ].join("\n")}
146 iconName="search"
147 />
148 </ExampleGallery>
149
150 If you need more inspiration, explore [Codex use cases](https://developers.openai.com/codex/use-cases).
151 If you're new to Codex, read the [best practices guide](https://developers.openai.com/codex/learn/best-practices).
152 56
153</WorkflowSteps>57 - For research, analysis, or deliverables such as documents, presentations,
58 spreadsheets, and Sites, select **ChatGPT Work** from the ChatGPT dropdown.
59 - For software development with codebase context and developer tools, select
60 **Codex** from the ChatGPT dropdown.
61 - For a quick question or conversation, open **Chat** separately.
154 62
63 Learn more about [using ChatGPT](https://learn.chatgpt.com/docs/use-chatgpt).
155 64
156 </div>65 </div>
157 66
158 <div slot="ide">67 <ChatGPTModeDropdown client:load />
159Install the Codex extension for your IDE.
160
161<WorkflowSteps variant="headings">
1621. Install the Codex extension
163
164 Download it for your editor:
165
166 - [Download for Visual Studio Code](vscode:extension/openai.chatgpt)
167 - [Download for Cursor](cursor:extension/openai.chatgpt)
168 - [Download for Windsurf](windsurf:extension/openai.chatgpt)
169 - [Download for Visual Studio Code Insiders](https://marketplace.visualstudio.com/items?itemName=openai.chatgpt)
170
1712. Open the Codex panel
172 68
173 Once installed, the Codex extension appears in the sidebar alongside your other extensions. It may be hidden in the collapsed section. You can move the Codex panel to the right side of the editor if you prefer.69 </div>
174
1753. Sign in and start your first task
176 70
177 Sign in with your ChatGPT account or an API key to get started.715. <h3 id="setup-app-send-message">Send your first message</h3>
178 72
179 Codex starts in Agent mode by default, which lets it read files, run commands, and write changes in your project directory.73 Describe your goal and add any files or context ChatGPT needs. Try an example:
180 74
181 <ExampleGallery>75 <CodexPromptComposer
182 <ExampleTask
183 client:load76 client:load
184 id="intro"77 id="first-message-example"
185 prompt="Tell me about this project"78 promptOptions={[
186 iconName="brain"79 {
187 />80 label: "Prepare a decision",
188 <ExampleTask81 prompt:
189 client:load82 "Review the reports and notes in this project, compare the options, and create a one-page decision memo with a recommendation, risks, open questions, and source links.",
190 id="snake-game"83 },
191 shortDescription="Build a classic Snake game in this repo."84 {
192 prompt={[85 label: "Analyze spreadsheets",
193 "Build a classic Snake game in this repo.",86 prompt:
194 "",87 "Combine the spreadsheets in this folder, clean inconsistent records, identify the most important trends, and create a concise report with charts and plain-English takeaways.",
195 "Scope & constraints:",88 },
196 "- Implement ONLY the classic Snake loop: grid movement, growing snake, food spawn, score, game-over, restart.",89 {
197 "- Reuse existing project tooling/frameworks; do NOT add new dependencies unless truly required.",90 label: "Improve this app",
198 "- Keep UI minimal and consistent with the repo’s existing styles (no new design systems, no extra animations).",91 prompt:
199 "",92 "Inspect this app, identify one high-impact usability improvement, implement it, update the relevant tests, and verify the result on mobile and desktop.",
200 "Implementation plan:",93 },
201 "1) Inspect the repo to find the right place to add a small interactive game (existing pages/routes/components).",94 ]}
202 "2) Implement game state (snake positions, direction, food, score, tick timer) with deterministic, testable logic.",95 className="!mt-3 !mb-10 w-full max-w-3xl min-w-0"
203 "3) Render: simple grid + snake + food; support keyboard controls (arrow keys/WASD) and on-screen controls if mobile is present in the repo.",
204 "4) Add basic tests for the core game logic (movement, collisions, growth, food placement) if the repo has a test runner.",
205 "",
206 "Deliverables:",
207 "- A small set of files/changes with clear names.",
208 "- Short run instructions (how to start dev server + where to navigate).",
209 "- A brief checklist of what to manually verify (controls, pause/restart, boundaries).",
210 ].join("\n")}
211 iconName="gamepad"
212 />
213 <ExampleTask
214 client:load
215 id="fix-bugs"
216 shortDescription="Find and fix bugs in my codebase with minimal, high-confidence changes."
217 prompt={[
218 "Find and fix bugs in my codebase with minimal, high-confidence changes.",
219 "",
220 "Method (grounded + disciplined):",
221 "1) Reproduce: run tests/lint/build (or follow the existing repo scripts). If I provided an error, reproduce that exact failure.",
222 "2) Localize: identify the smallest set of files/lines involved (stack traces, failing tests, logs).",
223 "3) Fix: implement the minimal change that resolves the issue without refactors or unrelated cleanup.",
224 "4) Prove: add/update a focused test (or a tight repro) that fails before and passes after.",
225 "",
226 "Constraints:",
227 "- Do NOT invent errors or pretend to run commands you cannot run.",
228 "- No scope drift: no new features, no UI embellishments, no style overhauls.",
229 "- If information is missing, state what you can confirm from the repo and what remains unknown.",
230 "",
231 "Output:",
232 "- Summary (3–6 sentences max): what was broken, why, and the fix.",
233 "- Then ≤5 bullets: What changed, Where (paths), Evidence (tests/logs), Risks, Next steps.",
234 ].join("\n")}
235 iconName="search"
236 />96 />
237 </ExampleGallery>
238
2394. Use Git checkpoints
240 97
241 Codex can modify your codebase, so consider creating Git checkpoints before and after each task so you can easily revert changes if needed.98 Explore more [use cases](https://learn.chatgpt.com/use-cases).
242 If you're new to Codex, read the [best practices guide](https://developers.openai.com/codex/learn/best-practices).
243 99
244 <CtaPillLink href="/codex/ide" label="Learn more about the Codex IDE extension" class="mt-8" />
245</WorkflowSteps>100</WorkflowSteps>
246 101
247
248 </div>102 </div>
249 103
250 <div slot="cli">104 <div slot="web">
251The Codex CLI is supported on macOS, Windows, and Linux.105ChatGPT is available on the web and includes Chat and ChatGPT Work.
252 106
253<WorkflowSteps variant="headings">107<WorkflowSteps variant="headings">
2541. Install the Codex CLI1081. <h3 id="setup-web-sign-in">Open ChatGPT and sign in</h3>
255
256 On macOS or Linux, use the standalone installer:
257
258 ```bash
259 curl -fsSL https://chatgpt.com/codex/install.sh | sh
260 ```
261 109
262 On Windows, run:110Go to [chatgpt.com](https://chatgpt.com) and sign in with your ChatGPT account.
263 111
264 ```powershell1122. <h3 id="setup-web-start-task">Start your task</h3>
265 powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"
266 ```
267 113
268 For unattended installs, set `CODEX_NON_INTERACTIVE=1` on the shell that114 <div class="grid gap-5 md:grid-cols-[minmax(0,1fr)_minmax(17rem,20rem)] md:items-stretch">
269 runs the downloaded installer. See
270 [Environment variables](https://developers.openai.com/codex/environment-variables#installer-variables)
271 for details.
272 115
273 ```bash116 <div>
274 curl -fsSL https://chatgpt.com/codex/install.sh | CODEX_NON_INTERACTIVE=1 sh
275 ```
276 117
277 ```powershell118 - Select **Chat** to ask questions, explore ideas, and work through a topic
278 $env:CODEX_NON_INTERACTIVE=1; irm https://chatgpt.com/codex/install.ps1 | iex119 conversationally.
279 ```120 - Select **Work** to research, analyze information, and create documents,
121 presentations, spreadsheets, Sites, or other finished work.
280 122
281 You can also install Codex CLI with npm or Homebrew:123 Learn more about [using ChatGPT](https://learn.chatgpt.com/docs/use-chatgpt).
282
283 ```bash
284 npm install -g @openai/codex
285 ```
286
287 ```bash
288 brew install --cask codex
289 ```
290
2912. Run `codex` and sign in
292
293 Run `codex` in your terminal to get started. You'll be prompted to sign in with your ChatGPT account or an API key.
294
2953. Ask Codex to work in your current directory
296
297 Once authenticated, you can ask Codex to perform tasks in the current directory.
298
299 <ExampleGallery>
300 <ExampleTask
301 client:load
302 id="intro"
303 prompt="Tell me about this project"
304 iconName="brain"
305 />
306 <ExampleTask
307 client:load
308 id="snake-game"
309 shortDescription="Build a classic Snake game in this repo."
310 prompt={[
311 "Build a classic Snake game in this repo.",
312 "",
313 "Scope & constraints:",
314 "- Implement ONLY the classic Snake loop: grid movement, growing snake, food spawn, score, game-over, restart.",
315 "- Reuse existing project tooling/frameworks; do NOT add new dependencies unless truly required.",
316 "- Keep UI minimal and consistent with the repo’s existing styles (no new design systems, no extra animations).",
317 "",
318 "Implementation plan:",
319 "1) Inspect the repo to find the right place to add a small interactive game (existing pages/routes/components).",
320 "2) Implement game state (snake positions, direction, food, score, tick timer) with deterministic, testable logic.",
321 "3) Render: simple grid + snake + food; support keyboard controls (arrow keys/WASD) and on-screen controls if mobile is present in the repo.",
322 "4) Add basic tests for the core game logic (movement, collisions, growth, food placement) if the repo has a test runner.",
323 "",
324 "Deliverables:",
325 "- A small set of files/changes with clear names.",
326 "- Short run instructions (how to start dev server + where to navigate).",
327 "- A brief checklist of what to manually verify (controls, pause/restart, boundaries).",
328 ].join("\n")}
329 iconName="gamepad"
330 />
331 <ExampleTask
332 client:load
333 id="fix-bugs"
334 shortDescription="Find and fix bugs in my codebase with minimal, high-confidence changes."
335 prompt={[
336 "Find and fix bugs in my codebase with minimal, high-confidence changes.",
337 "",
338 "Method (grounded + disciplined):",
339 "1) Reproduce: run tests/lint/build (or follow the existing repo scripts). If I provided an error, reproduce that exact failure.",
340 "2) Localize: identify the smallest set of files/lines involved (stack traces, failing tests, logs).",
341 "3) Fix: implement the minimal change that resolves the issue without refactors or unrelated cleanup.",
342 "4) Prove: add/update a focused test (or a tight repro) that fails before and passes after.",
343 "",
344 "Constraints:",
345 "- Do NOT invent errors or pretend to run commands you cannot run.",
346 "- No scope drift: no new features, no UI embellishments, no style overhauls.",
347 "- If information is missing, state what you can confirm from the repo and what remains unknown.",
348 "",
349 "Output:",
350 "- Summary (3–6 sentences max): what was broken, why, and the fix.",
351 "- Then ≤5 bullets: What changed, Where (paths), Evidence (tests/logs), Risks, Next steps.",
352 ].join("\n")}
353 iconName="search"
354 />
355 </ExampleGallery>
356
3574. Use Git checkpoints
358
359 Codex can modify your codebase, so consider creating Git checkpoints before and after each task so you can easily revert changes if needed.
360 If you're new to Codex, read the [best practices guide](https://developers.openai.com/codex/learn/best-practices).
361</WorkflowSteps>
362
363 <CtaPillLink href="/codex/cli" label="Learn more about the Codex CLI" class="mt-8" />
364 124
365 </div>125 </div>
366 126
367 <div slot="cloud">127 <ChatWorkSegmentPicker client:load />
368Use Codex in the cloud at [chatgpt.com/codex](https://chatgpt.com/codex).
369 128
370<WorkflowSteps variant="headings">129 </div>
3711. Open Codex in your browser
372
373 Go to [chatgpt.com/codex](https://chatgpt.com/codex). You can also delegate a task to Codex by tagging `@codex` in a GitHub pull request comment (requires signing in to ChatGPT).
374 130
3752. Set up an environment1313. <h3 id="setup-web-select-workspace">Select where ChatGPT should work</h3>
376 132
377 Before starting your first task, set up an environment for Codex. Open the environment settings at [chatgpt.com/codex](https://chatgpt.com/codex/settings/environments) and follow the steps to connect a GitHub repository.133 Start a chat or select a project. Projects can include chats, files, and instructions.
378 134
3793. Launch a task and monitor progress1354. <h3 id="setup-web-send-message">Send your first message</h3>
380 136
381 Once your environment is ready, launch coding tasks from the [Codex interface](https://chatgpt.com/codex). You can monitor progress in real time by viewing logs, or let tasks run in the background.137 Describe your goal and add any files or context ChatGPT needs. Try an example:
382 138
383 <ExampleGallery>139 <CodexPromptComposer
384 <ExampleTask
385 client:load140 client:load
386 id="intro"141 id="web-first-message-example"
387 prompt="Tell me about this project"142 destination="web"
388 iconName="brain"143 placeholder="Message ChatGPT"
389 />144 promptOptions={[
390 <ExampleTask145 {
391 client:load146 label: "Make a decision",
392 id="architecture-failure-modes"147 prompt:
393 shortDescription="Explain the top failure modes of my application's architecture."148 "Research whether I should [decision], compare the best options, explain the tradeoffs for my situation, and recommend one with citations.",
394 prompt={[149 },
395 "Explain the top failure modes of my application's architecture.",150 {
396 "",151 label: "Daily briefing",
397 "Approach:",152 prompt:
398 "- Derive the architecture from repo evidence (services, DBs, queues, network calls, critical paths).",153 "Every weekday at 8:00 a.m., review my connected calendar and recent messages, then send me a briefing with today’s priorities, meeting prep, replies I owe, and blockers.",
399 "- Identify realistic failure modes (availability, data loss, latency, scaling, consistency, security, dependency outages).",154 },
400 "",155 {
401 "Output:",156 label: "Plan an event",
402 "- 1 short overview paragraph.",157 prompt:
403 "- Then ≤5 bullets: Failure mode, Trigger, Symptoms, Detection, Mitigation.",158 "Help me plan my event. Ask me about the occasion, guests, date, location, budget, and anything else you need. Then create a timeline, budget, invitation copy, and checklist, and publish a Site I can use to invite guests and collect RSVPs.",
404 "- If key architecture details are missing, state what you inferred vs. what you confirmed.",159 },
405 ].join("\n")}160 ]}
406 iconName="brain"161 className="!mt-3 !mb-10 w-full max-w-3xl min-w-0"
407 />
408 <ExampleTask
409 client:load
410 id="fix-bugs"
411 shortDescription="Find and fix bugs in my codebase with minimal, high-confidence changes."
412 prompt={[
413 "Find and fix bugs in my codebase with minimal, high-confidence changes.",
414 "",
415 "Method (grounded + disciplined):",
416 "1) Reproduce: run tests/lint/build (or follow the existing repo scripts). If I provided an error, reproduce that exact failure.",
417 "2) Localize: identify the smallest set of files/lines involved (stack traces, failing tests, logs).",
418 "3) Fix: implement the minimal change that resolves the issue without refactors or unrelated cleanup.",
419 "4) Prove: add/update a focused test (or a tight repro) that fails before and passes after.",
420 "",
421 "Constraints:",
422 "- Do NOT invent errors or pretend to run commands you cannot run.",
423 "- No scope drift: no new features, no UI embellishments, no style overhauls.",
424 "- If information is missing, state what you can confirm from the repo and what remains unknown.",
425 "",
426 "Output:",
427 "- Summary (3–6 sentences max): what was broken, why, and the fix.",
428 "- Then ≤5 bullets: What changed, Where (paths), Evidence (tests/logs), Risks, Next steps.",
429 ].join("\n")}
430 iconName="search"
431 />162 />
432 </ExampleGallery>
433
4344. Review changes and create a pull request
435
436 When a task completes, review the proposed changes in the diff view. You can iterate on the results or create a pull request directly in your GitHub repository.
437
438 Codex also provides a preview of the changes. You can accept the PR as is, or check out the branch locally to test the changes:
439
440 ```bash
441 git fetch
442 git checkout <branch-name>
443 ```
444 163
445 <CtaPillLink href="/codex/cloud" label="Learn more about Codex cloud" class="mt-8" />
446</WorkflowSteps>164</WorkflowSteps>
447 165
448 </div>166 </div>
449</Tabs>
450 167
168</Tabs>
451<div class="h-6" aria-hidden="true"></div>169<div class="h-6" aria-hidden="true"></div>
452
453## Next steps170## Next steps
454 171[<IconItem title="Learn more about the ChatGPT desktop app" className="mt-2">
455[<IconItem title="Learn more about the Codex app" className="mt-2">
456 <span slot="icon">172 <span slot="icon">
457 <OpenBook />173 <OpenBook />
458 </span>174 </span>
459 Use the Codex app to work with your local projects.175 Use the ChatGPT desktop app to work with your local projects.
460 </IconItem>](https://developers.openai.com/codex/app)176 </IconItem>](https://learn.chatgpt.com/docs/app)
461 177[<IconItem title="Import your setup" className="mt-2">
462[<IconItem title="Migrate to Codex" className="mt-2">
463 <span slot="icon">178 <span slot="icon">
464 <CompareArrows />179 <CompareArrows />
465 </span>180 </span>
466 Move supported instruction files, MCP server configuration, skills, and181 Bring supported setup, projects, and recent work into ChatGPT.
467 subagents into Codex.182 </IconItem>](https://learn.chatgpt.com/docs/import)
468 </IconItem>](https://developers.openai.com/codex/migrate)