SpyBara
Go Premium

Documentation 2026-06-15 19:59 UTC to 2026-06-16 20:00 UTC

9 files changed +201 −100. View all changes and history on the product overview
2026
Tue 16 20:00 Mon 15 19:59 Sun 14 16:58 Sat 13 00:58 Fri 12 18:02 Thu 11 20:02 Wed 10 20:00 Tue 9 18:50 Sat 6 00:58 Fri 5 18:45 Thu 4 01:09 Wed 3 19:27 Tue 2 19:22
Details

1# Computer Use1# Computer Use

2 2 

3In the Codex app, computer use is available on macOS and Windows, except in3In supported regions, computer use in the Codex app is available on macOS and

4 the European Economic Area, the United Kingdom, and Switzerland at launch.4 Windows. Install the Computer Use plugin. On macOS, grant Screen Recording and

5 Install the Computer Use plugin. On macOS, grant Screen Recording and

6 Accessibility permissions when prompted.5 Accessibility permissions when prompted.

7 6 

8With computer use, Codex can see and operate graphical user interfaces on macOS7With computer use, Codex can see and operate graphical user interfaces on macOS

app/features.md +0 −3

Details

323Because computer use can affect app and system state outside your project323Because computer use can affect app and system state outside your project

324workspace, keep tasks narrow and review permission prompts before continuing.324workspace, keep tasks narrow and review permission prompts before continuing.

325 325 

326The feature isn't available in the European Economic Area, the United Kingdom, or

327Switzerland at launch.

328 

329</div>326</div>

330 327 

331<CodexScreenshot328<CodexScreenshot

app/settings.md +1 −2

Details

126 126 

127Check your Computer Use settings to review desktop-app access and related127Check your Computer Use settings to review desktop-app access and related

128preferences after setup. On macOS, revoke system-level access by updating Screen128preferences after setup. On macOS, revoke system-level access by updating Screen

129Recording or Accessibility permissions in macOS Privacy & Security settings. The129Recording or Accessibility permissions in macOS Privacy & Security settings.

130feature isn't available in the EEA, the United Kingdom, or Switzerland at launch.

131 130 

132## Personalization131## Personalization

133 132 

Details

1# Troubleshooting – Codex app1# Troubleshooting

2 2 

3## Frequently Asked Questions3## Frequently Asked Questions

4 4 

5### Files appear in the side panel that Codex didnt edit5### Files appear in the side panel that Codex didn't edit

6 6 

7If your project is inside a Git repository, the review panel automatically7If your project is inside a Git repository, the review panel automatically

8shows changes based on your projects Git state, including changes that Codex8shows changes based on your project's Git state, including changes that Codex

9didnt make.9didn't make.

10 10 

11In the review pane, you can switch between staged changes and changes not yet11In the review pane, you can switch between staged changes and changes not yet

12staged, and compare your branch with main.12staged, and compare your branch with main.

13 13 

14If you want to see only the changes of your last Codex turn, switch the diff14If you want to see only the changes of your last Codex turn, switch the diff

15pane to the Last turn changes view.15pane to the "Last turn changes" view.

16 16 

