SpyBara
Go Premium

Documentation 2026-10-08 23:01 UTC to 2026-10-09 23:02 UTC

16 files changed +401 −223. View all changes and history on the product overview
2026
Mon 12 23:01 Fri 9 23:02 Thu 8 23:01 Wed 7 23:57 Tue 6 23:02 Mon 5 23:57 Fri 2 23:58 Thu 1 22:59
Details

107 {107 {

108 title: "Groups and provisioning",108 title: "Groups and provisioning",

109 description:109 description:

110 "Manage manual and SCIM groups, provisioning, and rollout cohorts.",110 "Compare membership sources and understand group permissions.",

111 href: "/codex/enterprise/groups-and-provisioning",111 href: "/codex/enterprise/groups-and-provisioning",

112 icon: "users",112 icon: "users",

113 },113 },

114 {

115 title: "Dynamic groups",

116 description:

117 "Manage group membership with rules based on SCIM user attributes.",

118 href: "/codex/enterprise/dynamic-groups",

119 icon: "users",

120 },

114 {121 {

115 title: "User lifecycle management",122 title: "User lifecycle management",

116 description:123 description:

Details

445prefer_mxc = true445prefer_mxc = true

446```446```

447 447 

448Keep a permitted legacy implementation in `windows.sandbox` for fallback. See the [Windows setup guide](https://learn.chatgpt.com/docs/windows/windows-sandbox#prefer-mxc-with-legacy-fallback) for configuration and compatibility limits.448Keep a permitted legacy implementation in `windows.sandbox` for fallback. See the [Windows setup guide](https://learn.chatgpt.com/docs/windows/windows-sandbox#enable-mxc) for configuration and compatibility limits.

449 449 

450When you run Linux in a containerized environment such as Docker, the sandbox may not work if the host or container configuration blocks the namespace, setuid `bwrap`, or `seccomp` operations that Codex needs.450When you run Linux in a containerized environment such as Docker, the sandbox may not work if the host or container configuration blocks the namespace, setuid `bwrap`, or `seccomp` operations that Codex needs.

451 451 

Details

23 23 

24## Ultrafast mode24## Ultrafast mode

25 25 

26<UltrafastAnimation

27 client:visible

28 title="Ultrafast"

29 label="Interactive Ultrafast starfield"

30 controls={{

31 pause: { label: "Pause animation" },

32 play: { label: "Play animation" },

33 }}

34/>

35 

26Ultrafast supports GPT-6 Astra and GPT-6.1 Sol.36Ultrafast supports GPT-6 Astra and GPT-6.1 Sol.

27 37 

28GPT-6 Astra Ultrafast generates tokens up to 8x faster than GPT-6 Astra in38GPT-6 Astra Ultrafast generates tokens up to 8x faster than GPT-6 Astra in

config-basic.md +1 −1

Details

105prefer_mxc = true105prefer_mxc = true

106```106```

107 107 

108Use `unelevated` only when elevated setup is unavailable and your organization's policy permits it. See the [Windows sandbox guide](https://learn.chatgpt.com/docs/windows/windows-sandbox#prefer-mxc-with-legacy-fallback) for compatibility limits and rollout controls.108Use `unelevated` only when elevated setup is unavailable and your organization's policy permits it. See the [Windows sandbox guide](https://learn.chatgpt.com/docs/windows/windows-sandbox#enable-mxc) for compatibility limits and rollout controls.

109 109 

110#### Web search mode110#### Web search mode

111 111 

Details

105prefer_mxc = true105prefer_mxc = true

106```106```

107 107 

108Use `unelevated` only when elevated setup is unavailable and your organization's policy permits it. See the [Windows sandbox guide](https://learn.chatgpt.com/docs/windows/windows-sandbox#prefer-mxc-with-legacy-fallback) for compatibility limits and rollout controls.108Use `unelevated` only when elevated setup is unavailable and your organization's policy permits it. See the [Windows sandbox guide](https://learn.chatgpt.com/docs/windows/windows-sandbox#enable-mxc) for compatibility limits and rollout controls.

109 109 

110#### Web search mode110#### Web search mode

111 111 

dots.md +43 −20

Details

4 4 

5<OFeatureCanvas>5<OFeatureCanvas>

6 6 

7<DotsCharacters

8 client:load

9 label="Dots characters"

10 switchLabel="Choose your dot character"

11/>

12 

7<a id="introducing-o"></a>13<a id="introducing-o"></a>

8<a id="what-is-o"></a>14<a id="what-is-o"></a>

9 15 


19 25 

20## Make it your own26## Make it your own

21 27 

22Create your dot in the ChatGPT desktop app or a desktop browser. Setup offers app connections and, in the desktop app, access to your computer. Your dot introduces itself and uses the context available to it to suggest ways it can help. You can start talking to it while it gets to know your work.28Create your dot in the ChatGPT mobile app, desktop app, or a desktop browser. On your phone, you can give it a name, customize its appearance, and connect plugins. In the desktop app, you can also connect your computer. See [Getting started](https://learn.chatgpt.com/docs/dots/getting-started#create-your-dot) for setup steps.

29 

30Your dot introduces itself and uses the context available to it to suggest ways it can help. You can start talking to it while it gets to know your work.

23 31 

24Give your dot a name and choose its shape, color, eyes, glasses, and accessories. You can change these anytime.32Give your dot a name and choose its shape, color, eyes, glasses, and accessories. You can change these anytime.

25 33 


33 41 

34## Message or call your dot42## Message or call your dot

35 43 

36Continue talking to your dot in ChatGPT on desktop or in the mobile app when the supporting update is available. Create your dot on desktop first; mobile web is not supported.44Create and talk to your dot in the ChatGPT mobile app, desktop app, or a desktop browser. You can start on any of these and continue with the same dot on another device. Mobile web is not supported.

37 45 

38 46 

39 47 

40> Illustration: An illustrative ChatGPT conversation starts on desktop and continues with the same dot in the mobile app: a venue comparison gains a budget constraint. Mobile use requires the supporting app update.48> Illustration: An illustrative ChatGPT conversation with the same dot on desktop and in the mobile app: a venue comparison gains a budget constraint.

41 49 

42 50 

43 51 


86Your dot has its own computer and browser in the cloud for research, files, and running software. Cloud work can continue while your devices are off. When you need to inspect the browser or do a step yourself, open its computer and select **Take over**. Select **Return control** when you’re ready for your dot to continue. See [computers and apps](https://learn.chatgpt.com/docs/dots/computers-and-apps) for connection details.94Your dot has its own computer and browser in the cloud for research, files, and running software. Cloud work can continue while your devices are off. When you need to inspect the browser or do a step yourself, open its computer and select **Take over**. Select **Return control** when you’re ready for your dot to continue. See [computers and apps](https://learn.chatgpt.com/docs/dots/computers-and-apps) for connection details.

87 95 

88<DotProductPreview96<DotProductPreview

89 client:visible97 client:load

90 variant="computer"98 variant="computer"

91 copy={{99 copy={{

92 label:100 label:

93 "Example of a dot's cloud browser displaying the California DMV vehicle registration renewal page, with the Take over control.",101 "Example of a dot's cloud browser displaying the California DMV vehicle registration renewal page, with the Take over control.",

94 title: "{name}'s computer",102 title: "{name}’s Computer",

103 websiteTitle: "Vehicle Registration Renewal",

95 domain:104 domain:

96 "dmv.ca.gov/portal/vehicle-registration/vehicle-registration-renewal/",105 "dmv.ca.gov/portal/vehicle-registration/vehicle-registration-renewal/",

97 websiteUrl:106 websiteUrl:


100 websiteImageAlt:109 websiteImageAlt:

101 "California DMV website showing Vehicle Registration Online Renewal and the Before You Begin checklist.",110 "California DMV website showing Vehicle Registration Online Renewal and the Before You Begin checklist.",

102 status: "{name} has control",111 status: "{name} has control",

112 humanControl: "You have control",

113 returnControl: "Return control",

103 actions: ["Take over"],114 actions: ["Take over"],

104 }}115 }}

105/>116/>


127Your dot uses the same private browser sign-in flow as ChatGPT Work. When a website needs a login, it can send you a sign-in request. Open the request to enter your credentials and any requested verification in a private form. Your credentials go to the browser outside the conversation. You can also select **Take over to sign in** to complete the steps on the website yourself, then select **Done** when you’ve finished.138Your dot uses the same private browser sign-in flow as ChatGPT Work. When a website needs a login, it can send you a sign-in request. Open the request to enter your credentials and any requested verification in a private form. Your credentials go to the browser outside the conversation. You can also select **Take over to sign in** to complete the steps on the website yourself, then select **Done** when you’ve finished.

128 139 

129<DotWebsiteSignIn140<DotWebsiteSignIn

141 client:load

130 copy={{142 copy={{

131 label:143 label:

132 "Two illustrative views of website sign-in: Alfred requests access to a saved venue proposal, then a private sign-in form offers optional saving and browser takeover.",144 "Two illustrative views of website sign-in: Alfred requests access to a saved venue proposal, then a private sign-in form offers optional saving and browser takeover.",


167 179 

168You can add instructions for how you want your dot to work, such as asking it to show you drafts before sending them. Custom rules are optional controls for more specific ongoing boundaries. Neither instructions nor custom rules override built-in safety requirements. See [Control your dot](https://learn.chatgpt.com/docs/dots/controls).180You can add instructions for how you want your dot to work, such as asking it to show you drafts before sending them. Custom rules are optional controls for more specific ongoing boundaries. Neither instructions nor custom rules override built-in safety requirements. See [Control your dot](https://learn.chatgpt.com/docs/dots/controls).

169 181 

182## How dots compare with ChatGPT Work and Codex

183 

184Here's how dots compare with ChatGPT Work and Codex, and how they can work together.

185 

186| Experience | When to use it |

187| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

188| Chat | When you want an answer, an explanation, ideas, or help drafting something in conversation. |

189| ChatGPT Work | When you have a task to delegate, such as research, analysis, or creating a file, either now or on a schedule. |

190| Codex | When you want to build, debug, test, or review software and work directly with code and developer tools. |

191| Your dot | When you want an agent to keep track of an ongoing responsibility, figure out next steps as things change, and follow up between conversations. It can keep you updated in ChatGPT, Slack, or Teams and delegate tasks to ChatGPT Work or Codex. |

192 

170<a id="what-o-can-do"></a>193<a id="what-o-can-do"></a>

171<a id="things-to-try-with-o"></a>194<a id="things-to-try-with-o"></a>

172<a id="try-more-with-o"></a>195<a id="try-more-with-o"></a>


186 209 

187For an offsite, share the plan and venue emails, then ask your dot to identify upcoming decisions and deadlines.210For an offsite, share the plan and venue emails, then ask your dot to identify upcoming decisions and deadlines.

188 211 

189 212<DotPrompt

190 213 client:load

191**An offsite to organize:**214 copyLabel="Copy prompt"

192 215 copiedLabel="Copied"

193```text216 label="An offsite to organize"

194Help me keep our offsite on track. Read the plan and venue emails I shared, and make a list of decisions, deadlines, and things we're waiting on. Focus on anything that affects the budget or needs an answer this week. Draft suggested replies for my review, but don't send them.217 prompt={`Help me keep our offsite on track. Read the plan and venue emails I shared, and make a list of decisions, deadlines, and things we're waiting on. Focus on anything that affects the budget or needs an answer this week. Draft suggested replies for my review, but don't send them.`}

195```218/>

196 219 

197Review the first result and correct any missing details before expanding the responsibility.220Review the first result and correct any missing details before expanding the responsibility.

198 221 


203 226 

204Tell your dot what to keep current and which changes deserve your attention. It can decide when to follow up. If you want an update at a specific time, include a time zone and a duration or end date, and ask it to confirm the schedule.227Tell your dot what to keep current and which changes deserve your attention. It can decide when to follow up. If you want an update at a specific time, include a time zone and a duration or end date, and ask it to confirm the schedule.

205 228 

206 229<DotPrompt

207 230 client:load

208**A scheduled check-in:**231 copyLabel="Copy prompt"

209 232 copiedLabel="Copied"

210```text233 label="A scheduled check-in"

211Check the connected planning channel each weekday at 9 AM Central for the next four weeks. Update our offsite list when something changes. Message me in ChatGPT if a deadline is at risk or you need a decision from me. Keep routine updates in the checklist. Confirm the schedule.234 prompt={`Check the connected planning channel each weekday at 9 AM Central for the next four weeks. Update our offsite list when something changes. Message me in ChatGPT if a deadline is at risk or you need a decision from me. Keep routine updates in the checklist. Confirm the schedule.`}

212```235/>

213 236 

214### Review and redirect237### Review and redirect

215 238 


243 266 

244Conversations with your dot don’t count toward your ChatGPT usage limits. Tasks your dot starts or manages in Work or Codex count toward those products’ usage limits as usual. Your plan includes an allowance for deeper work, with extended limits for the first month after launch.267Conversations with your dot don’t count toward your ChatGPT usage limits. Tasks your dot starts or manages in Work or Codex count toward those products’ usage limits as usual. Your plan includes an allowance for deeper work, with extended limits for the first month after launch.

245 268 

246Create your dot in the desktop app or in ChatGPT on a desktop browser. After setup, use the same dot in the mobile app when the supporting update is available. Mobile web is not supported.269You can create your dot in the ChatGPT mobile app, desktop app, or a desktop browser. Use the latest version of the mobile app for mobile setup. Mobile web is not supported.

247 270 

248## Reference271## Reference

249 272 

dots/channels.md +13 −1

Details

8 8 

9## ChatGPT and voice9## ChatGPT and voice

10 10 

11Message or call your dot in ChatGPT on desktop web or in the desktop app. Create your dot there first, then use it in the mobile app when the supporting update is available. Mobile web is not supported.11Create, message, or call your dot in the ChatGPT mobile app, desktop app, or a desktop browser. Mobile web is not supported.

12 12 

13To call your dot, open its conversation and select the phone button. In the desktop app, you can also select **Call** in its profile. Talk through a request, clarify a decision, or ask for a progress update. You can type messages while you’re talking, and your dot can also message you with progress or a question. Ending a call ends the voice conversation; work you've assigned can continue. Calls initiated by your dot are planned for after launch.13To call your dot, open its conversation and select the phone button. In the desktop app, you can also select **Call** in its profile. Talk through a request, clarify a decision, or ask for a progress update. You can type messages while you’re talking, and your dot can also message you with progress or a question. Ending a call ends the voice conversation; work you've assigned can continue. Calls initiated by your dot are planned for after launch.

14 14 

15 

16 

17> Illustration: An example voice call with a dot alongside chat messages preparing a product launch review and identifying open decisions.

18 

19 

20 

15<a id="slack"></a>21<a id="slack"></a>

16 22 

17## Slack and Teams23## Slack and Teams


24 30 

25For monitoring, specify which channels to check, what to watch for, and when to notify you. Ask your dot to confirm the recurring task. Adding it to a channel doesn't establish a monitoring schedule.31For monitoring, specify which channels to check, what to watch for, and when to notify you. Ask your dot to confirm the recurring task. Adding it to a channel doesn't establish a monitoring schedule.

26 32 

33 

34 

35> Illustration: An example Slack direct message and reply thread: Alex forwards a launch plan. The next morning, the dot flags a schedule risk, and Alex reviews a draft follow-up in a thread.

36 

37 

38 

27## Texting39## Texting

28 40 

29Texting is coming soon.41Texting is coming soon.

Details

2 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.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 4 

5Create your dot in the desktop app or in ChatGPT on a desktop browser. You can give it more than one ongoing responsibility.5Create your dot in the ChatGPT mobile app, desktop app, or a desktop browser. You can give it more than one ongoing responsibility.

6 6 

7## Create your dot7## Create your dot

8 8 

91. Open dots in ChatGPT and follow the introduction.9<WorkflowSteps>

102. Connect apps such as email, calendar, and files, or skip this step and add them later.

113. In the desktop app, choose whether to connect your computer.

12 10 

13Your dot starts with a default appearance and name. You can personalize its111. Open dots in the ChatGPT mobile app, desktop app, or a desktop browser, and follow the introduction.

14name, shape, color, eyes, glasses, and accessories after setup.122. Give your dot a name and customize its appearance. You can keep the defaults and change them later.

133. Connect plugins for the apps you want your dot to use, such as email, calendar, and files. You can skip this step and add them later.

15 14 

16After setup, you can open the same dot in the ChatGPT mobile app when the supporting update is available. Mobile web is not supported. See [access and preview limits](https://learn.chatgpt.com/docs/dots#access).15</WorkflowSteps>

16 

17### Set up on mobile or desktop

18 

19Choose whichever device works best for you: the ChatGPT mobile app, desktop app, or a desktop browser. After setup, you can continue with the same dot across devices.

20 

21If you prefer to set up on your phone, use the latest version of the ChatGPT mobile app. You can name your dot, customize its appearance, and connect plugins there. You can also choose to have ChatGPT open directly to your dot’s conversation. Mobile web is not supported. See [access and preview limits](https://learn.chatgpt.com/docs/dots#access) if dots is not available to your account.

22 

23### Connect your computer

24 

25Connecting your own computer lets your dot work there when it’s helpful: using files on your computer, working with the context of your signed-in browser, or starting and managing your local Codex tasks. Keep your computer online with the ChatGPT app open while your dot uses it.

26 

27This connection is optional. Your dot has its own cloud computer and can work without access to your device. You can [connect your computer](https://learn.chatgpt.com/docs/dots/computers-and-apps#connect-your-computer) from the desktop app during setup or later, whether you created your dot on mobile or desktop.

17 28 

18## Connect tools and contact methods29## Connect tools and contact methods

19 30 


41 52 

42Start with work you want your dot to keep track of, rather than treating each conversation as a fresh request. Describe what matters, share the relevant sources, and explain which decisions need your input. Built-in safeguards and approval checks apply alongside your existing app permissions. For example:53Start with work you want your dot to keep track of, rather than treating each conversation as a fresh request. Describe what matters, share the relevant sources, and explain which decisions need your input. Built-in safeguards and approval checks apply alongside your existing app permissions. For example:

43 54 

44> Help me keep our offsite on track. Use the plan and venue emails I shared to keep track of decisions, deadlines, and unanswered questions. Let me know when something needs my attention, and draft suggested replies for my review.55<DotPrompt

56 client:load

57 label="An offsite to organize"

58 prompt="Help me keep our offsite on track. Use the plan and venue emails I shared to keep track of decisions, deadlines, and unanswered questions. Let me know when something needs my attention, and draft suggested replies for my review."

59/>

45 60 

46Review the result and correct missing details. Your dot can delegate parts of a request to ChatGPT Work or Codex. In the desktop app, open your dot’s profile and select [Activity](https://learn.chatgpt.com/docs/dots/controls#review-work) to inspect delegated work and requests for input.61Review the result and correct missing details. Your dot can delegate parts of a request to ChatGPT Work or Codex. In the desktop app, open your dot’s profile and select [Activity](https://learn.chatgpt.com/docs/dots/controls#review-work) to inspect delegated work and requests for input.

47 62 


53 68 

54Tell it where to send updates and when to interrupt you. You can also request a fixed schedule when the timing matters. Include the time zone and duration:69Tell it where to send updates and when to interrupt you. You can also request a fixed schedule when the timing matters. Include the time zone and duration:

55 70 

56> Check the connected planning channel each weekday at 9 AM Central for the next four weeks. Update my checklist when a deadline changes. If a deadline is at risk, message me in ChatGPT and draft a reminder for my review. Confirm the schedule.71<DotPrompt

72 client:load

73 label="A scheduled check-in"

74 prompt="Check the connected planning channel each weekday at 9 AM Central for the next four weeks. Update my checklist when a deadline changes. If a deadline is at risk, message me in ChatGPT and draft a reminder for my review. Confirm the schedule."

75/>

57 76 

58Where a connected source supports it, you can also ask your dot to act when a specified event occurs, such as when a new bug report appears in a Slack channel. Ask it to confirm what it set up. You can revise a responsibility or cancel a recurring task later. Ending a conversation or voice call doesn't necessarily stop assigned work.77Where a connected source supports it, you can also ask your dot to act when a specified event occurs, such as when a new bug report appears in a Slack channel. Ask it to confirm what it set up. You can revise a responsibility or cancel a recurring task later. Ending a conversation or voice call doesn't necessarily stop assigned work.

enterprise/dynamic-groups.md +117 −0 created

Details

1# Dynamic groups

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 

5Dynamic groups organize workspace members using user attributes sent by your identity provider through SCIM. You define membership rules using supported attributes, such as department or location. As those attributes change, group membership updates to include people who match the rules and remove people who no longer match.

6 

7For example, a dynamic group can include members whose department is Engineering and whose location is London. You manage the rules in ChatGPT Admin, while your identity provider supplies the user attributes.

8 

9## Before you begin

10 

11- Sign in as a workspace owner or admin in a workspace where dynamic groups are available.

12- Configure SCIM provisioning for your workspace and make sure your identity provider sends the attributes you want to use.

13- Choose attribute values that match the values your identity provider sends. See the supported attributes and payload paths in this guide.

14 

15Group membership and feature permissions are separate. A member’s applicable roles, seat type, and product eligibility still determine access. See [Groups and provisioning](https://learn.chatgpt.com/docs/enterprise/groups-and-provisioning) for the access model.

16 

17## Create a dynamic group

18 

191. Open [ChatGPT Admin](https://admin.openai.com/) and select your workspace.

202. Under **Identity & access**, select **Groups & roles**.

213. Select **Create group** using the **+** button.

224. Enter a group name, such as **Demo**, turn on **Dynamic group**, and select **Next**.

23 

24 

25 

26![Create the Demo group with Dynamic group enabled](<https://developers.openai.com/images/codex/dynamic-groups/create-dynamic-group.webp>)

27 

28 

29 

305. Under **Add membership rules**, choose an **Attribute**, an **Operator**, and a **Value**. In this example, select **department**, **Equals**, and enter **Engineering**.

316. Select **Add condition** to add another rule. For this example, select **location**, **Equals**, and enter **London**.

32 

33Members must match **all conditions**. The example below matches members whose department is Engineering **and** whose location is London.

34 

35 

36 

37![Membership rules requiring department to equal Engineering and location to equal London](<https://developers.openai.com/images/codex/dynamic-groups/membership-rules.webp>)

38 

39 

40 

417. Select **Create**. Open the group’s **Settings** tab to review its name and membership rules.

42 

43 

44 

45![Demo settings with the saved dynamic membership rules and Re-sync button](<https://developers.openai.com/images/codex/dynamic-groups/group-settings.webp>)

46 

47 

48 

49Creating the group saves its membership rules. Select **Re-sync** to apply those rules to existing workspace members.

50 

51## Edit membership rules

52 

53To change which members qualify for a dynamic group:

54 

551. Open the group and select **Settings**.

562. Edit its membership rules and select **Save changes**.

573. Select **Re-sync** to apply the saved rules to existing workspace members.

58 

59**Save changes** stores the rules without starting a re-sync. **Re-sync** uses the saved rules and is unavailable while you have unsaved changes.

60 

61## Re-sync membership

62 

63Use **Re-sync** to re-evaluate the group’s membership against its current rules and the SCIM attributes already available in the workspace.

64 

651. Open the dynamic group and select **Settings**.

662. In **Membership rules**, select **Re-sync**.

673. Follow the **Syncing group membership** status panel. A queued sync can show **Starts in** with a countdown before processing begins. You can collapse the panel or use **Cancel sync** while that option is available.

684. After processing finishes, open **Group members** to review the result.

69 

70 

71 

72![The Syncing group membership panel shows a countdown and Cancel sync control](<https://developers.openai.com/images/codex/dynamic-groups/resync-status.webp>)

73 

74 

75 

76Membership rule controls are unavailable while the sync is active. Canceling a sync can leave membership partially updated. After making any rule changes, save them and run **Re-sync** again to apply the saved rules. If an expected member is missing, check that their SCIM attributes have reached the workspace and that their values match every condition.

77 

78## View a member’s SCIM attributes

79 

80Use a member’s profile card to check the SCIM attribute values available in your workspace and compare them with your dynamic group’s membership rules.

81 

821. Under **Identity & access**, select **Members**.

832. Search for the member by name or email, then select their name to open their profile card.

843. Review the **SCIM attributes** table, which lists each available attribute and its value.

85 

86The example below shows a test member’s SCIM values, including `department`, `title`, and `costCenter`.

87 

88 

89 

90![Member profile card with name, email, and group names masked, showing SCIM attribute names and values](<https://developers.openai.com/images/codex/dynamic-groups/member-scim-attributes.webp>)

91 

92 

93 

94## Supported SCIM attributes

95 

96The following table lists the supported attribute names and the user-payload fields recognized for each one. All attributes in this catalog use the string type, including `isAdmin`.

97 

98A plain field name refers to a top-level field. A path beginning with `/` identifies a field inside the named SCIM extension object. For example, `/urn:ietf:params:scim:schemas:extension:enterprise:2.0:User/department` refers to `department` inside the `urn:ietf:params:scim:schemas:extension:enterprise:2.0:User` object.

99 

100| Attribute name | Recognized fields in the SCIM payload |

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

102| `department` | `department`<br />`/urn:ietf:params:scim:schemas:extension:enterprise:2.0:User/department`<br />`/urn:scim:schemas:extension:enterprise:1.0/department`<br />`/urn:scim:schemas:extension:enterprise:2.0/department` |

103| `title` | `title` |

104| `manager` | `manager`<br />`/urn:ietf:params:scim:schemas:extension:enterprise:2.0:User/manager/value`<br />`/urn:ietf:params:scim:schemas:extension:enterprise:2.0:User/manager/displayName`<br />`/urn:scim:schemas:extension:enterprise:1.0/manager/value`<br />`/urn:scim:schemas:extension:enterprise:1.0/manager/displayName`<br />`/urn:scim:schemas:extension:enterprise:2.0/manager/value`<br />`/urn:scim:schemas:extension:enterprise:2.0/manager/displayName` |

105| `costCenter` | `costCenter`<br />`/urn:ietf:params:scim:schemas:extension:enterprise:2.0:User/costCenter`<br />`/urn:scim:schemas:extension:enterprise:1.0/costCenter` |

106| `division` | `division`<br />`/urn:ietf:params:scim:schemas:extension:enterprise:2.0:User/division`<br />`/urn:scim:schemas:extension:enterprise:1.0/division` |

107| `organization` | `organization`<br />`/urn:ietf:params:scim:schemas:extension:enterprise:2.0:User/organization`<br />`/urn:scim:schemas:extension:enterprise:1.0/organization` |

108| `userType` | `userType` |

109| `country` | `country` |

110| `isAdmin` | `isAdmin` |

111| `location` | `location` |

112 

113For `manager`, the catalog recognizes the top-level field and the nested extension `value` or `displayName` fields. For `country`, send the top-level field shown in the table.

114 

115## Related documentation

116 

117- [Groups and provisioning](https://learn.chatgpt.com/docs/enterprise/groups-and-provisioning)

Details

19 19 

20Workspace owners and admins can create and manage groups. Create a manually20Workspace owners and admins can create and manage groups. Create a manually

21managed group for a small or temporary audience, or sync an established group21managed group for a small or temporary audience, or sync an established group

22from your identity provider when membership should follow your directory.22from your identity provider when membership should follow your directory. Use a

23dynamic group when membership should follow rules based on SCIM user attributes.

23 24 

24Each group has one authoritative membership source:25Each group has one authoritative membership source:

25 26 

26| Group type | Membership source | When it applies |27| Group type | Membership source | When it applies |

27| ------------------------- | ----------------------------------- | -------------------------------------------------------------------------------- |28| ------------------------- | -------------------------------------------- | -------------------------------------------------------------------------------- |

28| Manually managed | ChatGPT workspace administration | The group is small, temporary, or not managed through directory sync |29| Manually managed | ChatGPT workspace administration | The group is small, temporary, or not managed through directory sync |

29| Identity-provider managed | Your identity provider through SCIM | Membership should follow the organization's directory and member-removal process |30| Identity-provider managed | Your identity provider through SCIM | Membership should follow the organization's directory and member-removal process |

31| Dynamic | Rules evaluated against SCIM user attributes | Membership should follow attributes such as department or location |

30 32 

31Manual and identity-provider-managed groups can coexist. For synchronized33Dynamic groups evaluate SCIM user attributes against rules you define in

32groups, the identity provider is the membership source; later provisioning34ChatGPT Admin. See [Dynamic groups](https://learn.chatgpt.com/docs/enterprise/dynamic-groups) for setup

33updates can overwrite workspace-side changes. The Help Center owns current SCIM35steps and supported attributes.

34behavior, supported attributes, and setup steps.36 

37Manual and identity-provider-managed groups can coexist. For

38identity-provider-managed groups, the identity provider is the membership source;

39later provisioning updates can overwrite workspace-side changes. The Help Center

40owns current SCIM provisioning behavior and setup steps.

35 41 

36## Understand the access boundary42## Understand the access boundary

37 43 

speed.md +10 −0

Details

23 23 

24## Ultrafast mode24## Ultrafast mode

25 25 

26<UltrafastAnimation

27 client:visible

28 title="Ultrafast"

29 label="Interactive Ultrafast starfield"

30 controls={{

31 pause: { label: "Pause animation" },

32 play: { label: "Play animation" },

33 }}

34/>

35 

26Ultrafast supports GPT-6 Astra and GPT-6.1 Sol.36Ultrafast supports GPT-6 Astra and GPT-6.1 Sol.

27 37 

28GPT-6 Astra Ultrafast generates tokens up to 8x faster than GPT-6 Astra in38GPT-6 Astra Ultrafast generates tokens up to 8x faster than GPT-6 Astra in

whats-new.md +13 −1

Details

2 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.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 4 

5For every versioned update, bug fix, and minor improvement, see the [Codex changelog](https://learn.chatgpt.com/docs/changelog) and [API changelog](https://developers.openai.com/api/docs/changelog).5For every versioned update, bug fix, and minor improvement, see the [ChatGPT and Codex changelog](https://learn.chatgpt.com/docs/changelog) and [API changelog](https://developers.openai.com/api/docs/changelog).

6 

7 

6 8 

7## [October 5–9, 2026](https://learn.chatgpt.com/docs/whats-new/october-5-9-2026)9## [October 5–9, 2026](https://learn.chatgpt.com/docs/whats-new/october-5-9-2026)

8 10 

11 

12 

13 

14### [Create your dot in the ChatGPT mobile app](https://learn.chatgpt.com/docs/whats-new/dots-october-9-2026)

15 

16Create your dot, give it a name, customize its appearance, and connect plugins from your phone. This week's Dots update also brings more context from ChatGPT and Codex, faster cloud browsing, and fixes to notifications, setup, and everyday use.

17 

18 

19 

20 

9### Use GPT-6.1 Sol with Ultrafast mode21### Use GPT-6.1 Sol with Ultrafast mode

10 22 

11[Ultrafast mode](https://learn.chatgpt.com/docs/agent-configuration/speed#ultrafast-mode) speeds up23[Ultrafast mode](https://learn.chatgpt.com/docs/agent-configuration/speed#ultrafast-mode) speeds up

Details

1# Create your dot in the ChatGPT mobile app

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 

5[Back to What's new](https://learn.chatgpt.com/docs/whats-new#october-59-2026)

6 

7October 5–9, 2026

8 

9You can now create your dot in the ChatGPT mobile app. Give it a name,

10customize its appearance, and connect plugins, all from your phone. You can

11also choose to open ChatGPT directly to your dot’s conversation, so it’s

12ready when you want to pick up where you left off.

13 

14 

15 

16[Create and personalize your dot in the ChatGPT mobile app.](https://cdn.openai.com/devhub/docs/dots/demos/dots-demo-mobile-onboarding-1080p-v1.webm)

17 

18 

19 

20## Bring your dot into your Codex work

21 

22Your dot can start work in Codex and follow up on existing threads. It can

23search across your ChatGPT conversations and use context from

24your existing Codex threads and automations. It’s also better at deciding

25when to continue an existing Codex thread and when to start a new one,

26helping keep related work together.

27 

28Your dot can read and edit ChatGPT Work automations, too. Ask it to review

29what’s scheduled or update a recurring task as your needs change.

30 

31 

32 

33[Ask your dot to start and manage Codex tasks from your phone.](https://cdn.openai.com/devhub/docs/dots/demos/dots-demo-codex-tasks-1080p-v1.webm)

34 

35 

36 

37## Other improvements

38 

39- **Faster, smoother work:** Cloud browsing and sidebar loading are faster.

40 We’ve reduced pauses while waiting for replies, smoothed transcript

41 scrolling and animations, and fixed an issue that could cause excessive

42 network usage.

43- **Fewer unnecessary notifications:** Fixed extra phone notifications

44 while you’re already using ChatGPT.

45- **Clearer conversations on the web:** Improved code blocks and attachments,

46 and fixed character rendering in Safari and Firefox. Threads your dot

47 manages can rename themselves as the work changes, with fewer redundant

48 “created task” messages.

49- **More reliable setup:** Fixed Outlook setup getting stuck and added

50 autofill for email verification codes.

51- **Easier review and recovery:** Plan guidance is clearer, and you can retry

52 activity that fails to load. Safety banners are more stable on the web,

53 and approval buttons no longer get clipped or hidden by oversized Gmail

54 previews.

55- **More reliable Enterprise access:** Fixed access issues on the web and

56 when starting a voice call.

57 

58 

59 

60

61 

62### Start working with your dot

63 

64Explore what your dot can do, connect it to your tools, and give it ongoing work to take care of.

65 

66[Meet your dot](https://learn.chatgpt.com/docs/dots)

Details

4 4 

5[Back to What's new](https://learn.chatgpt.com/docs/whats-new#october-59-2026)5[Back to What's new](https://learn.chatgpt.com/docs/whats-new#october-59-2026)

6 6 

7## [Create your dot in the ChatGPT mobile app](https://learn.chatgpt.com/docs/whats-new/dots-october-9-2026)

8 

9Create your dot, give it a name, customize its appearance, and connect plugins from your phone. This week's Dots update also brings more context from ChatGPT and Codex, faster cloud browsing, and fixes to notifications, setup, and everyday use.

10 

7## Use GPT-6.1 Sol with Ultrafast mode11## Use GPT-6.1 Sol with Ultrafast mode

8 12 

9Ultrafast mode speeds up token generation with [GPT-6.1 Sol](https://learn.chatgpt.com/docs/models#gpt-61-sol)13Ultrafast mode speeds up token generation with [GPT-6.1 Sol](https://learn.chatgpt.com/docs/models#gpt-61-sol)

windows.md +37 −91

Details

13requiring WSL or a virtual machine. This keeps Codex in Windows-native13requiring WSL or a virtual machine. This keeps Codex in Windows-native

14workflows while enforcing bounded filesystem and network permissions.14workflows while enforcing bounded filesystem and network permissions.

15 15 

16For enterprise installation, see the [Windows Deployment Guide](https://learn.chatgpt.com/docs/enterprise/windows-deployment).

17 

16 18 

17 19

18 20 


34 36 

35Codex supports three Windows sandbox implementations:37Codex supports three Windows sandbox implementations:

36 38 

37- `mxc`: The recommended sandbox on compatible Windows devices where policy permits it. Uses process isolation without administrator-approved setup, additional Windows accounts, changes to host file permissions, or local firewall rules.39- `mxc`: The recommended sandbox on compatible Windows devices. Uses native process isolation without administrator-approved setup, additional Windows accounts, or local firewall rules.

38- `elevated`: The preferred legacy fallback when MXC is unavailable or disabled. Requires administrator-approved setup. Commands in the sandbox run without administrator privileges.40- `elevated`: The preferred legacy fallback when MXC is unavailable or disabled. Requires administrator-approved setup. Commands in the sandbox run without administrator privileges.

39- `unelevated`: A legacy fallback when elevated setup is unavailable and organizational policy permits it. Has weaker network isolation than `elevated` and doesn't support denied read paths.41- `unelevated`: A legacy fallback when elevated setup is unavailable and organizational policy permits it. Has weaker network isolation than `elevated` and doesn't support denied read paths.

40 42 


44 46 

45## Configure the Windows sandbox47## Configure the Windows sandbox

46 48 

47The Windows sandbox enforces the active filesystem and network permissions for49The Windows sandbox enforces the active filesystem and network permissions for commands and their child processes. The permission profile determines which paths are readable or writable and whether network access is allowed. Approval policy separately controls when Codex asks to run commands with more access. See [sandbox and approvals](https://learn.chatgpt.com/docs/agent-approvals-security).

48commands and their child processes. The permission profile determines which50 

49paths are readable or writable and whether network access is allowed. Approval51 

50policy separately controls when Codex asks to run commands with more access.52 

51See [sandbox and approvals](https://learn.chatgpt.com/docs/agent-approvals-security).

52 53 

53### Control MXC rollout

54 54 

55These settings are available in Codex CLI 0.162.0. In the standalone CLI,55### Enable MXC

56`features.prefer_mxc` is off by default. The desktop app can enable this

57preference through its rollout configuration.

58 56 

59#### Prefer MXC with legacy fallback57The desktop app automatically prefers MXC for consumer accounts when the device supports it. For enterprise deployments or standalone CLI use, you can enable the same behavior with the configuration below.

60 58 

61To use MXC when the device and policy support it, add this to `config.toml`:59In `config.toml`:

62 60 

63```toml61```toml

64[features]62[features]

65prefer_mxc = true63prefer_mxc = true

66```64```

67 65 

68Keep `windows.sandbox` set to your organization's permitted legacy implementation,66With `prefer_mxc = true`, Codex uses MXC for Windows commands when the device and policy support it.

69`elevated` or `unelevated`, for fallback.67Otherwise, it uses the existing legacy selection and setup flow.

70 68 

71Codex uses MXC for local Windows commands when the device and policy support it,69For enterprises where device support or policy varies, keep `windows.sandbox` set to your organization's permitted legacy implementation, `elevated` or `unelevated`, [as a fallback](#configure-a-legacy-fallback).

72even when `windows.sandbox` selects a legacy implementation. Otherwise, it uses

73the existing legacy selection and setup flow. This includes devices without

74MXC support and policies that set `windows.allow_mxc = false` or forbid local

75binding. `windows.allowed_sandbox_implementations` still constrains fallback;

76permission profiles and other managed requirements continue to apply.

77 70 

78Fallback happens during sandbox selection. Commands that fail after MXC is71Administrators can distribute this configuration as a default or enforce `features.prefer_mxc = true` through `requirements.toml`. Both permit legacy fallback. See [managed configuration](https://learn.chatgpt.com/docs/enterprise/managed-configuration) for how defaults and requirements differ.

79selected aren't retried in a legacy sandbox.

80 72 

81Administrators can distribute this configuration as a default or enforce73### Keep MXC disabled

82`features.prefer_mxc = true` through `requirements.toml`. Both permit legacy

83fallback. See [managed configuration](https://learn.chatgpt.com/docs/enterprise/managed-configuration)

84for how defaults and requirements differ.

85 

86#### Keep MXC disabled

87 74 

88To prevent MXC use in your organization, add this to your managed75To prevent MXC use in your organization, add this to your managed

89`requirements.toml`:76`requirements.toml`:


93allow_mxc = false80allow_mxc = false

94```81```

95 82 

96This blocks both automatic MXC selection and explicit `windows.sandbox = "mxc"`.83This blocks both automatic MXC selection and explicit `windows.sandbox = "mxc"`. Existing legacy sandbox settings and requirements still apply.

97Existing legacy sandbox settings and requirements still apply. Configure

98`windows.allow_mxc` in `requirements.toml`, not `config.toml`.

99 84 

100### MXC compatibility85### MXC compatibility

101 86 

102Microsoft Execution Containers (MXC) uses native Windows process isolation87The host must already have the required Microsoft Execution Containers (MXC) capabilities, which Microsoft is rolling out to Windows 11 devices. Microsoft introduced MXC process isolation in **Windows 11 24H2 (build 26100.9278)** and **25H2 (build 26200.9278)**. Use the command below to verify MXC support on your device.

103without creating sandbox accounts, changing host file permissions, or running

104the classic elevated setup. Commands run under the user's Windows identity

105with a policy applied to each command. MXC doesn't require administrator

106elevation for sandbox setup or local Windows Firewall rules.

107MXC accepts readable, writable, and denied paths from the active permission

108profile. Its native network policy controls command network access without

109depending on the legacy sandbox's firewall provisioning.

110 

111Before selecting MXC, validate the required capabilities and your workloads on

112the Windows 11 device. A Windows version number alone doesn't establish

113compatibility.

114 88 

115In Codex CLI 0.162.0, you can test MXC for one command without changing the saved89In Codex CLI 0.162.0 and later, you can test MXC for one command without changing the saved sandbox selection. From your project directory, run:

116sandbox selection. From your project directory, run:

117 90 

118```powershell91```powershell

119codex -c windows.sandbox=mxc sandbox --include-managed-config --permission-profile :workspace -- cmd.exe /d /c echo MXC_OK92codex -c windows.sandbox=mxc sandbox --include-managed-config --permission-profile :workspace -- cmd.exe /d /c echo MXC_OK

120$LASTEXITCODE93$LASTEXITCODE

121```94```

122 95 

123Expected output is `MXC_OK` and exit code `0`. This checks command startup with96Expected output is `MXC_OK` and exit code `0`. This checks command startup with the workspace permission profile and managed requirements.

124the workspace permission profile and managed requirements. Also test permitted

125file access, expected denials, PowerShell, and your network policy before using

126MXC for normal work.

127 97 

128Explicit `windows.sandbox = "mxc"` selection fails if the required native98Explicit `windows.sandbox = "mxc"` selection fails if the required native capabilities are unavailable or policy blocks MXC.

129capabilities are unavailable; it doesn't fall back to a classic implementation.

130Policies with denied paths also require native deny-path support.

131 99 

132Check these compatibility limits:100Note these compatibility limits:

133 101 

134- Managed networking requires effective `allow_local_binding = true`. MXC102- Managed networking requires effective `allow_local_binding = true`. MXC permits connections to and from services on host loopback. Proxy domain rules still apply to proxied traffic, but the proxy's additional private-network destination checks are removed.

135 permits connections to and from services on host loopback. Proxy domain rules103- Remaining child processes stop when the foreground command exits. Test workflows that rely on detached development servers.

136 still apply to proxied traffic, but the proxy's additional private-network

137 destination checks are removed. This doesn't enable networking when it's disabled.

138- Remaining child processes stop when the foreground command exits. Test

139 workflows that rely on detached development servers.

140 104 

141### Configure a legacy fallback105### Configure a legacy fallback

142 106 


147sandbox = "elevated" # or "unelevated"111sandbox = "elevated" # or "unelevated"

148```112```

149 113 

150`elevated` is the preferred legacy fallback. It uses dedicated114`elevated` is the preferred legacy fallback. It uses dedicated lower-privilege sandbox users, filesystem permission boundaries, firewall rules, and local policy changes needed for commands that run in the sandbox.

151lower-privilege sandbox users, filesystem permission boundaries, firewall

152rules, and local policy changes needed for commands that run in the sandbox.

153 115 

154`unelevated` is a legacy fallback. It runs commands with a116`unelevated` is a legacy fallback. It runs commands with a restricted Windows token derived from your current user, applies ACL-based filesystem boundaries, and uses environment-level offline controls instead of the dedicated offline-user firewall rule. It provides weaker network isolation than `elevated` and doesn't support denied read paths, but is still useful when administrator-approved setup is blocked by local or enterprise policy.

155restricted Windows token derived from your current user, applies ACL-based

156filesystem boundaries, and uses environment-level offline controls instead of

157the dedicated offline-user firewall rule. It provides weaker network isolation

158than `elevated` and doesn't support denied read paths, but is still useful when

159administrator-approved setup is blocked by local or enterprise policy.

160 117 

161Use MXC when the device and policy support it. Otherwise, prefer `elevated`.118Use MXC when the device and policy support it. Otherwise, prefer `elevated`, with `unelevated` as a secondary fallback.

162Use `unelevated` as a fallback only when your organization's policy permits it.

163 119 

164Enterprise administrators can constrain which classic sandbox implementations120Enterprise administrators can constrain which legacy sandbox implementations

165Codex can use through [`requirements.toml`](https://learn.chatgpt.com/docs/enterprise/managed-configuration#admin-enforced-requirements-requirementstoml):121Codex can use through [`requirements.toml`](https://learn.chatgpt.com/docs/enterprise/managed-configuration#admin-enforced-requirements-requirementstoml):

166 122 

167```toml123```toml


169allowed_sandbox_implementations = ["elevated"]125allowed_sandbox_implementations = ["elevated"]

170```126```

171 127 

172This example permits `elevated` and prevents fallback to `unelevated`. It does128This example permits `elevated` and prevents fallback to `unelevated`. It does not restrict `mxc` when MXC is available. Other managed permission and network requirements still apply. To permit either legacy implementation, include both values; Codex prefers `elevated` when no mode is selected.

173not restrict `mxc` when MXC is available. Other managed permission and network129 

174requirements still apply. To permit either classic implementation, include130See the [`requirements.toml` reference](https://learn.chatgpt.com/docs/config-file/config-reference#requirementstoml) for the supported values. To block MXC as well, use the separate [`windows.allow_mxc` requirement](#keep-mxc-disabled).

175both values; Codex prefers `elevated` when no mode is selected. See the

176[`requirements.toml` reference](https://learn.chatgpt.com/docs/config-file/config-reference#requirementstoml) for

177the supported values. To block MXC as well, use the separate

178[`windows.allow_mxc` requirement](#keep-mxc-disabled).

179 131 

180By default, both legacy sandbox modes also use a private desktop for stronger UI132By default, both legacy sandbox modes also use a private desktop for stronger UI isolation.

181isolation.

182 133 

183#### Provision the classic elevated sandbox134### IT-led provisioning for the legacy elevated sandbox

184 135 

185For employees without local administrator rights, IT can install the CLI and136For employees without local administrator rights, IT can install the CLI and provision the elevated sandbox before the employee starts Codex. From an elevated

186provision the sandbox before the employee starts Codex. From an elevated

187deployment process, run:137deployment process, run:

188 138 

189```powershell139```powershell

190codex sandbox setup --elevated --user 'DOMAIN\alice' --codex-home 'C:\Users\alice\.codex'140codex sandbox setup --elevated --user 'DOMAIN\alice' --codex-home 'C:\Users\alice\.codex'

191```141```

192 142 

193Replace the identity and path with the employee's Windows identity and143Replace the identity and path with the employee's Windows identity and `CODEX_HOME`. The command reads that user's configuration, provisions the sandbox, and saves `windows.sandbox = "elevated"`. The employee then runs Codex from a normal terminal.

194`CODEX_HOME`. The command reads that user's configuration, provisions the

195sandbox, and saves `windows.sandbox = "elevated"`. The employee then runs Codex

196from a normal terminal. Using a non-admin terminal doesn't select the

197`unelevated` implementation.

198 144 

199### Sandbox permissions145### Sandbox permissions

200 146 


219 165 

220- `winget` should be available. If it's missing, update Windows or install166- `winget` should be available. If it's missing, update Windows or install

221 the Windows Package Manager before setting up Codex.167 the Windows Package Manager before setting up Codex.

222- The classic `elevated` sandbox depends on administrator-approved setup.168- The legacy `elevated` sandbox depends on administrator-approved setup.

223- Some enterprise-managed devices block the required setup steps even when the169- Some enterprise-managed devices block the required setup steps even when the

224 OS version itself is acceptable.170 OS version itself is acceptable.

225- MXC additionally requires the native capabilities described in171- MXC additionally requires the native capabilities described in


385 331 

3861. Restart Codex.3321. Restart Codex.

3872. For MXC, repeat the [compatibility probe](#mxc-compatibility) and check the3332. For MXC, repeat the [compatibility probe](#mxc-compatibility) and check the

388 effective network policy. For the classic `elevated` implementation, try334 effective network policy. For the legacy `elevated` implementation, try

389 sandbox setup again.335 sandbox setup again.

3903. If a classic sandbox is needed and managed policy permits it, use3363. If a legacy sandbox is needed and managed policy permits it, use

391 `unelevated` as a temporary fallback.337 `unelevated` as a temporary fallback.

3924. Collect the sandbox log for review.3384. Collect the sandbox log for review.

393 339 

Details

13requiring WSL or a virtual machine. This keeps Codex in Windows-native13requiring WSL or a virtual machine. This keeps Codex in Windows-native

14workflows while enforcing bounded filesystem and network permissions.14workflows while enforcing bounded filesystem and network permissions.

15 15 

16For enterprise installation, see the [Windows Deployment Guide](https://learn.chatgpt.com/docs/enterprise/windows-deployment).

17 

16 18 

17 19

18 20 


34 36 

35Codex supports three Windows sandbox implementations:37Codex supports three Windows sandbox implementations:

36 38 

37- `mxc`: The recommended sandbox on compatible Windows devices where policy permits it. Uses process isolation without administrator-approved setup, additional Windows accounts, changes to host file permissions, or local firewall rules.39- `mxc`: The recommended sandbox on compatible Windows devices. Uses native process isolation without administrator-approved setup, additional Windows accounts, or local firewall rules.

38- `elevated`: The preferred legacy fallback when MXC is unavailable or disabled. Requires administrator-approved setup. Commands in the sandbox run without administrator privileges.40- `elevated`: The preferred legacy fallback when MXC is unavailable or disabled. Requires administrator-approved setup. Commands in the sandbox run without administrator privileges.

39- `unelevated`: A legacy fallback when elevated setup is unavailable and organizational policy permits it. Has weaker network isolation than `elevated` and doesn't support denied read paths.41- `unelevated`: A legacy fallback when elevated setup is unavailable and organizational policy permits it. Has weaker network isolation than `elevated` and doesn't support denied read paths.

40 42 


44 46 

45## Configure the Windows sandbox47## Configure the Windows sandbox

46 48 

47The Windows sandbox enforces the active filesystem and network permissions for49The Windows sandbox enforces the active filesystem and network permissions for commands and their child processes. The permission profile determines which paths are readable or writable and whether network access is allowed. Approval policy separately controls when Codex asks to run commands with more access. See [sandbox and approvals](https://learn.chatgpt.com/docs/agent-approvals-security).

48commands and their child processes. The permission profile determines which50 

49paths are readable or writable and whether network access is allowed. Approval51 

50policy separately controls when Codex asks to run commands with more access.52 

51See [sandbox and approvals](https://learn.chatgpt.com/docs/agent-approvals-security).

52 53 

53### Control MXC rollout

54 54 

55These settings are available in Codex CLI 0.162.0. In the standalone CLI,55### Enable MXC

56`features.prefer_mxc` is off by default. The desktop app can enable this

57preference through its rollout configuration.

58 56 

59#### Prefer MXC with legacy fallback57The desktop app automatically prefers MXC for consumer accounts when the device supports it. For enterprise deployments or standalone CLI use, you can enable the same behavior with the configuration below.

60 58 

61To use MXC when the device and policy support it, add this to `config.toml`:59In `config.toml`:

62 60 

63```toml61```toml

64[features]62[features]

65prefer_mxc = true63prefer_mxc = true

66```64```

67 65 

68Keep `windows.sandbox` set to your organization's permitted legacy implementation,66With `prefer_mxc = true`, Codex uses MXC for Windows commands when the device and policy support it.

69`elevated` or `unelevated`, for fallback.67Otherwise, it uses the existing legacy selection and setup flow.

70 68 

71Codex uses MXC for local Windows commands when the device and policy support it,69For enterprises where device support or policy varies, keep `windows.sandbox` set to your organization's permitted legacy implementation, `elevated` or `unelevated`, [as a fallback](#configure-a-legacy-fallback).

72even when `windows.sandbox` selects a legacy implementation. Otherwise, it uses

73the existing legacy selection and setup flow. This includes devices without

74MXC support and policies that set `windows.allow_mxc = false` or forbid local

75binding. `windows.allowed_sandbox_implementations` still constrains fallback;

76permission profiles and other managed requirements continue to apply.

77 70 

78Fallback happens during sandbox selection. Commands that fail after MXC is71Administrators can distribute this configuration as a default or enforce `features.prefer_mxc = true` through `requirements.toml`. Both permit legacy fallback. See [managed configuration](https://learn.chatgpt.com/docs/enterprise/managed-configuration) for how defaults and requirements differ.

79selected aren't retried in a legacy sandbox.

80 72 

81Administrators can distribute this configuration as a default or enforce73### Keep MXC disabled

82`features.prefer_mxc = true` through `requirements.toml`. Both permit legacy

83fallback. See [managed configuration](https://learn.chatgpt.com/docs/enterprise/managed-configuration)

84for how defaults and requirements differ.

85 

86#### Keep MXC disabled

87 74 

88To prevent MXC use in your organization, add this to your managed75To prevent MXC use in your organization, add this to your managed

89`requirements.toml`:76`requirements.toml`:


93allow_mxc = false80allow_mxc = false

94```81```

95 82 

96This blocks both automatic MXC selection and explicit `windows.sandbox = "mxc"`.83This blocks both automatic MXC selection and explicit `windows.sandbox = "mxc"`. Existing legacy sandbox settings and requirements still apply.

97Existing legacy sandbox settings and requirements still apply. Configure

98`windows.allow_mxc` in `requirements.toml`, not `config.toml`.

99 84 

100### MXC compatibility85### MXC compatibility

101 86 

102Microsoft Execution Containers (MXC) uses native Windows process isolation87The host must already have the required Microsoft Execution Containers (MXC) capabilities, which Microsoft is rolling out to Windows 11 devices. Microsoft introduced MXC process isolation in **Windows 11 24H2 (build 26100.9278)** and **25H2 (build 26200.9278)**. Use the command below to verify MXC support on your device.

103without creating sandbox accounts, changing host file permissions, or running

104the classic elevated setup. Commands run under the user's Windows identity

105with a policy applied to each command. MXC doesn't require administrator

106elevation for sandbox setup or local Windows Firewall rules.

107MXC accepts readable, writable, and denied paths from the active permission

108profile. Its native network policy controls command network access without

109depending on the legacy sandbox's firewall provisioning.

110 

111Before selecting MXC, validate the required capabilities and your workloads on

112the Windows 11 device. A Windows version number alone doesn't establish

113compatibility.

114 88 

115In Codex CLI 0.162.0, you can test MXC for one command without changing the saved89In Codex CLI 0.162.0 and later, you can test MXC for one command without changing the saved sandbox selection. From your project directory, run:

116sandbox selection. From your project directory, run:

117 90 

118```powershell91```powershell

119codex -c windows.sandbox=mxc sandbox --include-managed-config --permission-profile :workspace -- cmd.exe /d /c echo MXC_OK92codex -c windows.sandbox=mxc sandbox --include-managed-config --permission-profile :workspace -- cmd.exe /d /c echo MXC_OK

120$LASTEXITCODE93$LASTEXITCODE

121```94```

122 95 

123Expected output is `MXC_OK` and exit code `0`. This checks command startup with96Expected output is `MXC_OK` and exit code `0`. This checks command startup with the workspace permission profile and managed requirements.

124the workspace permission profile and managed requirements. Also test permitted

125file access, expected denials, PowerShell, and your network policy before using

126MXC for normal work.

127 97 

128Explicit `windows.sandbox = "mxc"` selection fails if the required native98Explicit `windows.sandbox = "mxc"` selection fails if the required native capabilities are unavailable or policy blocks MXC.

129capabilities are unavailable; it doesn't fall back to a classic implementation.

130Policies with denied paths also require native deny-path support.

131 99 

132Check these compatibility limits:100Note these compatibility limits:

133 101 

134- Managed networking requires effective `allow_local_binding = true`. MXC102- Managed networking requires effective `allow_local_binding = true`. MXC permits connections to and from services on host loopback. Proxy domain rules still apply to proxied traffic, but the proxy's additional private-network destination checks are removed.

135 permits connections to and from services on host loopback. Proxy domain rules103- Remaining child processes stop when the foreground command exits. Test workflows that rely on detached development servers.

136 still apply to proxied traffic, but the proxy's additional private-network

137 destination checks are removed. This doesn't enable networking when it's disabled.

138- Remaining child processes stop when the foreground command exits. Test

139 workflows that rely on detached development servers.

140 104 

141### Configure a legacy fallback105### Configure a legacy fallback

142 106 


147sandbox = "elevated" # or "unelevated"111sandbox = "elevated" # or "unelevated"

148```112```

149 113 

150`elevated` is the preferred legacy fallback. It uses dedicated114`elevated` is the preferred legacy fallback. It uses dedicated lower-privilege sandbox users, filesystem permission boundaries, firewall rules, and local policy changes needed for commands that run in the sandbox.

151lower-privilege sandbox users, filesystem permission boundaries, firewall

152rules, and local policy changes needed for commands that run in the sandbox.

153 115 

154`unelevated` is a legacy fallback. It runs commands with a116`unelevated` is a legacy fallback. It runs commands with a restricted Windows token derived from your current user, applies ACL-based filesystem boundaries, and uses environment-level offline controls instead of the dedicated offline-user firewall rule. It provides weaker network isolation than `elevated` and doesn't support denied read paths, but is still useful when administrator-approved setup is blocked by local or enterprise policy.

155restricted Windows token derived from your current user, applies ACL-based

156filesystem boundaries, and uses environment-level offline controls instead of

157the dedicated offline-user firewall rule. It provides weaker network isolation

158than `elevated` and doesn't support denied read paths, but is still useful when

159administrator-approved setup is blocked by local or enterprise policy.

160 117 

161Use MXC when the device and policy support it. Otherwise, prefer `elevated`.118Use MXC when the device and policy support it. Otherwise, prefer `elevated`, with `unelevated` as a secondary fallback.

162Use `unelevated` as a fallback only when your organization's policy permits it.

163 119 

164Enterprise administrators can constrain which classic sandbox implementations120Enterprise administrators can constrain which legacy sandbox implementations

165Codex can use through [`requirements.toml`](https://learn.chatgpt.com/docs/enterprise/managed-configuration#admin-enforced-requirements-requirementstoml):121Codex can use through [`requirements.toml`](https://learn.chatgpt.com/docs/enterprise/managed-configuration#admin-enforced-requirements-requirementstoml):

166 122 

167```toml123```toml


169allowed_sandbox_implementations = ["elevated"]125allowed_sandbox_implementations = ["elevated"]

170```126```

171 127 

172This example permits `elevated` and prevents fallback to `unelevated`. It does128This example permits `elevated` and prevents fallback to `unelevated`. It does not restrict `mxc` when MXC is available. Other managed permission and network requirements still apply. To permit either legacy implementation, include both values; Codex prefers `elevated` when no mode is selected.

173not restrict `mxc` when MXC is available. Other managed permission and network129 

174requirements still apply. To permit either classic implementation, include130See the [`requirements.toml` reference](https://learn.chatgpt.com/docs/config-file/config-reference#requirementstoml) for the supported values. To block MXC as well, use the separate [`windows.allow_mxc` requirement](#keep-mxc-disabled).

175both values; Codex prefers `elevated` when no mode is selected. See the

176[`requirements.toml` reference](https://learn.chatgpt.com/docs/config-file/config-reference#requirementstoml) for

177the supported values. To block MXC as well, use the separate

178[`windows.allow_mxc` requirement](#keep-mxc-disabled).

179 131 

180By default, both legacy sandbox modes also use a private desktop for stronger UI132By default, both legacy sandbox modes also use a private desktop for stronger UI isolation.

181isolation.

182 133 

183#### Provision the classic elevated sandbox134### IT-led provisioning for the legacy elevated sandbox

184 135 

185For employees without local administrator rights, IT can install the CLI and136For employees without local administrator rights, IT can install the CLI and provision the elevated sandbox before the employee starts Codex. From an elevated

186provision the sandbox before the employee starts Codex. From an elevated

187deployment process, run:137deployment process, run:

188 138 

189```powershell139```powershell

190codex sandbox setup --elevated --user 'DOMAIN\alice' --codex-home 'C:\Users\alice\.codex'140codex sandbox setup --elevated --user 'DOMAIN\alice' --codex-home 'C:\Users\alice\.codex'

191```141```

192 142 

193Replace the identity and path with the employee's Windows identity and143Replace the identity and path with the employee's Windows identity and `CODEX_HOME`. The command reads that user's configuration, provisions the sandbox, and saves `windows.sandbox = "elevated"`. The employee then runs Codex from a normal terminal.

194`CODEX_HOME`. The command reads that user's configuration, provisions the

195sandbox, and saves `windows.sandbox = "elevated"`. The employee then runs Codex

196from a normal terminal. Using a non-admin terminal doesn't select the

197`unelevated` implementation.

198 144 

199### Sandbox permissions145### Sandbox permissions

200 146 


219 165 

220- `winget` should be available. If it's missing, update Windows or install166- `winget` should be available. If it's missing, update Windows or install

221 the Windows Package Manager before setting up Codex.167 the Windows Package Manager before setting up Codex.

222- The classic `elevated` sandbox depends on administrator-approved setup.168- The legacy `elevated` sandbox depends on administrator-approved setup.

223- Some enterprise-managed devices block the required setup steps even when the169- Some enterprise-managed devices block the required setup steps even when the

224 OS version itself is acceptable.170 OS version itself is acceptable.

225- MXC additionally requires the native capabilities described in171- MXC additionally requires the native capabilities described in


385 331 

3861. Restart Codex.3321. Restart Codex.

3872. For MXC, repeat the [compatibility probe](#mxc-compatibility) and check the3332. For MXC, repeat the [compatibility probe](#mxc-compatibility) and check the

388 effective network policy. For the classic `elevated` implementation, try334 effective network policy. For the legacy `elevated` implementation, try

389 sandbox setup again.335 sandbox setup again.

3903. If a classic sandbox is needed and managed policy permits it, use3363. If a legacy sandbox is needed and managed policy permits it, use

391 `unelevated` as a temporary fallback.337 `unelevated` as a temporary fallback.

3924. Collect the sandbox log for review.3384. Collect the sandbox log for review.

393 339