app/features.md +298 −13
3The Codex app is a focused desktop experience for working on Codex threads in parallel,3The Codex app is a focused desktop experience for working on Codex threads in parallel,
4with built-in worktree support, automations, and Git functionality.4with built-in worktree support, automations, and Git functionality.
5 5
6Most Codex app features are available on both macOS and Windows.
7The sections below note platform-specific exceptions.
8
9<YouTubeEmbed
10 title="Introducing the Codex app"
11 videoId="HFM3se4lNiw"
12 class="max-w-md"
13/>
14
6---15---
7 16
17<section class="feature-grid">
18
19<div>
20
8## Multitask across projects21## Multitask across projects
9 22
10Use one Codex app window to run tasks across projects. Add a project for each23Use one Codex app window to run tasks across projects. Add a project for each
17distinct projects into separate app projects so the [sandbox](https://developers.openai.com/codex/agent-approvals-security)30distinct projects into separate app projects so the [sandbox](https://developers.openai.com/codex/agent-approvals-security)
18only includes the files for that project.31only includes the files for that project.
19 32
2033</div>
34
35<CodexScreenshot
36 alt="Codex app showing multiple projects in the sidebar and threads in the main pane"
37 lightSrc="/images/codex/app/multitask-light.webp"
38 darkSrc="/images/codex/app/multitask-dark.webp"
39 maxHeight="400px"
40/>
41
42</section>
43
44<section class="feature-grid inverse">
45
46<div>
21 47
22## Skills support48## Skills support
23 49
25IDE Extension. You can also view and explore new skills that your team has51IDE Extension. You can also view and explore new skills that your team has
26created across your different projects by clicking Skills in the sidebar.52created across your different projects by clicking Skills in the sidebar.
27 53
2854</div>
55
56<CodexScreenshot
57 alt="Skills picker showing available skills in the Codex app"
58 lightSrc="/images/codex/app/skill-selector-light.webp"
59 darkSrc="/images/codex/app/skill-selector-dark.webp"
60 maxHeight="400px"
61/>
62
63</section>
64
65<section class="feature-grid">
66
67<div>
29 68
30## Automations69## Automations
31 70
32You can also combine skills with [automations](https://developers.openai.com/codex/app/automations) to perform routine tasks71You can also combine skills with [automations](https://developers.openai.com/codex/app/automations) to perform routine tasks
33such as evaluating errors in your telemetry and submitting fixes or creating reports on recent72such as evaluating errors in your telemetry and submitting fixes or creating reports on recent
3473codebase changes.codebase changes. For ongoing work that should stay in one thread, use a
74[thread automation](https://developers.openai.com/codex/app/automations#thread-automations).
75
76</div>
77
78<CodexScreenshot
79 alt="Automation creation form with schedule and prompt fields"
80 lightSrc="/images/codex/app/create-automation-light.webp"
81 darkSrc="/images/codex/app/create-automation-dark.webp"
82 maxHeight="400px"
83/>
35 84
3685</section>
86
87<section class="feature-grid inverse">
88
89<div>
37 90
38## Modes91## Modes
39 92
47 100
48For the full glossary and concepts, explore the [concepts section](https://developers.openai.com/codex/prompting).101For the full glossary and concepts, explore the [concepts section](https://developers.openai.com/codex/prompting).
49 102
50103</div>
104
105<CodexScreenshot
106 alt="New thread composer with Local, Worktree, and Cloud mode options"
107 lightSrc="/images/codex/app/modes-light.webp"
108 darkSrc="/images/codex/app/modes-dark.webp"
109 maxHeight="400px"
110/>
111
112</section>
113
114<section class="feature-grid">
115
116<div>
51 117
52## Built-in Git tools118## Built-in Git tools
53 119
61 127
62For more advanced Git tasks, use the [integrated terminal](#integrated-terminal).128For more advanced Git tasks, use the [integrated terminal](#integrated-terminal).
63 129
64130</div>
131
132<CodexScreenshot
133 alt="Git diff and commit panel with a commit message field"
134 lightSrc="/images/codex/app/git-commit-light.webp"
135 darkSrc="/images/codex/app/git-commit-dark.webp"
136 maxHeight="400px"
137/>
138
139</section>
140
141<section class="feature-grid inverse">
142
143<div>
65 144
66## Worktree support145## Worktree support
67 146
76 155
77[Learn more about using worktrees in the Codex app.](https://developers.openai.com/codex/app/worktrees)156[Learn more about using worktrees in the Codex app.](https://developers.openai.com/codex/app/worktrees)
78 157
79158</div>
159
160<CodexScreenshot
161 alt="Worktree thread view showing branch actions and worktree details"
162 lightSrc="/images/codex/app/worktree-light.webp"
163 darkSrc="/images/codex/app/worktree-dark.webp"
164 maxHeight="400px"
165/>
166
167</section>
168
169<section class="feature-grid">
170
171<div>
80 172
81## Integrated terminal173## Integrated terminal
82 174
101Note that <kbd>Cmd</kbd>+<kbd>K</kbd> opens the command palette in the Codex193Note that <kbd>Cmd</kbd>+<kbd>K</kbd> opens the command palette in the Codex
102app. It doesn't clear the terminal. To clear the terminal use <kbd>Ctrl</kbd>+<kbd>L</kbd>.194app. It doesn't clear the terminal. To clear the terminal use <kbd>Ctrl</kbd>+<kbd>L</kbd>.
103 195
104196</div>
197
198<CodexScreenshot
199 alt="Integrated terminal drawer open beneath a Codex thread"
200 lightSrc="/images/codex/app/integrated-terminal-light.webp"
201 darkSrc="/images/codex/app/integrated-terminal-dark.webp"
202 maxHeight="400px"
203/>
204
205</section>
206
207<section class="feature-grid inverse">
208
209<div>
105 210
106## Native Windows sandbox211## Native Windows sandbox
107 212
111 216
112[Learn more about Windows setup and sandboxing](https://developers.openai.com/codex/app/windows).217[Learn more about Windows setup and sandboxing](https://developers.openai.com/codex/app/windows).
113 218
114219</div>
220
221<CodexScreenshot
222 alt="Codex app Windows sandbox setup prompt above the message composer"
223 lightSrc="/images/codex/windows/windows-sandbox-setup.webp"
224 darkSrc="/images/codex/windows/windows-sandbox-setup.webp"
225 maxHeight="400px"
226/>
227
228</section>
229
230<section class="feature-grid inverse">
231
232<div>
115 233
116## Voice dictation234## Voice dictation
117 235
118Use your voice to prompt Codex. Hold <kbd>Ctrl</kbd>+<kbd>M</kbd> while the composer is visible and start talking. Your voice will be transcribed. Edit the transcribed prompt or hit send to have Codex start work.236Use your voice to prompt Codex. Hold <kbd>Ctrl</kbd>+<kbd>M</kbd> while the composer is visible and start talking. Your voice will be transcribed. Edit the transcribed prompt or hit send to have Codex start work.
119 237
120238</div>
239
240<CodexScreenshot
241 alt="Voice dictation indicator in the composer with a transcribed prompt"
242 lightSrc="/images/codex/app/voice-dictation-light.webp"
243 darkSrc="/images/codex/app/voice-dictation-dark.webp"
244 maxHeight="400px"
245/>
246
247</section>
248
249<section class="feature-grid">
250
251<div>
121 252
122## Floating pop-out window253## Floating pop-out window
123 254
128You can also toggle the pop-out window to stay on top when you want it to remain259You can also toggle the pop-out window to stay on top when you want it to remain
129visible across your workflow.260visible across your workflow.
130 261
131262</div>
263
264<CodexScreenshot
265 alt="Pop-out window preview in light mode"
266 lightSrc="/images/codex/app/popover-light.webp"
267 darkSrc="/images/codex/app/popover-dark.webp"
268 maxHeight="400px"
269/>
270
271</section>
272
273<section class="feature-grid">
274
275<div>
276
277## In-app browser
278
279Use the [in-app browser](https://developers.openai.com/codex/app/browser) to preview, review, and comment on
280local development servers, file-backed previews, and public pages that don't
281require sign-in while you iterate on a web app.
282
283The in-app browser doesn't support authentication flows, signed-in pages, your
284regular browser profile, cookies, extensions, or existing tabs.
285
286Use browser comments to mark specific elements or areas on a page, then ask
287Codex to address that feedback.
288
289When you want Codex to operate the page directly, use
290[browser use](https://developers.openai.com/codex/app/browser#browser-use) for local development servers and
291file-backed pages. You can manage the Browser plugin, allowed websites, and
292blocked websites from settings.
293
294</div>
295
296<CodexScreenshot
297 alt="Codex app showing a browser comment on a local web app preview"
298 lightSrc="/images/codex/app/in-app-browser-light.webp"
299 darkSrc="/images/codex/app/in-app-browser-dark.webp"
300 maxHeight="400px"
301 variant="no-wallpaper"
302/>
303
304</section>
305
306<section class="feature-grid inverse">
307
308<div>
309
310## Computer use
311
312[Computer use](https://developers.openai.com/codex/app/computer-use) helps Codex operate a macOS app by
313seeing, clicking, and typing. This is useful for testing desktop apps, checking
314browser or simulator flows, working with data sources that aren't available as
315plugins, changing app settings, and reproducing GUI-only bugs.
316
317Because computer use can affect app and system state outside your project
318workspace, keep tasks narrow and review permission prompts before continuing.
319
320The feature isn't available in the European Economic Area, the United Kingdom, or
321Switzerland at launch.
322
323</div>
324
325<CodexScreenshot
326 alt="Codex app asking for permission to use Calculator with computer use"
327 lightSrc="/images/codex/app/computer-use-approval-light.webp"
328 darkSrc="/images/codex/app/computer-use-approval-dark.webp"
329 maxHeight="400px"
330 variant="no-wallpaper"
331/>
332
333</section>
334
335<section class="feature-grid">
336
337<div>
338
339<a id="richer-outputs-and-artifacts"></a>
340<a id="task-sidebar"></a>
341<a id="artifact-viewer"></a>
342
343## Work with non-code artifacts
344
345When a task produces non-code artifacts, the sidebar can preview PDF files,
346spreadsheets, documents, and presentations. Give Codex the source data, expected
347file type, structure, and review criteria you care about.
348
349For spreadsheets and presentations, describe the sheets, columns, charts, slide
350sections, and checks that matter. Ask Codex to explain where it saved the output
351and how it checked the result.
352
353Use the task sidebar to follow what Codex is doing while a thread runs. It can
354surface the agent's plan, sources, generated artifacts, and task summary so you
355can steer the work, inspect generated files, and decide what needs another pass.
356
357</div>
358
359<CodexScreenshot
360 alt="Codex app showing a generated presentation in the artifact viewer"
361 lightSrc="/images/codex/app/artifact-viewer-light.webp"
362 darkSrc="/images/codex/app/artifact-viewer-dark.webp"
363 maxHeight="420px"
364 variant="no-wallpaper"
365/>
366
367</section>
132 368
133---369---
134 370
146If you're unsure whether the app includes context, toggle it off and ask the382If you're unsure whether the app includes context, toggle it off and ask the
147same question again to compare results.383same question again to compare results.
148 384
385## Thread automations
386
387Automations can also attach to a single thread. These thread automations are
388recurring wake-up calls that preserve the thread's context so Codex can check
389on long-running work, poll a source for new information, or continue a follow-up
390loop. Use them for heartbeat-style automations that should keep returning to the
391same conversation on a schedule.
392
393Use a thread automation when the next run depends on the current conversation.
394Use a standalone or project [automation](https://developers.openai.com/codex/app/automations) when you want
395Codex to start a fresh recurring task for one or more projects.
396
149## Approvals and sandboxing397## Approvals and sandboxing
150 398
151Your approval and sandbox settings constrain Codex actions.399Your approval and sandbox settings constrain Codex actions.
164opening separate projects or using worktrees rather than asking Codex to roam412opening separate projects or using worktrees rather than asking Codex to roam
165outside the project root.413outside the project root.
166 414
167415For a high-level overview, see [Sandboxing](https://developers.openai.com/codex/concepts/sandboxing). ForIf [automatic review](https://developers.openai.com/codex/agent-approvals-security#automatic-approval-reviews)
416is available in your workspace, you can choose it from the permissions selector.
417It keeps the same sandbox boundary but routes eligible approval requests through
418the configured review policy instead of waiting for you.
419
420For a high-level overview, see [sandboxing](https://developers.openai.com/codex/concepts/sandboxing). For
168configuration details, see the421configuration details, see the
169[agent approvals & security documentation](https://developers.openai.com/codex/agent-approvals-security).422[agent approvals & security documentation](https://developers.openai.com/codex/agent-approvals-security).
170 423
177 430
178## Web search431## Web search
179 432
180433Codex ships with a first-party web search tool. For local tasks in the Codex IDE Extension, CodexCodex ships with a first-party web search tool. For local tasks in the Codex app, Codex
181enables web search by default and serves results from a web search cache. If you configure your434enables web search by default and serves results from a web search cache. If you configure your
182sandbox for [full access](https://developers.openai.com/codex/agent-approvals-security), web search defaults to live results. See435sandbox for [full access](https://developers.openai.com/codex/agent-approvals-security), web search defaults to live results. See
183[Config basics](https://developers.openai.com/codex/config-basic) to disable web search or switch to live results that fetch the436[Config basics](https://developers.openai.com/codex/config-basic) to disable web search or switch to live results that fetch the
184most recent data.437most recent data.
185 438
439## Image generation
440
441Ask Codex to generate or edit images directly in a thread. This is useful for UI assets, banners, backgrounds, illustrations, sprite sheets, and placeholders you want to create alongside code. Add a reference image when you want Codex to transform or extend an existing asset.
442
443You can ask in natural language or explicitly invoke the image generation skill by including `$imagegen` in your prompt.
444
445Built-in image generation uses `gpt-image-2`, counts toward your general Codex usage limits, and uses included limits 3-5x faster on average than similar turns without image generation, depending on image quality and size. For details, see [Pricing](https://developers.openai.com/codex/pricing#image-generation-usage-limits). For prompting tips and model details, see the [image generation guide](https://developers.openai.com/api/docs/guides/image-generation).
446
447For larger batches of image generation, set `OPENAI_API_KEY` in your environment variables and ask Codex to generate images through the API so API pricing applies instead.
448
186## Image input449## Image input
187 450
188You can drag and drop images into the prompt composer to include them as context. Hold down `Shift`451You can drag and drop images into the prompt composer to include them as context. Hold down `Shift`
191You can also ask Codex to view images on your system. By giving Codex tools to take screenshots of454You can also ask Codex to view images on your system. By giving Codex tools to take screenshots of
192the app you are working on, Codex can verify the work it's doing.455the app you are working on, Codex can verify the work it's doing.
193 456
457<a id="projectless-threads"></a>
458
459## Chats
460
461Chats are threads you can start when the task doesn't need a specific project
462folder or Git repository. Use them for research, triage, planning,
463plugin-heavy workflows, and other conversations where Codex should use connected
464tools instead of editing a codebase.
465
466Chats use a Codex-managed `threads` directory under your Codex home as their
467working location. By default, that location is `~/.codex/threads`.
468
469## Memories
470
471[Memories](https://developers.openai.com/codex/memories), where available, let Codex carry useful context
472from past tasks into future threads. They're most useful for stable preferences,
473project conventions, recurring work patterns, and known pitfalls that would
474otherwise need to repeat.
475
194## Notifications476## Notifications
195 477
196By default, the Codex app sends notifications when a task completes or needs approval while the app478By default, the Codex app sends notifications when a task completes or needs approval while the app
208 490
209- [Settings](https://developers.openai.com/codex/app/settings)491- [Settings](https://developers.openai.com/codex/app/settings)
210- [Automations](https://developers.openai.com/codex/app/automations)492- [Automations](https://developers.openai.com/codex/app/automations)
493- [In-app browser](https://developers.openai.com/codex/app/browser)
494- [Computer use](https://developers.openai.com/codex/app/computer-use)
495- [Review pane](https://developers.openai.com/codex/app/review)
211- [Local environments](https://developers.openai.com/codex/app/local-environments)496- [Local environments](https://developers.openai.com/codex/app/local-environments)
212- [Worktrees](https://developers.openai.com/codex/app/worktrees)497- [Worktrees](https://developers.openai.com/codex/app/worktrees)