17[Learn more about how to use the review pane](https://developers.openai.com/codex/app/review).17[Learn more about how to use the review pane](https://developers.openai.com/codex/app/review).

18 18 

19### Remove a project from the sidebar19### Remove a project from the sidebar

20 20 

21To remove a project from the sidebar, hover over the name of your project, click21To remove a project from the sidebar, hover over the name of your project, click

22the three dots and choose Remove. To restore it, re-add the22the three dots and choose "Remove." To restore it, re-add the

23project using the **Add new project** button next to **Threads** or using23project using the **Add new project** button next to **Threads** or using

24 24 

25`Cmd`+`O`.25<kbd>Cmd</kbd>+<kbd>O</kbd>.

26 26 

27### Find archived threads27### Find archived threads

28 28 


32### Only some threads appear in the sidebar32### Only some threads appear in the sidebar

33 33 

34The sidebar allows filtering of threads depending on the state of a project. If34The sidebar allows filtering of threads depending on the state of a project. If

35youre missing threads, click the filter icon next to the **Threads** label and35you're missing threads, click the filter icon next to the **Threads** label and

36switch to Chronological. If you still dont see the thread, open36switch to Chronological. If you still don't see the thread, open

37[Settings](codex://settings) and check the archived chats or archived threads37[Settings](codex://settings) and check the archived chats or archived threads

38section.38section.

39 39 

40### Code doesnt run on a worktree40### Code doesn't run on a worktree

41 41 

42Worktrees are created in a different directory and only inherit the files that42Worktrees are created in a different directory and inherit files checked into

43are checked into Git. Depending on how you manage dependencies and tooling43Git by default. Depending on how you manage dependencies and tooling for your

44for your project you might have to run some setup scripts on your worktree using a44project, you might have to run setup scripts on your worktree using a

45[local environment](https://developers.openai.com/codex/app/local-environments). Alternatively you can check out45[local environment](https://developers.openai.com/codex/app/local-environments) or copy ignored setup files

46the changes in your regular local project. Check out the46with [`.worktreeinclude`](https://developers.openai.com/codex/app/worktrees#copy-ignored-local-files-into-managed-worktrees).

47[worktrees documentation](https://developers.openai.com/codex/app/worktrees) to learn more.47Alternatively, you can check out the changes in your regular local project. See

48the [worktrees documentation](https://developers.openai.com/codex/app/worktrees) to learn more.

48 49 

49### App doesnt pick up a teammates shared local environment50### App doesn't pick up a teammate's shared local environment

50 51 

51The local environment configuration must be inside the `.codex` folder at the52The local environment configuration must be inside the `.codex` folder at the

52root of your project. If you are working in a monorepo with more than one53root of your project. If you are working in a monorepo with more than one


76 77 

77To get the version of the Codex CLI on your system run:78To get the version of the Codex CLI on your system run:

78 79 

79```80```bash

80codex --version81codex --version

81```82```

82 83 

83To get the version of Codex bundled with your Codex app run:84To get the version of Codex bundled with your Codex app run:

84 85 

85```86```bash

86/Applications/Codex.app/Contents/Resources/codex --version87/Applications/Codex.app/Contents/Resources/codex --version

87```88```

88 89 

89## Feedback and logs90## Feedback and logs

90 91 

91Type `/` into the message composer to provide feedback for the team. If92Type <kbd>/</kbd> into the message composer to provide feedback for the team. If

92you trigger feedback in an existing conversation, you can choose to share the93you trigger feedback in an existing conversation, you can choose to share the

93existing session along with your feedback. After submitting your feedback,94existing session along with your feedback. After submitting your feedback,

94youll receive a session ID that you can share with the team.95you'll receive a session ID that you can share with the team.

95 96 

96To report an issue:97To report an issue:

97 98 


104- Session transcripts: `$CODEX_HOME/sessions` (default: `~/.codex/sessions`)105- Session transcripts: `$CODEX_HOME/sessions` (default: `~/.codex/sessions`)

105- Archived sessions: `$CODEX_HOME/archived_sessions` (default: `~/.codex/archived_sessions`)106- Archived sessions: `$CODEX_HOME/archived_sessions` (default: `~/.codex/archived_sessions`)

106 107 

107If you share logs, review them first to confirm they dont contain sensitive108If you share logs, review them first to confirm they don't contain sensitive

108information.109information.

109 110 

110## Stuck states and recovery patterns111## Stuck states and recovery patterns


123**Terminal appears stuck**124**Terminal appears stuck**

124 125 

1251. Close the terminal panel.1261. Close the terminal panel.

1262. Reopen it with `Cmd`+`J`.1272. Reopen it with <kbd>Cmd</kbd>+<kbd>J</kbd>.

1273. Re-run a basic command like `pwd` or `git status`.1283. Re-run a basic command like `pwd` or `git status`.

128 129 

129If commands behave differently than expected, validate the current directory and130If commands behave differently than expected, validate the current directory and


131 132 

132If it continues to be stuck, wait until your active Codex threads are completed and restart the app.133If it continues to be stuck, wait until your active Codex threads are completed and restart the app.

133 134 

134**Fonts arent rendering correctly**135**Fonts aren't rendering correctly**

135 136 

136Codex uses the same font for the review pane, integrated terminal and any other code displayed inside the app. You can configure the font inside the [Settings](codex://settings) pane as **Code font**.137Codex uses the same font for the review pane, integrated terminal and any other code displayed inside the app. You can configure the font inside the [Settings](codex://settings) pane as **Code font**.

137 

app/worktrees.md +92 −41

Details

1# Worktrees – Codex app1# Worktrees

2 2 

3In the Codex app, worktrees let Codex run multiple independent tasks in the same project without interfering with each other. For Git repositories, [automations](https://developers.openai.com/codex/app/automations) run on dedicated background worktrees so they dont conflict with your ongoing work. In non-version-controlled projects, automations run directly in the project directory. You can also start threads on a worktree manually, and use Handoff to move a thread between Local and Worktree.3In the Codex app, worktrees let Codex run multiple independent tasks in the same project without interfering with each other. For Git repositories, [automations](https://developers.openai.com/codex/app/automations) run on dedicated background worktrees so they don't conflict with your ongoing work. In non-version-controlled projects, automations run directly in the project directory. You can also start threads on a worktree manually, and use Handoff to move a thread between Local and Worktree.

4 4 

5## Whats a worktree5## What's a worktree

6 6 

7Worktrees only work in projects that are part of a Git repository since they use [Git worktrees](https://git-scm.com/docs/git-worktree) under the hood. A worktree allows you to create a second copy (checkout) of your repository. Each worktree has its own copy of every file in your repo but they all share the same metadata (`.git` folder) about commits, branches, etc. This allows you to check out and work on multiple branches in parallel.7Worktrees only work in projects that are part of a Git repository since they use [Git worktrees](https://git-scm.com/docs/git-worktree) under the hood. A worktree allows you to create a second copy ("checkout") of your repository. Each worktree has its own copy of every file in your repo but they all share the same metadata (`.git` folder) about commits, branches, etc. This allows you to check out and work on multiple branches in parallel.

8 8 

9## Terminology9## Terminology

10 10 


16 16 

171. Work in parallel with Codex without disturbing your current Local setup.171. Work in parallel with Codex without disturbing your current Local setup.

182. Queue up background work while you stay focused on the foreground.182. Queue up background work while you stay focused on the foreground.

193. Move a thread into Local later when youre ready to inspect, test, or collaborate more directly.193. Move a thread into Local later when you're ready to inspect, test, or collaborate more directly.

20 20 

21## Getting started21## Getting started

22 22 

23Worktrees require a Git repository. Make sure the project you selected lives in one.23Worktrees require a Git repository. Make sure the project you selected lives in one.

24 24 

251. Select “Worktree”25<WorkflowSteps variant="headings">

26 

271. Select "Worktree"

26 28 

27 In the new thread view, select **Worktree** under the composer.29 In the new thread view, select **Worktree** under the composer.

28 Optionally, choose a [local environment](https://developers.openai.com/codex/app/local-environments) to run setup scripts for the worktree.30 Optionally, choose a [local environment](https://developers.openai.com/codex/app/local-environments) to run setup scripts for the worktree.


292. Select the starting branch322. Select the starting branch

30 33 

31 Below the composer, choose the Git branch to base the worktree on. This can be your `main` / `master` branch, a feature branch, or your current branch with unstaged local changes.34 Below the composer, choose the Git branch to base the worktree on. This can be your `main` / `master` branch, a feature branch, or your current branch with unstaged local changes.

35 

323. Submit your prompt363. Submit your prompt

33 37 

34 Submit your task and Codex will create a Git worktree based on the branch you selected. By default, Codex works in a [detached HEAD](https://git-scm.com/docs/git-checkout#_detached_head).38 Submit your task and Codex will create a Git worktree based on the branch you selected. By default, Codex works in a ["detached HEAD"](https://git-scm.com/docs/git-checkout#_detached_head).

39 

354. Choose where to keep working404. Choose where to keep working

36 41 

37 When youre ready, you can either keep working directly on the worktree or hand the thread off to your local checkout. Handing off to or from local will move your thread *and* code so you can continue in the other checkout.42 When you're ready, you can either keep working directly on the worktree or hand the thread off to your local checkout. Handing off to or from local will move your thread _and_ code so you can continue in the other checkout.

43 

44</WorkflowSteps>

38 45 

39## Working between Local and Worktree46## Working between Local and Worktree

40 47 

41Worktrees look and feel much like your local checkout. The difference is where they fit into your flow. You can think of Local as the foreground and Worktree as the background. Handoff lets you move a thread between them.48Worktrees look and feel much like your local checkout. The difference is where they fit into your flow. You can think of Local as the foreground and Worktree as the background. Handoff lets you move a thread between them.

42 49 

43Under the hood, Handoff handles the Git operations required to move work between two checkouts safely. This matters because **Git only allows a branch to be checked out in one place at a time**. If you check out a branch on a worktree, you **cant** check it out in your local checkout at the same time, and vice versa.50Under the hood, Handoff handles the Git operations required to move work between two checkouts safely. This matters because **Git only allows a branch to be checked out in one place at a time**. If you check out a branch on a worktree, you **can't** check it out in your local checkout at the same time, and vice versa.

44 51 

45In practice, there are two common paths:52In practice, there are two common paths:

46 53 


49 56 

50### Option 1: Working on the worktree57### Option 1: Working on the worktree

51 58 

59<div class="feature-grid">

60 

61<div>

62 

52If you want to stay exclusively on the worktree with your changes, turn your worktree into a branch using the **Create branch here** button in the header of your thread.63If you want to stay exclusively on the worktree with your changes, turn your worktree into a branch using the **Create branch here** button in the header of your thread.

53 64 

54From here you can commit your changes, push your branch to your remote repository, and open a pull request on GitHub.65From here you can commit your changes, push your branch to your remote repository, and open a pull request on GitHub.

55 66 

56You can open your IDE to the worktree using the Open button in the header, use the integrated terminal, or anything else that you need to do from the worktree directory.67You can open your IDE to the worktree using the "Open" button in the header, use the integrated terminal, or anything else that you need to do from the worktree directory.

57 68 

58![Worktree thread view with branch controls and worktree details](/images/codex/app/worktree-light.webp)69</div>

59 70 

60Remember, if you create a branch on a worktree, you can’t check it out in any other worktree, including your local checkout.71<CodexScreenshot

72 alt="Worktree thread view with branch controls and worktree details"

73 lightSrc="/images/codex/app/worktree-light.webp"

74 darkSrc="/images/codex/app/worktree-dark.webp"

75 maxHeight="400px"

76 class="mb-4 lg:mb-0"

77/>

78 

79</div>

80 

81Remember, if you create a branch on a worktree, you can't check it out in any other worktree, including your local checkout.

61 82 

62### Option 2: Handing a thread off to Local83### Option 2: Handing a thread off to Local

63 84 

85<div class="feature-grid">

86 

87<div>

88 

64If you want to bring a thread into the foreground, click **Hand off** in the header of your thread and move it to **Local**.89If you want to bring a thread into the foreground, click **Hand off** in the header of your thread and move it to **Local**.

65 90 

66This path works well when you want to read the changes in your usual IDE window, run your existing development server, or validate the work in the same environment you already use day to day.91This path works well when you want to read the changes in your usual IDE window, run your existing development server, or validate the work in the same environment you already use day to day.


69 94 

70Each thread keeps the same associated worktree over time. If you hand the thread back to a worktree later, Codex returns it to that same background environment so you can pick up where you left off.95Each thread keeps the same associated worktree over time. If you hand the thread back to a worktree later, Codex returns it to that same background environment so you can pick up where you left off.

71 96 

72![Handoff dialog moving a thread from a worktree to Local](/images/codex/app/handoff-light.webp)97</div>

73 98 

74You can also go the other direction. If you’re already working in Local and want to free up the foreground, use **Hand off** to move the thread to a worktree. This is useful when you want Codex to keep working in the background while you switch your attention back to something else locally.99<CodexScreenshot

100 alt="Handoff dialog moving a thread from a worktree to Local"

101 lightSrc="/images/codex/app/handoff-light.webp"

102 darkSrc="/images/codex/app/handoff-dark.webp"

103 maxHeight="400px"

104 class="mb-4 lg:mb-0"

105/>

75 106 

76Since Handoff uses Git operations, any files that are part of your `.gitignore` file won’t move with the thread.107</div>

108 

109You can also go the other direction. If you're already working in Local and want to free up the foreground, use **Hand off** to move the thread to a worktree. This is useful when you want Codex to keep working in the background while you switch your attention back to something else locally.

110 

111Since Handoff uses Git operations, any files that are part of your `.gitignore` file won't move with the thread unless Codex copies them into a local managed worktree with `.worktreeinclude`.

77 112 

78## Advanced details113## Advanced details

79 114 


81 116 

82By default, threads use a Codex-managed worktree. These are meant to feel lightweight and disposable. A Codex-managed worktree is typically dedicated to one thread, and Codex returns that thread to the same worktree if you hand it back there later.117By default, threads use a Codex-managed worktree. These are meant to feel lightweight and disposable. A Codex-managed worktree is typically dedicated to one thread, and Codex returns that thread to the same worktree if you hand it back there later.

83 118 

84If you want a long-lived environment, create a permanent worktree from the three-dot menu on a project in the sidebar. This creates a new permanent worktree as its own project. Permanent worktrees are not automatically deleted, and you can start multiple threads from the same worktree.119If you want a long-lived environment, create a permanent worktree from the three-dot menu on a project in the sidebar. This creates a new permanent worktree as its own project. Permanent worktrees aren't automatically deleted, and you can start multiple threads from the same worktree.

85 120 

86### How Codex manages worktrees for you121### How Codex manages worktrees for you

87 122 

88Codex creates worktrees in `$CODEX_HOME/worktrees`. The starting commit will be the `HEAD` commit of the branch selected when you start your thread. If you chose a branch with local changes, the uncommitted changes will be applied to the worktree as well. The worktree will *not* be checked out as a branch. It will be in a [detached HEAD](https://git-scm.com/docs/git-checkout#_detached_head) state. This lets Codex create several worktrees without polluting your branches.123Codex creates worktrees in `$CODEX_HOME/worktrees`. The starting commit will be the `HEAD` commit of the branch selected when you start your thread. If you chose a branch with local changes, the uncommitted changes will be applied to the worktree as well. The worktree will _not_ be checked out as a branch. It will be in a [detached HEAD](https://git-scm.com/docs/git-checkout#_detached_head) state. This lets Codex create several worktrees without polluting your branches.

124 

125### Copy ignored local files into managed worktrees

126 

127Local Codex-managed worktrees start from a Git checkout, so tracked files are already present. If your repository ignores local setup files that a new worktree needs, add a `.worktreeinclude` file to the repository root and list the ignored paths or `.gitignore`-style patterns to copy when Codex creates a managed worktree.

128 

129Use this for files Git intentionally ignores, such as `.env`, `.env.local`, or `config/secrets.json`. Codex only copies ignored files that match `.worktreeinclude`; it doesn't copy other local files that Git doesn't track. Don't list tracked files.

130 

131Codex automatically copies an ignored `AGENTS.override.md` into local managed worktrees, so you don't need to list it in `.worktreeinclude`.

132 

133```text

134# .worktreeinclude

135.env

136.env.local

137config/secrets.json

138```

139 

140Codex skips source symlinks and won't overwrite files that already exist in the new checkout. This behavior applies to local Codex app managed worktrees, not remote worktrees or Git worktrees you create yourself from the command line.

89 141 

90### Branch limitations142### Branch limitations

91 143 


99 151 

100If you plan on checking out the branch locally, use Handoff to move the thread into Local instead of trying to keep the same branch checked out in both places at once.152If you plan on checking out the branch locally, use Handoff to move the thread into Local instead of trying to keep the same branch checked out in both places at once.

101 153 

102Why this limitation exists154<ToggleSection title="Why this limitation exists">

103 

104Git prevents the same branch from being checked out in more than one worktree at a time because a branch represents a single mutable reference (`refs/heads/<name>`) whose meaning is “the current checked-out state” of a working tree.155Git prevents the same branch from being checked out in more than one worktree at a time because a branch represents a single mutable reference (`refs/heads/<name>`) whose meaning is “the current checked-out state” of a working tree.

105 156 

106When a branch is checked out, Git treats its HEAD as owned by that worktree and expects operations like commits, resets, rebases, and merges to advance that reference in a well-defined, serialized way. Allowing multiple worktrees to simultaneously check out the same branch would create ambiguity and race conditions around which worktree’s operations update the branch reference, potentially leading to lost commits, inconsistent indexes, or unclear conflict resolution.157When a branch is checked out, Git treats its HEAD as owned by that worktree and expects operations like commits, resets, rebases, and merges to advance that reference in a well-defined, serialized way. Allowing multiple worktrees to simultaneously check out the same branch would create ambiguity and race conditions around which worktree’s operations update the branch reference, potentially leading to lost commits, inconsistent indexes, or unclear conflict resolution.

107 158 

108By enforcing a one-branch-per-worktree rule, Git guarantees that each branch has a single authoritative working copy, while still allowing other worktrees to safely reference the same commits via detached HEADs or separate branches.159By enforcing a one-branch-per-worktree rule, Git guarantees that each branch has a single authoritative working copy, while still allowing other worktrees to safely reference the same commits via detached HEADs or separate branches.

109 160 

161</ToggleSection>

162 

110### Worktree cleanup163### Worktree cleanup

111 164 

112Worktrees can take up a lot of disk space. Each one has its own set of repository files, dependencies, build caches, etc. As a result, the Codex app tries to keep the number of worktrees to a reasonable limit.165Worktrees can take up a lot of disk space. Each one has its own set of repository files, dependencies, build caches, etc. As a result, the Codex app tries to keep the number of worktrees to a reasonable limit.

113 166 

114By default, Codex keeps your most recent 15 Codex-managed worktrees. You can change this limit or turn off automatic deletion in settings if you prefer to manage disk usage yourself.167By default, Codex keeps your most recent 15 Codex-managed worktrees. You can change this limit or turn off automatic deletion in settings if you prefer to manage disk usage yourself.

115 168 

116Codex tries to avoid deleting worktrees that are still important. Codex-managed worktrees wont be deleted automatically if:169Codex tries to avoid deleting worktrees that are still important. Codex-managed worktrees won't be deleted automatically if:

117 170 

118- A pinned conversation is tied to it171- A pinned conversation is tied to it

119- The thread is still in progress172- The thread is still in progress


124- You archive the associated thread177- You archive the associated thread

125- Codex needs to delete older worktrees to stay within your configured limit178- Codex needs to delete older worktrees to stay within your configured limit

126 179 

127Before deleting a Codex-managed worktree, Codex saves a snapshot of the work on it. If you open a conversation after its worktree was deleted, youll see the option to restore it.180Before deleting a Codex-managed worktree, Codex saves a snapshot of the work on it. If you open a conversation after its worktree was deleted, you'll see the option to restore it.

128 181 

129## Frequently asked questions182## Frequently asked questions

130 183 

131Can I control where worktrees are created?184<ToggleSection title="Can I control where worktrees are created?">

132 185 Not today. Codex creates worktrees under `$CODEX_HOME/worktrees` so it can

133Not today. Codex creates worktrees under `$CODEX_HOME/worktrees` so it can186 manage them consistently.

134manage them consistently.187</ToggleSection>

135 188 

136Can I move a thread between Local and Worktree?189<ToggleSection title="Can I move a thread between Local and Worktree?">

137 190 Yes. Use **Hand off** in the thread header to move a thread between your local

138Yes. Use **Hand off** in the thread header to move a thread between your local191 checkout and a worktree. Codex handles the Git operations needed to move the

139checkout and a worktree. Codex handles the Git operations needed to move the192 thread safely between environments. If you hand a thread back to a worktree

140thread safely between environments. If you hand a thread back to a worktree193 later, Codex returns it to the same associated worktree.

141later, Codex returns it to the same associated worktree.194</ToggleSection>

142 195 

143What happens to threads if a worktree is deleted?196<ToggleSection title="What happens to threads if a worktree is deleted?">

144 197 Threads can remain in your history even if the underlying worktree directory

145Threads can remain in your history even if the underlying worktree directory198 is deleted. For Codex-managed worktrees, Codex saves a snapshot before

146is deleted. For Codex-managed worktrees, Codex saves a snapshot before199 deleting the worktree and offers to restore it if you reopen the associated

147deleting the worktree and offers to restore it if you reopen the associated200 thread. Permanent worktrees are not automatically deleted when you archive

148thread. Permanent worktrees are not automatically deleted when you archive201 their threads.

149their threads.202</ToggleSection>

150 

Details

1590 description:1590 description:

1591 "Set to `false` to disable Appshots for managed users. If omitted, Appshots remain unconstrained by requirements and follow normal product availability.",1591 "Set to `false` to disable Appshots for managed users. If omitted, Appshots remain unconstrained by requirements and follow normal product availability.",

1592 },1592 },

1593 {

1594 key: "allow_remote_control",

1595 type: "boolean",

1596 description:

1597 "Set to `false` to disable device remote control for managed users. If omitted, device remote control remains unconstrained by requirements and follows normal product availability.",

1598 },

1593 {1599 {

1594 key: "features.plugin_sharing",1600 key: "features.plugin_sharing",

1595 type: "boolean",1601 type: "boolean",

Details

94 94 

95Codex treats only `allow_appshots = false` as disabling Appshots. If the key is omitted, Appshots remain unconstrained by requirements and use normal product availability checks. App-server clients that read effective requirements through `configRequirements/read` receive the same restriction as `allowAppshots`; an omitted or `null` `allowAppshots` value doesn't disable Appshots.95Codex treats only `allow_appshots = false` as disabling Appshots. If the key is omitted, Appshots remain unconstrained by requirements and use normal product availability checks. App-server clients that read effective requirements through `configRequirements/read` receive the same restriction as `allowAppshots`; an omitted or `null` `allowAppshots` value doesn't disable Appshots.

96 96 

97### Disable device remote control

98 

99To disable [device remote control](https://developers.openai.com/codex/remote-connections#pick-up-work-from-another-device)

100for managed users, set the top-level `allow_remote_control` requirement:

101 

102```toml

103allow_remote_control = false

104```

105 

106Codex treats only `allow_remote_control = false` as disabling device remote

107control. If the key is omitted, device remote control remains unconstrained by

108requirements and uses normal product availability checks. This requirement does

109not disable SSH remote connections.

110 

97### Control available permission profiles111### Control available permission profiles

98 112 

99Use `allowed_permission_profiles` to control which built-in and custom113Use `allowed_permission_profiles` to control which built-in and custom

memories.md +14 −15

Details

1# Memories – Codex1# Memories

2 2 

3Memories are off by default and aren’t available in the European Economic3Memories are off by default. In the European Economic Area, the United

4Area, the United Kingdom, or Switzerland at launch. Enable them in Codex4 Kingdom, and Switzerland, Codex uses or generates memories only after you

5settings, or set `memories = true` in the `[features]` table in5 enable them in Codex settings, or set `memories = true` in the `[features]`

6`~/.codex/config.toml`.6 table in `~/.codex/config.toml`.

7 7 

8Memories let Codex carry useful context from earlier threads into future work.8Memories let Codex carry useful context from earlier threads into future work.

9After you enable memories, Codex can remember stable preferences, recurring9After you enable memories, Codex can remember stable preferences, recurring

10workflows, tech stacks, project conventions, and known pitfalls so you dont10workflows, tech stacks, project conventions, and known pitfalls so you don't

11need to repeat the same context in every thread.11need to repeat the same context in every thread.

12 12 

13Keep required team guidance in `AGENTS.md` or checked-in documentation. Treat13Keep required team guidance in `AGENTS.md` or checked-in documentation. Treat


23 23 

24For config-based setup, add the feature flag to `config.toml`:24For config-based setup, add the feature flag to `config.toml`:

25 25 

26```26```toml

27[features]27[features]

28memories = true28memories = true

29```29```


39background instead of immediately at the end of every thread.39background instead of immediately at the end of every thread.

40 40 

41Memories may not update right away when a thread ends. Codex waits until a41Memories may not update right away when a thread ends. Codex waits until a

42thread has been idle long enough to avoid summarizing work thats still in42thread has been idle long enough to avoid summarizing work that's still in

43progress.43progress.

44 44 

45Memory generation can also skip a background pass when your Codex rate-limit45Memory generation can also skip a background pass when your Codex rate-limit

46remaining percentage is below the configured threshold, so Codex doesnt spend46remaining percentage is below the configured threshold, so Codex doesn't spend

47quota when youre near a limit.47quota when you're near a limit.

48 48 

49## Memory storage49## Memory storage

50 50 

51Codex stores memories under your Codex home directory. By default, thats51Codex stores memories under your Codex home directory. By default, that's

52`~/.codex`. See [Config and state locations](https://developers.openai.com/codex/config-advanced#config-and-state-locations)52`~/.codex`. See [Config and state locations](https://developers.openai.com/codex/config-advanced#config-and-state-locations)

53for how Codex uses `CODEX_HOME`.53for how Codex uses `CODEX_HOME`.

54 54 


56durable entries, recent inputs, and supporting evidence from prior threads.56durable entries, recent inputs, and supporting evidence from prior threads.

57 57 

58Treat these files as generated state. You can inspect them when troubleshooting58Treat these files as generated state. You can inspect them when troubleshooting

59or before sharing your Codex home directory, but dont rely on editing them by59or before sharing your Codex home directory, but don't rely on editing them by

60hand as your primary control surface.60hand as your primary control surface.

61 61 

62## Control memories per thread62## Control memories per thread


66thread can use existing memories and whether Codex can use the thread to66thread can use existing memories and whether Codex can use the thread to

67generate future memories.67generate future memories.

68 68 

69Thread-level choices dont change your global memory settings.69Thread-level choices don't change your global memory settings.

70 70 

71## Configuration71## Configuration

72 72 


95 95 

96## Review memories96## Review memories

97 97 

98Dont store secrets in memories. Codex redacts secrets from generated memory98Don't store secrets in memories. Codex redacts secrets from generated memory

99fields, but you should still review memory files before sharing your Codex home99fields, but you should still review memory files before sharing your Codex home

100directory or generated memory artifacts.100directory or generated memory artifacts.

101 

Details

1# Chronicle – Codex1# Chronicle

2 2 

3Chronicle is in an **opt-in research preview**. It is only available for3Chronicle is in an **opt-in research preview**. It is only available for

4ChatGPT Pro subscribers on macOS, and is not yet available in the EU, UK and4 ChatGPT Pro subscribers on macOS. Please review the [Privacy and

5Switzerland. Please review the [Privacy and Security](#privacy-and-security)5 Security](#privacy-and-security) section for details and to understand the

6section for details and to understand the current risks before enabling.6 current risks before enabling.

7 7 

8Chronicle augments Codex memories with context from your screen. When you prompt8Chronicle augments Codex memories with context from your screen. When you prompt

9Codex, those memories can help it understand what you’ve been working on with9Codex, those memories can help it understand what you’ve been working on with


21building, Chronicle can help Codex understand what you’re referring to, identify21building, Chronicle can help Codex understand what you’re referring to, identify

22the right source to use, and pick up on the tools and workflows you rely on.22the right source to use, and pick up on the tools and workflows you rely on.

23 23 

24<section class="feature-grid mt-4">

25 

26<div>

27 

24### Use what’s on screen28### Use what’s on screen

25 29 

26With Chronicle Codex can understand what you are currently looking at, saving30With Chronicle Codex can understand what you are currently looking at, saving

27you time and context switching.31you time and context switching.

28 32 

33</div>

34 

35<ChronicleThreadDemo client:load scenario="screen" />

36 

37</section>

38 

39<section class="feature-grid inverse">

40 

41<div>

42 

29### Fill in missing context43### Fill in missing context

30 44 

31No need to carefully craft your context and start from zero. Chronicle lets45No need to carefully craft your context and start from zero. Chronicle lets

32Codex fill in the gaps in your context.46Codex fill in the gaps in your context.

33 47 

48</div>

49 

50<ChronicleThreadDemo client:load scenario="project" />

51 

52</section>

53 

54<section class="feature-grid">

55 

56<div>

57 

34### Remember tools and workflows58### Remember tools and workflows

35 59 

36No need to explain to Codex which tools to use to perform your work. Codex60No need to explain to Codex which tools to use to perform your work. Codex

37learns as you work to save you time in the long run.61learns as you work to save you time in the long run.

38 62 

63</div>

64 

65<ChronicleThreadDemo client:load scenario="tools" />

66 

67</section>

68 

39In these cases, Codex uses Chronicle to provide additional context. When another69In these cases, Codex uses Chronicle to provide additional context. When another

40source is better for the job, such as reading the specific file, Slack thread,70source is better for the job, such as reading the specific file, Slack thread,

41Google Doc, dashboard, or pull request, Codex uses Chronicle to identify the71Google Doc, dashboard, or pull request, Codex uses Chronicle to identify the


516. When setup completes, choose **Try it out** or start a new thread.816. When setup completes, choose **Try it out** or start a new thread.

52 82 

53If macOS reports that Screen Recording or Accessibility permission is denied,83If macOS reports that Screen Recording or Accessibility permission is denied,

54open System Settings > Privacy & Security > Screen Recording or84open System Settings &gt; Privacy & Security &gt; Screen Recording or

55Accessibility and enable Codex. If a permission is restricted by macOS or your85Accessibility and enable Codex. If a permission is restricted by macOS or your

56organization, Chronicle will start after the restriction is removed and Codex86organization, Chronicle will start after the restriction is removed and Codex

57receives the required permission.87receives the required permission.


61You control when Chronicle generates memories using screen context. Use the91You control when Chronicle generates memories using screen context. Use the

62Codex menu bar icon to choose **Pause Chronicle** or **Resume Chronicle**. Pause92Codex menu bar icon to choose **Pause Chronicle** or **Resume Chronicle**. Pause

63Chronicle before meetings or when viewing sensitive content that you do not want93Chronicle before meetings or when viewing sensitive content that you do not want

64Codex to use as context. To disable Chronicle, return to **Settings >94Codex to use as context. To disable Chronicle, return to **Settings &gt;

65Personalization > Memories** and turn off **Chronicle**.95Personalization &gt; Memories** and turn off **Chronicle**.

66 96 

67You can also control whether memories are used in a given thread. [Learn97You can also control whether memories are used in a given thread. [Learn

68more](https://developers.openai.com/codex/memories#control-memories-per-thread).98more](https://developers.openai.com/codex/memories#control-memories-per-thread).


97computer under `$CODEX_HOME/memories_extensions/chronicle/` (typically127computer under `$CODEX_HOME/memories_extensions/chronicle/` (typically

98`~/.codex/memories_extensions/chronicle`).128`~/.codex/memories_extensions/chronicle`).

99 129 

100Both directories for your screen captures and memories might contain sensitive information. Make sure you do not share content with others, and be aware that other programs on your computer can also access these files.130<div className="not-prose my-4">

131 <Alert

132 client:load

133 color="danger"

134 variant="soft"

135 description="Both directories for your screen captures and memories might contain sensitive information. Make sure you do not share content with others, and be aware that other programs on your computer can also access these files."

136 />

137</div>

101 138 

102### What data gets shared with OpenAI?139### What data gets shared with OpenAI?

103 140 


131 168 

132If you do not see the Chronicle setting, make sure you are using a Codex app169If you do not see the Chronicle setting, make sure you are using a Codex app

133build that includes Chronicle and that you have Memories enabled inside Settings170build that includes Chronicle and that you have Memories enabled inside Settings

134> Personalization.171&gt; Personalization.

135 172 

136Chronicle is currently only available for ChatGPT Pro subscribers on macOS.173Chronicle is currently only available for ChatGPT Pro subscribers on macOS.

137Chronicle is not available in the EU, UK and Switzerland.

138 174 

139If setup does not complete:175If setup does not complete:

140 176 


149specific model, update the `consolidation_model` in your185specific model, update the `consolidation_model` in your

150[configuration](https://developers.openai.com/codex/config-basic).186[configuration](https://developers.openai.com/codex/config-basic).

151 187 

152```188```toml

153[memories]189[memories]

154consolidation_model = "gpt-5.4-mini"190consolidation_model = "gpt-5.4-mini"

155```191```