SpyBara
Go Premium

Documentation 2026-08-11 22:59 UTC to 2026-08-12 19:59 UTC

19 files changed +412 −77. View all changes and history on the product overview
2026
Mon 31 19:59 Sat 29 07:02 Fri 28 23:02 Thu 27 21:01 Wed 26 23:58 Tue 25 19:59 Mon 24 22:00 Fri 21 19:59 Thu 20 23:59 Wed 19 22:57 Tue 18 13:01 Mon 17 23:58 Sat 15 01:01 Fri 14 22:00 Thu 13 22:59 Wed 12 19:59 Tue 11 22:59 Mon 10 22:00 Sat 8 03:02 Fri 7 18:59 Thu 6 23:58 Wed 5 19:00 Tue 4 22:00 Mon 3 23:00 Sun 2 21:00

app.md +2 −1

Details

16 16 

17Install ChatGPT, sign in, choose where to work, and send your first message.17Install ChatGPT, sign in, choose where to work, and send your first message.

18 18 

191. **Install the ChatGPT desktop app.** [Download ChatGPT](https://chatgpt.com/download/) for Windows or macOS.191. **Install the ChatGPT desktop app.** [Download ChatGPT](https://chatgpt.com/download/) for macOS or Windows, or follow the [Linux installation guide](https://learn.chatgpt.com/docs/linux/linux-app).

202. **Open ChatGPT and sign in.** Open the app, then sign in with your ChatGPT account.202. **Open ChatGPT and sign in.** Open the app, then sign in with your ChatGPT account.

213. **Choose where to work.** Start a chat, create a project, or open a folder. ChatGPT can use the files and context in the location you choose. [Learn about chats and projects](https://learn.chatgpt.com/docs/projects).213. **Choose where to work.** Start a chat, create a project, or open a folder. ChatGPT can use the files and context in the location you choose. [Learn about chats and projects](https://learn.chatgpt.com/docs/projects).

224. **Send your first message.** Choose ChatGPT or Codex. In ChatGPT, use the toggle above the composer to select Chat or Work. In Codex, start with New chat. For a quick question, point to New chat and select the Quick chat icon on its right. Then describe the result you want and add any files or context ChatGPT needs. [Learn how to use ChatGPT](https://learn.chatgpt.com/docs/use-chatgpt).224. **Send your first message.** Choose ChatGPT or Codex. In ChatGPT, use the toggle above the composer to select Chat or Work. In Codex, start with New chat. For a quick question, point to New chat and select the Quick chat icon on its right. Then describe the result you want and add any files or context ChatGPT needs. [Learn how to use ChatGPT](https://learn.chatgpt.com/docs/use-chatgpt).

23 23 

24### Next steps24### Next steps

25 25 

26- [Install on Linux](https://learn.chatgpt.com/docs/linux/linux-app)

26- [Organize work with projects](https://learn.chatgpt.com/docs/projects)27- [Organize work with projects](https://learn.chatgpt.com/docs/projects)

27- [Create and inspect files](https://learn.chatgpt.com/docs/artifacts-viewer)28- [Create and inspect files](https://learn.chatgpt.com/docs/artifacts-viewer)

28- [Use the browser and your computer](https://learn.chatgpt.com/docs/computer-use)29- [Use the browser and your computer](https://learn.chatgpt.com/docs/computer-use)

configuration.md +14 −1

Details

5<CodexDocsOverviewLanding5<CodexDocsOverviewLanding

6 title="Configuration"6 title="Configuration"

7 description="Set defaults, add durable context, and customize how ChatGPT and Codex developer tools work."7 description="Set defaults, add durable context, and customize how ChatGPT and Codex developer tools work."

8 intro="Configuration shapes how ChatGPT and Codex developer tools behave across chats, repositories, and machines. Durable context, config files, repository guidance, subagents, external connections, and Windows setup work together to keep those workflows consistent for individuals and teams."8 intro="Configuration shapes how ChatGPT and Codex developer tools behave across chats, repositories, and machines. Durable context, config files, repository guidance, subagents, external connections, and Linux and Windows setup work together to keep those workflows consistent for individuals and teams."

9 primaryCta={{9 primaryCta={{

10 label: "Explore customization",10 label: "Explore customization",

11 href: "/codex/customization/overview",11 href: "/codex/customization/overview",


133 },133 },

134 ],134 ],

135 },135 },

136 {

137 title: "Linux",

138 description: "Install and update ChatGPT on a supported Linux desktop.",

139 pages: [

140 {

141 title: "ChatGPT desktop app",

142 description:

143 "Install the Linux preview on Ubuntu, Debian, or Fedora.",

144 href: "/codex/linux/linux-app",

145 icon: "computerUse",

146 },

147 ],

148 },

136 {149 {

137 title: "Windows",150 title: "Windows",

138 description: "Run Codex natively on Windows or inside WSL.",151 description: "Run Codex natively on Windows or inside WSL.",

import.md +4 −4

Details

4 4 

5Use the import flow to bring instructions, settings, skills, plugins, projects,5Use the import flow to bring instructions, settings, skills, plugins, projects,

6and recent work from another agent into the ChatGPT desktop app or Codex CLI.6and recent work from another agent into the ChatGPT desktop app or Codex CLI.

7The desktop app can import from supported agents, including **Claude Code** and7The desktop app can import from **Claude Code**, **Claude Cowork**,

8**Cursor**. Codex CLI can import from **Claude Code**.8or **Cursor**. Codex CLI can import from **Claude Code** or **Cursor**.

9 9 

10The desktop app imports supported items directly and lets you finish setup for10The desktop app imports supported items directly and lets you finish setup for

11imported plugins or connections that need authorization. You can also keep11imported plugins or connections that need authorization. You can also keep


50### Import in Codex CLI50### Import in Codex CLI

51 51 

521. Start a local Codex CLI session and type `/import`.521. Start a local Codex CLI session and type `/import`.

532. Choose **Claude Code**.532. Choose **Claude Code** or **Cursor**.

543. Select the supported setup, project files, and recent chats you want to543. Select the supported setup, project files, and recent chats you want to

55 import.55 import.

564. Review the imported configuration and continue working in Codex.564. Review the imported configuration and continue working in Codex.


58Codex CLI imports up to 50 chats from the last 30 days. The `/import` command58Codex CLI imports up to 50 chats from the last 30 days. The `/import` command

59isn't available during a running task, in a remote session, or while connected59isn't available during a running task, in a remote session, or while connected

60to a local app-server daemon. See [CLI slash60to a local app-server daemon. See [CLI slash

61commands](https://learn.chatgpt.com/docs/developer-commands?surface=cli#cli-import-claude-code-setup-with-import).61commands](https://learn.chatgpt.com/docs/developer-commands?surface=cli#cli-import-claude-code-or-cursor-setup-with-import).

62 62 

63<Illustration description="ChatGPT import screen for selecting setup, projects, and recent chats to import.">63<Illustration description="ChatGPT import screen for selecting setup, projects, and recent chats to import.">

64 <ExternalAgentImportIllustration step="items" />64 <ExternalAgentImportIllustration step="items" />

linux/linux-app.md +117 −0 created

Details

1# ChatGPT desktop app for Linux

2 

3> For the complete documentation index, see [llms.txt](https://learn.chatgpt.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to the page URL.

4 

5The ChatGPT desktop app for Linux is available in preview. Install the package

6for your Linux distribution and processor architecture, then sign in with your

7ChatGPT account to work with projects, local files, and Codex.

8 

9## Supported distributions and architectures

10 

11The preview supports the desktop versions of these Linux distributions:

12 

13- Ubuntu 24.04 LTS and 26.04 LTS

14- Debian 13

15- Fedora 43 and 44

16 

17Each supported distribution has packages for x64 and ARM64 processors. To check

18your processor architecture, run:

19 

20```bash

21uname -m

22```

23 

24The output `x86_64` identifies an x64 processor. The output `aarch64` or

25`arm64` identifies an ARM64 processor.

26 

27## Download the right package

28 

29Choose `.deb` for Ubuntu or Debian, and `.rpm` for Fedora:

30 

31| Distribution | Architecture | Download |

32| ---------------- | ------------ | ----------------------------------------------------------------------------------------------------------------- |

33| Ubuntu or Debian | x64 | [Download `.deb` for x64](https://persistent.oaistatic.com/codex-app-prod/linux/deb/latest/chatgpt_amd64.deb) |

34| Ubuntu or Debian | ARM64 | [Download `.deb` for ARM64](https://persistent.oaistatic.com/codex-app-prod/linux/deb/latest/chatgpt_arm64.deb) |

35| Fedora | x64 | [Download `.rpm` for x64](https://persistent.oaistatic.com/codex-app-prod/linux/rpm/latest/chatgpt.x86_64.rpm) |

36| Fedora | ARM64 | [Download `.rpm` for ARM64](https://persistent.oaistatic.com/codex-app-prod/linux/rpm/latest/chatgpt.aarch64.rpm) |

37 

38## Install on Ubuntu or Debian

39 

40Download the `.deb` package for your processor architecture. Then open a

41terminal, change to the directory containing the package, and install it with

42`apt`:

43 

44```bash

45cd ~/Downloads

46sudo apt install ./chatgpt_amd64.deb

47```

48 

49For ARM64, replace `chatgpt_amd64.deb` with `chatgpt_arm64.deb`.

50 

51Open **ChatGPT** from your applications menu, or run `chatgpt` in a terminal.

52Sign in with your ChatGPT account and follow the

53[desktop app quickstart](https://learn.chatgpt.com/docs/quickstart?setup=app).

54 

55## Install on Fedora

56 

57Download the `.rpm` package for your processor architecture. Then open a

58terminal, change to the directory containing the package, and install it with

59`dnf`:

60 

61```bash

62cd ~/Downloads

63sudo dnf install ./chatgpt.x86_64.rpm

64```

65 

66For ARM64, replace `chatgpt.x86_64.rpm` with `chatgpt.aarch64.rpm`.

67 

68Open **ChatGPT** from your applications menu, or run `chatgpt` in a terminal.

69Sign in with your ChatGPT account and follow the

70[desktop app quickstart](https://learn.chatgpt.com/docs/quickstart?setup=app).

71 

72## Update the app

73 

74The package configures the signed OpenAI package repository during installation.

75Use your distribution's package manager to install later updates.

76 

77On Ubuntu or Debian, run:

78 

79```bash

80sudo apt update

81sudo apt install --only-upgrade chatgpt

82```

83 

84On Fedora, run:

85 

86```bash

87sudo dnf upgrade --refresh chatgpt

88```

89 

90## Compatibility and limitations

91 

92The preview supports the desktop distributions listed in

93[Supported distributions and architectures](#supported-distributions-and-architectures).

94Other Linux distributions may work but aren't formally supported.

95 

96Some features have separate platform requirements. For example,

97[Computer Use](https://learn.chatgpt.com/docs/computer-use) is available on macOS and Windows but not

98yet in the Linux preview. A future release will add Linux support.

99 

100## Wayland support

101 

102Native Wayland support is experimental and will continue to improve. In a Wayland

103session, the app uses XWayland when available. To explicitly select native

104Wayland, fully quit the app and launch it from a terminal:

105 

106```bash

107chatgpt --ozone-platform=wayland

108```

109 

110Some features, such as floating windows, window positioning, focus, and keyboard

111shortcuts, may not fully work while native Wayland support matures.

112 

113## Next steps

114 

115- Follow the [desktop app quickstart](https://learn.chatgpt.com/docs/quickstart?setup=app).

116- Set up the [Chrome extension](https://learn.chatgpt.com/docs/chrome-extension) for browser integration.

117- Review [permissions](https://learn.chatgpt.com/docs/permissions) for local projects and commands.

quickstart.md +4 −2

Details

30>30>

31 31

32 32 

33The ChatGPT desktop app is available for Windows and macOS. Use it for projects,33The ChatGPT desktop app is available for macOS, Windows, and Linux. Use it for

34local files, longer tasks, and quick chats.34projects, local files, longer tasks, and quick chats. For supported Linux

35distributions and package installation, see the

36[Linux desktop app guide](https://learn.chatgpt.com/docs/linux/linux-app).

35 37 

36<WorkflowSteps variant="headings">38<WorkflowSteps variant="headings">

371. <h3 id="setup-app-install">Install the ChatGPT desktop app</h3>391. <h3 id="setup-app-install">Install the ChatGPT desktop app</h3>

security/cli.md +28 −7

Details

121summary like this:121summary like this:

122 122 

123```text123```text

124codex-security: Findings: 2 (1 high, 1 medium). Coverage: complete.124 REPORT /path/outside/repository/codex-security-results/report.md

125codex-security: Elapsed: 42s.125 

126codex-security: Report: /path/outside/repository/codex-security-results/report.md126 FINDINGS 2 (2 confirmed this scan; 0 previously found; 1 high, 1 medium)

127codex-security: Results: /path/outside/repository/codex-security-results127 COVERAGE complete

128 ELAPSED 42s

129 RESULTS /path/outside/repository/codex-security-results

128```130```

129 131 

130Token usage and estimated cost appear when available. To print the complete132Token usage and estimated cost appear when available. To print the complete


240## Add custom scan instructions242## Add custom scan instructions

241 243 

242Add instructions that focus the scan on your security priorities. Use a244Add instructions that focus the scan on your security priorities. Use a

243second file for a follow-up after a validated scan with complete coverage:245second file for follow-up instructions:

244 246 

245```bash247```bash

246npx @openai/codex-security scan "$REPOSITORY" \248npx @openai/codex-security scan "$REPOSITORY" \


248 --post-scan-prompt-file /path/to/follow-up.md250 --post-scan-prompt-file /path/to/follow-up.md

249```251```

250 252 

251The follow-up runs in the same authenticated session. Both options also work253The follow-up runs in the same authenticated session after successful scans

252with `bulk-scan`; a CSV `prompt` column adds repository-specific instructions.254and scans with incomplete coverage or errors. It doesn't run after cancellation

255or a scan that reaches its cost limit. Both options also work with

256`bulk-scan`; a CSV `prompt` column adds repository-specific instructions.

253 257 

254## Set a scan budget258## Set a scan budget

255 259 


342npx @openai/codex-security scans show SCAN_ID346npx @openai/codex-security scans show SCAN_ID

343```347```

344 348 

349To inspect the saved events from a scan and its workers:

350 

351```bash

352npx @openai/codex-security scans logs SCAN_ID

353```

354 

355Saved logs aren't redacted and can contain source code or credentials. Review

356them before sharing.

357 

358List open findings across the repository's scans:

359 

360```bash

361npx @openai/codex-security findings list "$REPOSITORY"

362```

363 

364An earlier finding stays open when the latest scan doesn't confirm it.

365 

345To mark a reviewed finding as a false positive, explain why the finding doesn't366To mark a reviewed finding as a false positive, explain why the finding doesn't

346apply:367apply:

347 368 

Details

123 --knowledge-base /path/to/security-policies123 --knowledge-base /path/to/security-policies

124```124```

125 125 

126To add shared scan instructions or run a follow-up after each completed scan,126To add shared scan instructions or run a follow-up after each scan, provide

127provide prompt files:127prompt files:

128 128 

129```bash129```bash

130npx @openai/codex-security bulk-scan repositories.csv \130npx @openai/codex-security bulk-scan repositories.csv \


134```134```

135 135 

136The CLI appends each repository's CSV `prompt` after the shared scan136The CLI appends each repository's CSV `prompt` after the shared scan

137instructions. Follow-up instructions run in the same authenticated session only137instructions. Follow-up instructions run in the same authenticated session

138after a validated scan has complete coverage. Prompt file paths resolve from138after successful scans and scans with incomplete coverage or errors, but not

139your current directory.139after cancellation or a scan that reaches its cost limit. Prompt file paths

140resolve from your current directory.

140 141 

141## Choose a model and reasoning effort142## Choose a model and reasoning effort

142 143 

Details

333```333```

334 334 

335The supported thresholds are `critical`, `high`, `medium`, and `low`. A335The supported thresholds are `critical`, `high`, `medium`, and `low`. A

336threshold includes findings at that severity and above.336threshold includes findings from the current scan at that severity and above.

337Earlier open findings shown in the repository summary don't affect the policy.

337 338 

338The scan step uses these exit codes:339The scan step uses these exit codes:

339 340 

Details

117artifacts together. See [Scan117artifacts together. See [Scan

118artifacts](https://learn.chatgpt.com/docs/security/cli/reference#scan-artifacts) for the full layout.118artifacts](https://learn.chatgpt.com/docs/security/cli/reference#scan-artifacts) for the full layout.

119 119 

120To inspect saved scan and worker events, run `scans logs SCAN_ID`. These logs

121aren't redacted and can contain source code or credentials.

122 

120### What if the CLI can't save scan history123### What if the CLI can't save scan history

121 124 

122Codex Security keeps scan history in a workbench database. If the default125Codex Security keeps scan history in a workbench database. If the default


129 132 

130### How do scans distinguish new and known findings133### How do scans distinguish new and known findings

131 134 

135List the open findings from all scans of a repository:

136 

137```bash

138npx @openai/codex-security findings list /path/to/repository

139```

140 

141The list identifies findings confirmed in the latest scan and earlier open

142findings that the scan didn't confirm.

143 

132Compare findings across the two scans:144Compare findings across the two scans:

133 145 

134```bash146```bash

Details

24| `codex-security scan` | Run a Codex Security scan. |24| `codex-security scan` | Run a Codex Security scan. |

25| `codex-security install-hook` | Install a Git pre-commit security scan. |25| `codex-security install-hook` | Install a Git pre-commit security scan. |

26| `codex-security bulk-scan` | Discover repositories and run resumable bulk scans. |26| `codex-security bulk-scan` | Discover repositories and run resumable bulk scans. |

27| `codex-security scans` | List, inspect, match, rerun, and compare saved scans. |27| `codex-security scans` | List, inspect, compare, and retrieve saved scan logs. |

28| `codex-security findings` | Review and update saved security findings. |28| `codex-security findings` | Review and update saved security findings. |

29| `codex-security export` | Export completed findings as CSV, JSON, or SARIF. |29| `codex-security export` | Export completed findings as CSV, JSON, or SARIF. |

30| `codex-security validate` | Check one or more candidate security findings. |30| `codex-security validate` | Check one or more candidate security findings. |


299 299 

300To add scan instructions, provide a text or Markdown file with300To add scan instructions, provide a text or Markdown file with

301`--scan-prompt-file`. Use `--post-scan-prompt-file` to run follow-up301`--scan-prompt-file`. Use `--post-scan-prompt-file` to run follow-up

302instructions in the same authenticated session after a completed scan with302instructions in the same authenticated session after successful scans and

303complete coverage:303scans with incomplete coverage or errors:

304 304 

305```bash305```bash

306npx @openai/codex-security scan . \306npx @openai/codex-security scan . \


310 310 

311For example, use the scan prompt to focus on authorization boundaries and ask311For example, use the scan prompt to focus on authorization boundaries and ask

312the follow-up to write a new `post-scan-summary.md` in the scan directory.312the follow-up to write a new `post-scan-summary.md` in the scan directory.

313The follow-up doesn't run after cancellation or when the scan reaches its cost

314limit.

313 315 

314### Set output and policy options316### Set output and policy options

315 317 


475repository. Use `--scan-prompt-file FILE` to add shared scan instructions; the477repository. Use `--scan-prompt-file FILE` to add shared scan instructions; the

476CSV `prompt` column adds repository-specific instructions after that shared478CSV `prompt` column adds repository-specific instructions after that shared

477prompt. `--post-scan-prompt-file FILE` runs follow-up instructions after each479prompt. `--post-scan-prompt-file FILE` runs follow-up instructions after each

478completed scan with complete coverage.480scan, including scans with incomplete coverage or errors. It doesn't run after

481cancellation or when a scan reaches its cost limit.

479 482 

480`--workers` limits simultaneous repository scans and defaults to `4`. `--mode`483`--workers` limits simultaneous repository scans and defaults to `4`. `--mode`

481defaults to `standard`, and `--max-attempts` defaults to `1`. Set484defaults to `standard`, and `--max-attempts` defaults to `1`. Set


519npx @openai/codex-security scans show SCAN_ID522npx @openai/codex-security scans show SCAN_ID

520```523```

521 524 

525Add `--show-linked-findings` to include finding links from earlier scans.

526 

522Rerun the scan against the current checkout using its original configuration:527Rerun the scan against the current checkout using its original configuration:

523 528 

524```bash529```bash

525npx @openai/codex-security scans rerun SCAN_ID530npx @openai/codex-security scans rerun SCAN_ID

526```531```

527 532 

533### Inspect saved scan logs

534 

535Read the complete saved session events for a scan and its workers:

536 

537```bash

538npx @openai/codex-security scans logs SCAN_ID

539```

540 

541Add `--json` for a machine-formatted result containing full information.

542 

528### Match and compare findings543### Match and compare findings

529 544 

530Compare two scans to find new, persisting, reopened, resolved, and unknown545Compare two scans to find new, persisting, reopened, resolved, and unknown


559 574 

560## `codex-security findings`575## `codex-security findings`

561 576 

562Record a reviewed finding as a false positive:577List open findings across the current repository's scans:

578 

579```bash

580npx @openai/codex-security findings list

581```

582 

583Pass a repository path to inspect another checkout:

584 

585```bash

586npx @openai/codex-security findings list /path/to/repository

587```

588 

589Add `--json` for structured output. The list identifies findings seen in the

590latest scan and earlier findings that weren't confirmed in that scan.

591 

592Note that earlier findings remain open until resolved or dismissed (absence

593from the latest scan is not interpreted as proof that it's fixed).

594 

595To record a reviewed finding as a false positive:

563 596 

564```text597```text

565usage: codex-security findings false-positive OCCURRENCE_ID598usage: codex-security findings false-positive OCCURRENCE_ID


752flag. `LOG_LEVEL=debug` also enables diagnostics when785flag. `LOG_LEVEL=debug` also enables diagnostics when

753`CODEX_SECURITY_LOG_LEVEL` is unset.786`CODEX_SECURITY_LOG_LEVEL` is unset.

754 787 

755These logging controls apply only to the CLI. Credentials and provider

756identifiers remain redacted, and structured scan results remain on stdout.

757 

758### Completion summary788### Completion summary

759 789 

760A completed scan writes its finding count, severity breakdown, coverage,790A completed scan writes its open repository finding count, severity breakdown,

761elapsed time, report path, and result directory to stderr. It includes token791coverage, elapsed time, report path, and result directory to stderr. It

762usage and estimated cost when available:792includes token usage and estimated cost when available:

763 793 

764```text794```text

765codex-security: Findings: 4 (1 critical, 2 high, 1 informational). Coverage: complete.795 REPORT /path/to/scan/report.md

766codex-security: Elapsed: 1s.796 

767codex-security: Tokens: 1,250 input, 200 cached, 30 output.797 FINDINGS 4 (3 confirmed this scan; 1 previously found; 1 critical, 2 high, 1 informational)

768codex-security: Report: /path/to/scan/report.md798 COVERAGE complete

769codex-security: Results: /path/to/scan799 ELAPSED 1s

800 TOKENS 1,250 input, 200 cached, 30 output

801 RESULTS /path/to/scan

770```802```

771 803 

772Informational findings count toward the summary total. Severity policies804Informational findings count toward the summary total. Severity policies

773evaluate only `critical`, `high`, `medium`, and `low` findings.805evaluate only `critical`, `high`, `medium`, and `low` findings from the current

806scan, not earlier findings shown in the repository total.

774 807 

775### JSON output808### JSON output

776 809 


779 812 

780```text813```text

781manifest814manifest

815repositoryFindings

782findings816findings

783coverage817coverage

784scanDir818scanDir


786reportPath820reportPath

787artifactsDir821artifactsDir

788sarifPath822sarifPath

823cost

789turn824turn

790 id825 id

791 status826 status

Details

208 need a repeatable terminal workflow with structured results.208 need a repeatable terminal workflow with structured results.

209- [Run a standard or scoped scan](https://learn.chatgpt.com/docs/security/plugin/scans) to review a209- [Run a standard or scoped scan](https://learn.chatgpt.com/docs/security/plugin/scans) to review a

210 repository or one folder with the default workflow.210 repository or one folder with the default workflow.

211- [Assess a first scan](https://learn.chatgpt.com/docs/security/plugin/scans#assess-a-first-scan)

212 to check the results against known issues and decide when to scan again.

211- [Run a deep scan](https://learn.chatgpt.com/docs/security/plugin/deep-scans) for a more thorough scan213- [Run a deep scan](https://learn.chatgpt.com/docs/security/plugin/deep-scans) for a more thorough scan

212 when you can allow for a longer runtime.214 when you can allow for a longer runtime.

213- [Review code changes](https://learn.chatgpt.com/docs/security/plugin/code-changes) to assess a pull215- [Review code changes](https://learn.chatgpt.com/docs/security/plugin/code-changes) to assess a pull

Details

100| File | Contents |100| File | Contents |

101| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |101| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |

102| `report.md` | Primary readable entry point to the complete scan directory. |102| `report.md` | Primary readable entry point to the complete scan directory. |

103| `findings/<slug>/` | One detailed vulnerability report per reportable finding, with supporting proof-of-concept files when available. |103| `findings/<slug>/` | Detailed vulnerability reports and supporting proof-of-concept files, when requested. |

104| `hardening/` | Structural hardening portfolio and supporting proposals or diagrams when the scan has reportable findings. |104| `hardening/` | Structural hardening guidance and supporting proposals, when requested. |

105| `findings.json` | Findings with stable identifiers, severity, confidence, source locations, and remediation. Feed approved internal security workflows or downstream tools. |105| `findings.json` | Findings with stable identifiers, severity, confidence, source locations, and remediation. Feed approved internal security workflows or downstream tools. |

106| `scan-manifest.json` | Sealed scan receipt with the reviewed target, revisions, and artifact hashes. |106| `scan-manifest.json` | Sealed scan receipt with the reviewed target, revisions, and artifact hashes. |

107| `coverage.json` | Reviewed and deferred surfaces, exclusions, and coverage completeness. |107| `coverage.json` | Reviewed and deferred surfaces, exclusions, and coverage completeness. |


364The examples skip forked pull requests. Run credentialed jobs only from a364The examples skip forked pull requests. Run credentialed jobs only from a

365protected pipeline definition and only for contributors trusted with the scan365protected pipeline definition and only for contributors trusted with the scan

366credential. Archive `codex-security-scans` to keep the structured findings,366credential. Archive `codex-security-scans` to keep the structured findings,

367manifest, coverage artifacts, `report.md`, and its linked `findings/` and367manifest, coverage, and `report.md` together, along with any requested

368`hardening/` outputs together. Start with advisory results and review coverage368`findings/` or `hardening/` outputs. Start with advisory results and review

369and runtime before making the job a required check.369coverage and runtime before making the job a required check.

370 370 

371For API-key handling and sandbox controls, see [Non-interactive371For API-key handling and sandbox controls, see [Non-interactive

372mode](https://learn.chatgpt.com/docs/non-interactive-mode). If your organization permits the [Codex372mode](https://learn.chatgpt.com/docs/non-interactive-mode). If your organization permits the [Codex

Details

111 111 

112Deep scans use the same saved scan details and complete scan directory as112Deep scans use the same saved scan details and complete scan directory as

113standard scans. Open the completed scan in **Scans** or review its findings in113standard scans. Open the completed scan in **Scans** or review its findings in

114**Findings**. When available, `report.md` links to one detailed report for each114**Findings**. The generated `report.md` links to detailed vulnerability reports

115reportable finding and a structural hardening portfolio when findings remain.115or structural hardening guidance when you request those outputs.

116Keep the linked `findings/` and `hardening/` directories with the report when116Keep any linked `findings/` and `hardening/` directories with the report when

117sharing or archiving the result.117sharing or archiving the result.

118 118 

119Review the coverage summary before the findings. Even a deep scan has limits,119Review the coverage summary before the findings. Even a deep scan has limits,

Details

734. **Impact and path analysis** evaluates each candidate's realistic paths,734. **Impact and path analysis** evaluates each candidate's realistic paths,

74 impact, and severity.74 impact, and severity.

755. **Reporting** records validated findings, coverage, and scan metadata.755. **Reporting** records validated findings, coverage, and scan metadata.

76 Detailed per-finding reports are optional for standard scans.76 Detailed per-finding reports are available when requested.

776. **Structural hardening**, when available, analyzes the finding set and776. **Structural hardening**, when requested, analyzes the finding set and

78 creates design guidance.78 creates design guidance.

797. **Finalization** validates the structured scan contract and generates797. **Finalization** validates the structured scan contract and generates

80 `report.md`, including links to any detailed reports or hardening guidance.80 `report.md`, including links to any detailed reports or hardening guidance.


109 </figcaption>109 </figcaption>

110</figure>110</figure>

111 111 

112## Assess a first scan

113 

114Before scanning, choose two to four evaluation criteria, such as independent

115discovery, evidence quality, false positives, or remediation quality. If you

116test against a known finding, record whether you provided it to Codex or

117withheld it from the scan.

118 

119Record the repository revision, plugin version, model, and reasoning effort.

120Use this baseline to compare later scans after the code, security controls, or

121scan settings change.

122 

123## Choose a scan cadence

124 

125Set your scan cadence based on the repository's risk and your team's capacity

126to address findings. Scan at these points:

127 

128- **Baseline:** Run a standard scan when you onboard a repository, take

129 ownership of a component, or need a starting point for a new threat model.

130- **Code changes:** [Review code

131 changes](https://learn.chatgpt.com/docs/security/plugin/code-changes) when a pull request or commit

132 changes security-sensitive code or an external integration.

133- **Regular review:** Set a recurring review interval based on your system's

134 exposure and how often the code changes. Adjust it to your team's capacity to

135 address findings.

136- **After a fix:** [Fix and verify the

137 finding](https://learn.chatgpt.com/docs/security/plugin/fix-findings). Confirm that the issue no

138 longer reproduces and keep the original scan for comparison.

139 

140These scan triggers don't create an automated schedule.

141 

112## Reopen a previous scan142## Reopen a previous scan

113 143 

114Open **Security**, then select a saved scan from **Scans** to review its144Open **Security**, then select a saved scan from **Scans** to review its

Details

57 57 

58## Use hardening guidance from a scan58## Use hardening guidance from a scan

59 59 

60When a standard, deep, or change scan has reportable findings, Codex runs this60You can request a hardening portfolio for a standard, deep, or change scan with

61workflow once after the detailed vulnerability reports are ready. It writes the61reportable findings. Codex writes the portfolio to `hardening/hardening.md`,

62portfolio to `hardening/hardening.md`, structured analysis to62structured analysis to `hardening/hardening.json`, and supporting proposals

63`hardening/hardening.json`, and supporting proposals or diagrams under63or diagrams under `hardening/`. The scan links the portfolio from `report.md`.

64`hardening/`. The scan links the portfolio from `report.md`.

65 64 

66Keep the full scan directory together so those links remain usable. To review65Keep the full scan directory together so those links remain usable. To review

67the individual reports that inform the portfolio, see [Write vulnerability66the individual reports that inform the portfolio, see [Write vulnerability

Details

54 54 

55## Use reports from a scan55## Use reports from a scan

56 56 

57When a deep or change scan has reportable findings, Codex runs this workflow57Detailed vulnerability reports are optional for standard, deep, and change

58once per finding during final reporting. Detailed reports are optional for58scans. When you request them, Codex writes each report to

59standard scans. When Codex generates detailed reports, it writes each report to

60`findings/<slug>/<slug>.md`, stores supporting files under59`findings/<slug>/<slug>.md`, stores supporting files under

61`findings/<slug>/poc/`, and links the report from `report.md`.60`findings/<slug>/poc/`, and links the report from `report.md`.

62 61 

security/sdk.md +16 −10

Details

208 208 

209### Add scan and follow-up instructions209### Add scan and follow-up instructions

210 210 

211Use `scanPrompt` to focus the scan and `postScanPrompt` to request a follow-up211Use `scanPrompt` to focus the scan and `postScanPrompt` to request a follow-up:

212after a completed scan:

213 212 

214```ts213```ts

215const result = await security.run("/path/to/repository", {214const result = await security.run("/path/to/repository", {


218});217});

219```218```

220 219 

221The follow-up runs in the same authenticated session only after the scan

222finishes with complete coverage.

223 

224### Set a scan budget220### Set a scan budget

225 221 

226Set `maxCostUsd` to stop a scan when its estimated model cost exceeds a limit.222Set `maxCostUsd` to stop a scan when its estimated model cost exceeds a limit.


247paths:243paths:

248 244 

249| Property | Contents |245| Property | Contents |

250| --------------- | ---------------------------------------------------------------------------------- |246| -------------------- | ---------------------------------------------------------------------------------- |

251| `manifest` | The sealed scan manifest, including target, scope, producer, and artifact records. |247| `manifest` | The sealed scan manifest, including target, scope, producer, and artifact records. |

252| `findings` | The findings document. Read finding objects from `findings.findings`. |248| `findings` | Findings from the current scan. Read finding objects from `findings.findings`. |

249| `repositoryFindings` | Open findings across repository scans, when scan history is available. |

253| `coverage` | Reviewed surfaces, exclusions, deferred work, open questions, and completeness. |250| `coverage` | Reviewed surfaces, exclusions, deferred work, open questions, and completeness. |

254| `scanDir` | The scan directory. |251| `scanDir` | The scan directory. |

255| `threadId` | The Codex thread identifier for the scan. |252| `threadId` | The Codex thread identifier for the scan. |


282}279}

283```280```

284 281 

282For repository-wide findings, `confirmedInLatestScan` distinguishes findings

283seen in the latest scan from earlier findings that remain open:

284 

285```ts

286for (const finding of result.repositoryFindings ?? []) {

287 console.log(finding.title, finding.confirmedInLatestScan);

288}

289```

290 

285Coverage completeness is `complete`, `partial`, or `unknown`. Review deferred291Coverage completeness is `complete`, `partial`, or `unknown`. Review deferred

286surfaces, exclusions, and open questions before using a scan as evidence for a292surfaces, exclusions, and open questions before using a scan as evidence for a

287security decision.293security decision.

288 294 

289`result.toJSON()` returns the manifest, findings, coverage, scan and thread295`result.toJSON()` returns the manifest, repository and current-scan findings,

290identifiers, `reportPath`, `artifactsDir`, `sarifPath`, and turn metadata in296coverage, scan and thread identifiers, `reportPath`, `artifactsDir`,

291one JSON-ready object.297`sarifPath`, cost, and turn metadata in one JSON-ready object.

292 298 

293## Track or cancel a scan299## Track or cancel a scan

294 300 

Details

3tagline: Search an authorized repository deeply for plausible vulnerabilities.3tagline: Search an authorized repository deeply for plausible vulnerabilities.

4summary: Use the Codex Security plugin to run a more comprehensive audit of a4summary: Use the Codex Security plugin to run a more comprehensive audit of a

5 repository or scoped folder that repeats discovery, validates candidates, and5 repository or scoped folder that repeats discovery, validates candidates, and

6 produces reviewable coverage, detailed finding reports, and structural6 produces reviewable findings and coverage.

7 hardening guidance.

8skills:7skills:

9 - token: $codex-security:deep-security-scan8 - token: $codex-security:deep-security-scan

10 url: /codex/security/plugin/deep-scans9 url: /codex/security/plugin/deep-scans

11 description: Run repeated discovery passes over a repository or scoped folder,10 description: Run repeated discovery passes over a repository or scoped folder,

12 validate surviving findings, analyze attack paths, and generate detailed11 validate surviving findings, analyze attack paths, and report findings and

13 reports and structural hardening guidance.12 coverage.

14bestFor:13bestFor:

15 - Application security reviews of a repository or component that you own or14 - Application security reviews of a repository or component that you own or

16 are authorized to assess.15 are authorized to assess.


37 36 

38 37 

39 Return the scan directory and report.md path. Summarize the findings,38 Return the scan directory and report.md path. Summarize the findings,

40 reviewed surfaces, structural hardening guidance, and proof gaps that39 reviewed surfaces, and proof gaps that require human review first.

41 require human review first.

42 suggestedEffort: high40 suggestedEffort: high

43relatedLinks:41relatedLinks:

44 - label: Deep-scan guide42 - label: Deep-scan guide


754. Keep supported build, test, and validation commands and other repository734. Keep supported build, test, and validation commands and other repository

76 instructions in `AGENTS.md`.74 instructions in `AGENTS.md`.

775. Run the starter prompt and let the scan complete its repeated discovery,755. Run the starter prompt and let the scan complete its repeated discovery,

78 validation, attack-path analysis, per-finding reporting, structural76 validation, attack-path analysis, and final reporting stages.

79 hardening, and final reporting stages.776. Review the findings workspace, report, and any proof gaps. Request detailed

806. Review the findings workspace, detailed reports, hardening portfolio, and78 vulnerability reports or structural hardening guidance when you need them.

81 any proof gaps before asking Codex to change code or reproduce a finding

82 further.

83 79 

84 80 

85 81 

whats-new.md +100 −0

Details

6work, with examples and links to learn more. For every versioned update, bug fix,6work, with examples and links to learn more. For every versioned update, bug fix,

7and minor improvement, see the [Codex changelog](https://learn.chatgpt.com/docs/changelog).7and minor improvement, see the [Codex changelog](https://learn.chatgpt.com/docs/changelog).

8 8 

9## August 3–7, 2026

10 

11### Talk through files and projects with ChatGPT Voice

12 

13[ChatGPT Voice](https://learn.chatgpt.com/docs/features/voice) now supports uploaded files and

14[ChatGPT Projects](https://learn.chatgpt.com/docs/projects). Ask questions about a document during a

15voice conversation, or continue a project using its recent chats, sources, and

16instructions.

17 

18 

19 

20**Prompt:**

21 

22```text

23Review the research brief I uploaded, explain the main tradeoffs out loud, and compare them with the sources already in this project.

24```

25 

26### Study and teach with dedicated education plugins

27 

28Three new [plugins](https://learn.chatgpt.com/docs/plugins) bring classroom-specific workflows to

29ChatGPT Work and Codex. **College Student** creates study guides, practice

30quizzes, flashcards, and interactive explanations. **College Educator** helps

31develop course plans, materials, and assessments. **K–12 Educator** supports

32lesson planning, classroom resources, and materials adapted for different

33learners.

34 

35The plugins are available through ChatGPT Edu and ChatGPT for Teachers district

36deployments. Schools control which tools and permissions are available. Read

37the [education plugins

38announcement](https://openai.com/index/learn-teach-chatgpt-work-codex/).

39 

40### Reuse saved files and find past work faster

41 

42On the web, add a saved Library file to a conversation without uploading it

43again, search within Library, and paste formatted text without losing headings,

44links, or lists. Search also matches folders and conversation titles across the

45web, iOS, and Android.

46 

47Pastes longer than 10,000 characters now become attachments on every ChatGPT

48plan, including Enterprise and Edu. Select **Show in text field** if you want

49to move the content back into your message.

50 

51Read the [ChatGPT release

52notes](https://help.openai.com/en/articles/6825453-chatgpt-release-notes).

53 

54### See your remaining ChatGPT Work usage

55 

56Eligible users on personal plans and ChatGPT Business can check their remaining

57ChatGPT Work usage directly in the web sidebar. Available credit options depend

58on your account and workspace permissions. ChatGPT Work and Codex continue to

59share the same [usage limits and credits](https://learn.chatgpt.com/docs/pricing).

60 

61### Choose how GPT-5.6 responds in ChatGPT

62 

63ChatGPT Plus and Pro users can adjust how much thought GPT-5.6 Sol puts into a

64response with a new slider. The updated model also provides more reliable facts

65and focused answers. GPT-5.6 Luna becomes the default ChatGPT model on the Free

66and Go plans.

67 

68These changes apply to ChatGPT conversations. They don't change model behavior

69in ChatGPT Work or Codex. Read the [ChatGPT release

70notes](https://help.openai.com/en/articles/6825453-chatgpt-release-notes).

71 

72### Organize work and switch agents in Codex CLI 0.147.0

73 

74[Codex CLI 0.147.0](https://github.com/openai/codex/releases/tag/rust-v0.147.0)

75adds persistent, manually ordered chat sections and portable Agent Plugins.

76Search across local, personal, workspace, and remote plugin catalogs, or

77[import Cursor and Claude Code setup](https://learn.chatgpt.com/docs/import) without duplicating

78synced conversations.

79 

80Use `--approve-for-me` to enable [automatic approval

81review](https://learn.chatgpt.com/docs/sandboxing/auto-review) for eligible requests without expanding

82filesystem or network permissions. Amazon Bedrock sessions also gain cached

83web search and remote conversation compaction.

84 

85### Follow and resume deeper security scans

86 

87Hosted Codex Security plugin versions `0.1.16` through `0.1.18` add live scan

88progress, measured token usage, resumable deep scans, and configurable

89discovery limits. The latest release also supports Amazon Bedrock

90authentication for repository scans and their delegated workers.

91 

92Use the [Codex Security workbench](https://learn.chatgpt.com/docs/security/plugin/workbench) to review

93scan progress and findings, or [configure a deep

94scan](https://learn.chatgpt.com/docs/security/plugin/deep-scans) when you need a more thorough

95assessment. Check the [plugin changelog](https://learn.chatgpt.com/docs/security/plugin/changelog) to

96confirm which features your installed version supports.

97 

98### Review GitHub pull requests for security risks

99 

100[Codex Security Review](https://learn.chatgpt.com/docs/security/security-review) analyzes pull-request

101changes alongside repository context, threat models, and security guidance.

102Configure automatic reviews when a pull request opens or receives new

103commits, or request one directly with `@codex security review`.

104 

105The feature is available in research preview to eligible ChatGPT Enterprise,

106Business, Edu, and Pro customers. It isn't available on Plus, and usage limits

107can apply.

108 

9## July 27–31, 2026109## July 27–31, 2026

10 110 

11### Use GPT-5.6 Terra and Luna at lower rates111### Use GPT-5.6 Terra and Luna at lower rates