SpyBara
Go Premium

Documentation 2026-09-02 22:59 UTC to 2026-09-03 23:00 UTC

16 files changed +926 −57. View all changes and history on the product overview
2026
Wed 30 23:01 Tue 29 22:59 Sun 27 23:59 Fri 25 23:02 Thu 24 23:02 Wed 23 23:58 Tue 22 23:00 Sat 19 23:02 Fri 18 22:59 Thu 17 10:05 Wed 16 20:58 Tue 15 21:01 Mon 14 20:57 Sun 13 21:58 Fri 11 20:00 Thu 10 16:58 Wed 9 21:01 Fri 4 19:59 Thu 3 23:00 Wed 2 22:59 Tue 1 07:57
Details

32 32 

33Codex can also elicit approval for app (connector) tool calls that advertise side effects, even when the action isn't a shell command or file change. Destructive app/MCP tool calls always require approval when the tool advertises a destructive annotation (unless the tool advertises a read annotation, which takes priority).33Codex can also elicit approval for app (connector) tool calls that advertise side effects, even when the action isn't a shell command or file change. Destructive app/MCP tool calls always require approval when the tool advertises a destructive annotation (unless the tool advertises a read annotation, which takes priority).

34 34 

35## Safety monitoring and paused tasks

36 

37GPT-6 Astra includes safety monitoring in Codex and ChatGPT Work. Monitoring

38runs asynchronously and can pause a task if it detects potentially unsafe model

39behavior. A pause can arrive after the activity that triggered it; monitoring

40doesn't replace sandboxing, permissions, or review of the result.

41 

42If a task pauses, read the notice and review the findings when available. Resume

43only after checking that the task can safely continue. If the notice says the

44task has ended or doesn't offer an option to resume, you can't resume from that

45surface.

46 

47| Surface and data controls | Findings and resume |

48| ------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- |

49| Codex and ChatGPT Work clients with the findings and resume flow, without the data controls listed here | Review the findings before resuming. |

50| Codex CLI and mobile | Full findings and resume aren't available. The task ends. |

51| Zero data retention, Modified Abuse Monitoring, or non-US data storage residency | Full findings and resume aren't available. The task ends. |

52 

53Safety monitoring evaluates model behavior during a task.

54[Automatic approval review](https://learn.chatgpt.com/docs/sandboxing/auto-review) evaluates individual actions that

55already require approval before those actions run. An action approved by

56automatic approval review can still be part of a task that monitoring later pauses.

57 

35## Network access <ElevatedRiskBadge class="ml-2" />58## Network access <ElevatedRiskBadge class="ml-2" />

36 59 

37For Codex cloud, see [agent internet access](https://learn.chatgpt.com/docs/cloud/internet-access) to enable full internet access or a domain allow list.60For Codex cloud, see [agent internet access](https://learn.chatgpt.com/docs/cloud/internet-access) to enable full internet access or a domain allow list.


184surfaces use separate service connections, feature settings, workspace207surfaces use separate service connections, feature settings, workspace

185policies, or environment controls.208policies, or environment controls.

186 209 

210Browser tools separately check managed network denies and exclusive allowlists

211before accessing an origin. Browser origin policies can further restrict site

212access, uploads, downloads, and developer tools. See

213[managed browser controls](https://learn.chatgpt.com/docs/enterprise/managed-configuration#control-browser-and-computer-use).

214 

187For managed users, combine command network policy with controls such as215For managed users, combine command network policy with controls such as

188`allowed_web_search_modes`, approved `mcp_servers`, and feature requirements216`allowed_web_search_modes`, approved `mcp_servers`, and feature requirements

189for apps, plugins, browsers, or Computer Use. See217for apps, plugins, browsers, or Computer Use. See

app/browser.md +9 −0

Details

15 15 

16Browser is available in ChatGPT on the web and in the ChatGPT desktop app.16Browser is available in ChatGPT on the web and in the ChatGPT desktop app.

17 17 

18[GPT-6 Astra](https://learn.chatgpt.com/docs/models#gpt-6-astra) improves visual judgment for tasks such

19as checking a page against a screenshot or completing a workflow across sites.

20Choose it when available in your model selector, and describe how to verify the

21finished result.

22 

23For managed desktop environments, administrators can restrict browser origins,

24uploads, downloads, and developer access. See

25[managed browser controls](https://learn.chatgpt.com/docs/enterprise/managed-configuration#control-browser-and-computer-use).

26 

18Treat page content as untrusted context. Review the site and proposed action27Treat page content as untrusted context. Review the site and proposed action

19before sharing sensitive information or allowing ChatGPT to act.28before sharing sensitive information or allowing ChatGPT to act.

20 29 

Details

52 52 

53## When to use Computer Use53## When to use Computer Use

54 54 

55For difficult tasks that depend on screenshots or visual judgment, choose

56[GPT-6 Astra](https://learn.chatgpt.com/docs/models#gpt-6-astra) when it is available in your model

57selector. The same plugin setup, operating-system permissions, and app access

58controls apply.

59 

55Choose Computer Use when the task depends on a graphical user interface that's60Choose Computer Use when the task depends on a graphical user interface that's

56hard to verify through files or command output alone.61hard to verify through files or command output alone.

57 62 


104 109 

105## Permissions and approvals110## Permissions and approvals

106 111 

112Workspace administrators can restrict which apps Computer Use can access and

113whether approvals can be saved. See

114[managed browser and Computer Use controls](https://learn.chatgpt.com/docs/enterprise/managed-configuration#control-browser-and-computer-use).

115 

107System permissions for Computer Use are separate from app approvals in ChatGPT.116System permissions for Computer Use are separate from app approvals in ChatGPT.

108On macOS, Screen Recording and Accessibility permissions let ChatGPT see and117On macOS, Screen Recording and Accessibility permissions let ChatGPT see and

109operate apps. App approvals determine which apps you allow ChatGPT to use. File118operate apps. App approvals determine which apps you allow ChatGPT to use. File

Details

170 description:170 description:

171 "Run the final sandboxed child process on a private desktop by default on native Windows. Set `false` only for compatibility with the older `Winsta0\\\\Default` behavior.",171 "Run the final sandboxed child process on a private desktop by default on native Windows. Set `false` only for compatibility with the older `Winsta0\\\\Default` behavior.",

172 },172 },

173 {

174 key: "browser_use.allow_history_access",

175 type: "boolean",

176 description:

177 "Set to `false` to restrict browser-history access. Managed requirements can enforce this restriction.",

178 },

179 {

180 key: "browser_use.default_origin_policy",

181 type: "table",

182 description:

183 "Fallback browser-origin restrictions. Supports `access`, `uploads`, `downloads`, and `full_cdp_access`, each set to `allow` or `deny`.",

184 },

185 {

186 key: "browser_use.origins.<origin>",

187 type: "table",

188 description:

189 "Per-origin browser restrictions with the same fields as `browser_use.default_origin_policy`. Include an HTTP or HTTPS scheme and optional port; omit paths, queries, and fragments. Local values cannot relax managed denies.",

190 },

191 {

192 key: "computer_use.default_app_access",

193 type: "allow | deny",

194 description:

195 "Fallback native-app access policy for Computer Use. App-specific entries can supply a policy; local configuration cannot relax managed restrictions.",

196 },

197 {

198 key: "computer_use.macos.bundle_ids",

199 type: "map<string, allow | deny>",

200 description: "Native macOS app access keyed by bundle identifier.",

201 },

202 {

203 key: "computer_use.windows.aumids",

204 type: "map<string, allow | deny>",

205 description:

206 "Packaged Windows app access keyed by Application User Model ID (AUMID).",

207 },

208 {

209 key: "computer_use.windows.exes",

210 type: "array<table>",

211 description:

212 "Windows executable access rules. Each rule requires `publisher_name`, `product_name`, and `access` (`allow` or `deny`); `binary_name` is optional.",

213 },

173 {214 {

174 key: "computer_use.windows.always_allowed_app_ids",215 key: "computer_use.windows.always_allowed_app_ids",

175 type: "array<string>",216 type: "array<string>",


393 description:434 description:

394 "Tool namespaces code mode can use only through direct tool calls.",435 "Tool namespaces code mode can use only through direct tool calls.",

395 },436 },

437 {

438 key: "features.context_management.experimental_mode",

439 type: "boolean",

440 description:

441 "Enable experimental context management (off by default). Rather than repeatedly compressing context into a single summary, it uses notes and searchable history to preserve accumulated details. Requires ChatGPT sign-in on Plus, Pro, or Pro Lite.",

442 },

396 {443 {

397 key: "features.rollout_budget.enabled",444 key: "features.rollout_budget.enabled",

398 type: "boolean",445 type: "boolean",


1706precedence. An explicit model or reasoning-effort override skips both managed1753precedence. An explicit model or reasoning-effort override skips both managed

1707model fields; `service_tier` is independent.1754model fields; `service_tier` is independent.

1708 1755 

1756The browser requirements cover three separate surfaces. `in_app_browser`

1757controls the browser pane that a person opens and uses directly. `browser_use`

1758controls agent-driven work in a browser. `computer_use` controls agent-driven

1759work in native desktop apps.

1760 

1761The nested Browser Use and Computer Use policy values do not grant access by

1762themselves. An origin- or app-specific `allow` can override the fallback for

1763the same policy source, but normal feature, approval, and other policy checks

1764still apply. Where managed requirements and `config.toml` both apply, a `deny`

1765from either one wins.

1766 

1709<ConfigTable1767<ConfigTable

1710 options={[1768 options={[

1711 {1769 {


1893 description:1951 description:

1894 "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.",1952 "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.",

1895 },1953 },

1954 {

1955 key: "allow_browser_and_computer_use",

1956 type: "boolean",

1957 description:

1958 "Set to `false` to block both agent-driven Browser Use and native-app Computer Use. Setting it to `true` or omitting it does not enable either feature; the remaining feature, policy, and approval checks still apply.",

1959 },

1896 {1960 {

1897 key: "features.plugin_sharing",1961 key: "features.plugin_sharing",

1898 type: "boolean",1962 type: "boolean",


1927 key: "features.in_app_browser",1991 key: "features.in_app_browser",

1928 type: "boolean",1992 type: "boolean",

1929 description:1993 description:

1930 "Set to `false` in `requirements.toml` to disable the built-in browser pane.",1994 "Set to `false` in `requirements.toml` to disable the built-in browser pane that users open and control directly.",

1931 },1995 },

1932 {1996 {

1933 key: "features.browser_use",1997 key: "features.browser_use",

1934 type: "boolean",1998 type: "boolean",

1935 description:1999 description:

1936 "Set to `false` in `requirements.toml` to disable Computer Use in browsers and Browser Agent availability.",2000 "Set to `false` in `requirements.toml` to disable agent-driven Browser Use.",

1937 },2001 },

1938 {2002 {

1939 key: "features.browser_use_external",2003 key: "features.browser_use_external",

1940 type: "boolean",2004 type: "boolean",

1941 description:2005 description:

1942 "Set to `false` in `requirements.toml` to disable Computer Use in external browsers.",2006 "Set to `false` in `requirements.toml` to prevent Codex from operating supported browsers through the ChatGPT browser extension, including existing tabs and signed-in sessions.",

1943 },2007 },

1944 {2008 {

1945 key: "features.browser_use_full_cdp_access",2009 key: "features.browser_use_full_cdp_access",


1992 description:2056 description:

1993 "Pin bundled workspace-dependency runtime availability on or off for managed users.",2057 "Pin bundled workspace-dependency runtime availability on or off for managed users.",

1994 },2058 },

2059 {

2060 key: "in_app_browser",

2061 type: "table",

2062 description:

2063 "Requirements for the built-in browser pane. These settings do not control agent-driven Browser Use.",

2064 },

2065 {

2066 key: "in_app_browser.allow_external_browser_settings_import",

2067 type: "boolean",

2068 description:

2069 "Set to `false` to prevent users from importing settings or browsing data from an external browser into the built-in browser. Setting it to `true` or omitting it leaves the import available when other product checks allow it. This is a managed-only setting with no `config.toml` override.",

2070 },

2071 {

2072 key: "browser_use",

2073 type: "table",

2074 description: "Managed requirements for agent-driven Browser Use.",

2075 },

2076 {

2077 key: "browser_use.allow_history_access",

2078 type: "boolean",

2079 description:

2080 "Set to `false` to prevent Browser Use from reading browser history. Setting it to `true` or omitting it leaves normal history settings and availability checks in place.",

2081 },

2082 {

2083 key: "browser_use.disable_auto_review",

2084 type: "boolean",

2085 description:

2086 "Set to `true` to skip automatic review for Browser Use and ask the user for approval instead. Setting it to `false` or omitting it leaves automatic review available when other settings allow it.",

2087 },

2088 {

2089 key: "browser_use.allow_global_persistent_approval",

2090 type: "boolean",

2091 description:

2092 "Set to `false` to prevent Browser Use from creating or honoring `Always allow` approvals that cover every site, such as allowing downloads from any site. Existing saved approvals are ignored, not deleted. Setting it to `true` or omitting it does not create an approval.",

2093 },

2094 {

2095 key: "browser_use.default_origin_policy",

2096 type: "table",

2097 description:

2098 "Fallback for each Browser Use setting when no matching entry under `browser_use.origins` defines it. A matching origin rule replaces the fallback for that source. Codex then applies the stricter result from managed requirements and user configuration.",

2099 },

2100 {

2101 key: "browser_use.default_origin_policy.access",

2102 type: "allow | deny",

2103 description:

2104 "Use `deny` to block Browser Use on origins that use the fallback. A denied origin also blocks uploads, downloads, full browser debugging access, and automatic review there. `allow` only lets normal approval and policy checks continue.",

2105 },

2106 {

2107 key: "browser_use.default_origin_policy.downloads",

2108 type: "allow | deny",

2109 description:

2110 "Use `deny` to block Browser Use downloads on origins that use the fallback. `allow` only lets normal approval and policy checks continue.",

2111 },

2112 {

2113 key: "browser_use.default_origin_policy.uploads",

2114 type: "allow | deny",

2115 description:

2116 "Use `deny` to block Browser Use uploads on origins that use the fallback. `allow` only lets normal approval and policy checks continue.",

2117 },

2118 {

2119 key: "browser_use.default_origin_policy.full_cdp_access",

2120 type: "allow | deny",

2121 description:

2122 "Use `deny` to block full Chrome DevTools Protocol (CDP) access on origins that use the fallback. `allow` only lets normal opt-in and approval checks continue.",

2123 },

2124 {

2125 key: "browser_use.default_origin_policy.auto_review",

2126 type: "allow | deny",

2127 description:

2128 "Use `deny` to skip automatic review on origins that use the fallback and ask the user for approval instead. `allow` leaves automatic review available when other settings allow it.",

2129 },

2130 {

2131 key: "browser_use.default_origin_policy.persistent_approval",

2132 type: "boolean",

2133 description:

2134 "Set to `false` to prevent Browser Use from saving or honoring an `Always allow` approval on origins that use the fallback. Approvals for the current turn or thread can still apply. `true` makes `Always allow` available when otherwise permitted but does not create an approval.",

2135 },

2136 {

2137 key: "browser_use.default_origin_policy.access_approval_lifetime",

2138 type: "turn | thread",

2139 description:

2140 "Set how long a non-persistent site-access approval lasts: `turn` limits it to the current turn, and `thread` keeps it for the rest of the current thread. `persistent_approval` separately controls whether `Always allow` is available. The product default is `thread`.",

2141 },

2142 {

2143 key: "browser_use.origins",

2144 type: "map<string, table>",

2145 description:

2146 'Origin-specific Browser Use policies. Keys use `<scheme>://<host-pattern>[:<port>]` with `http` or `https`. Use an exact host, `*.example.com` for subdomains only, or `**.example.com` for the base domain and its subdomains. Other `*` wildcards can span dots, so `region*.example.com` also matches `region.api.example.com`; a host of `*` matches every host for that scheme. Schemes and nondefault ports are significant; explicit default ports are normalized away. Paths, queries, embedded usernames or passwords, and wildcard schemes or ports are invalid. Quote the pattern in TOML, for example `[browser_use.origins."https://**.example.com"]`.',

2147 },

2148 {

2149 key: "browser_use.origins.<pattern>",

2150 type: "table",

2151 description:

2152 "Policy for origins matching this pattern. If several patterns match, Codex uses the most restrictive value for each capability: `deny` over `allow`, `false` over `true`, and `turn` over `thread`.",

2153 },

2154 {

2155 key: "browser_use.origins.<pattern>.access",

2156 type: "allow | deny",

2157 description:

2158 "Use `deny` to block Browser Use on matching origins. Denial also blocks uploads, downloads, full browser debugging access, and automatic review there. `allow` only lets normal approval and policy checks continue.",

2159 },

2160 {

2161 key: "browser_use.origins.<pattern>.downloads",

2162 type: "allow | deny",

2163 description:

2164 "Use `deny` to block Browser Use downloads on matching origins. `allow` only lets normal approval and policy checks continue.",

2165 },

2166 {

2167 key: "browser_use.origins.<pattern>.uploads",

2168 type: "allow | deny",

2169 description:

2170 "Use `deny` to block Browser Use uploads on matching origins. `allow` only lets normal approval and policy checks continue.",

2171 },

2172 {

2173 key: "browser_use.origins.<pattern>.full_cdp_access",

2174 type: "allow | deny",

2175 description:

2176 "Use `deny` to block full Chrome DevTools Protocol (CDP) access on matching origins. `allow` only lets normal opt-in and approval checks continue.",

2177 },

2178 {

2179 key: "browser_use.origins.<pattern>.auto_review",

2180 type: "allow | deny",

2181 description:

2182 "Use `deny` to skip automatic review on matching origins and ask the user for approval instead. `allow` leaves automatic review available when other settings allow it.",

2183 },

2184 {

2185 key: "browser_use.origins.<pattern>.persistent_approval",

2186 type: "boolean",

2187 description:

2188 "Set to `false` to prevent Browser Use from saving or honoring an `Always allow` approval on matching origins. Approvals for the current turn or thread can still apply. `true` makes `Always allow` available when otherwise permitted but does not create an approval.",

2189 },

2190 {

2191 key: "browser_use.origins.<pattern>.access_approval_lifetime",

2192 type: "turn | thread",

2193 description:

2194 "Set how long a non-persistent site-access approval for matching origins lasts: `turn` limits it to the current turn, and `thread` keeps it for the rest of the current thread. `persistent_approval` separately controls whether `Always allow` is available.",

2195 },

1995 {2196 {

1996 key: "computer_use",2197 key: "computer_use",

1997 type: "table",2198 type: "table",

1998 description:2199 description:

1999 "Computer Use requirements enforced from `requirements.toml`.",2200 "Managed requirements for agent-driven work in native desktop apps. Managed app rules and `config.toml` app rules are both enforced; an app must be allowed by each policy source.",

2000 },2201 },

2001 {2202 {

2002 key: "computer_use.allow_locked_computer_use",2203 key: "computer_use.allow_locked_computer_use",

2003 type: "boolean",2204 type: "boolean",

2004 description:2205 description:

2005 "Set to `false` to prevent Computer Use from operating after a managed macOS device locks. If omitted, locked use remains unconstrained by requirements.",2206 "Set to `false` to prevent users from enabling Locked Use on a managed macOS device. This requirement removes the enablement controls; it does not turn off Locked Use if it is already enabled. If omitted, normal product availability applies.",

2207 },

2208 {

2209 key: "computer_use.allow_persistent_approval",

2210 type: "boolean",

2211 description:

2212 "Set to `false` to remove the option to save app approvals across sessions. Approvals for the current session remain available. Setting it to `true` or omitting it does not approve an app.",

2213 },

2214 {

2215 key: "computer_use.default_app_access",

2216 type: "allow | deny",

2217 description:

2218 "Fallback access for native apps that do not match a platform-specific rule. `deny` blocks access. `allow` only lets normal approval and policy checks continue. The product default is `allow`.",

2219 },

2220 {

2221 key: "computer_use.macos",

2222 type: "table",

2223 description: "Computer Use app rules for macOS.",

2224 },

2225 {

2226 key: "computer_use.macos.bundle_ids",

2227 type: "map<string, allow | deny>",

2228 description:

2229 "Map exact macOS bundle identifiers to `allow` or `deny`. A matching rule replaces `computer_use.default_app_access` within the same policy source. A deny from either managed requirements or user configuration still blocks access.",

2230 },

2231 {

2232 key: "computer_use.macos.bundle_ids.<bundle-id>",

2233 type: "allow | deny",

2234 description:

2235 "Use `deny` to block the exact bundle identifier. `allow` overrides only this policy source's default and still requires any other policy source and the normal approval flow to allow the app.",

2236 },

2237 {

2238 key: "computer_use.windows",

2239 type: "table",

2240 description:

2241 "Computer Use app rules for packaged and unpackaged Windows apps.",

2242 },

2243 {

2244 key: "computer_use.windows.aumids",

2245 type: "map<string, allow | deny>",

2246 description:

2247 "Map exact, registered Application User Model IDs (AUMIDs) for signed packaged apps to `allow` or `deny`. A matching rule replaces `computer_use.default_app_access` within the same policy source.",

2248 },

2249 {

2250 key: "computer_use.windows.aumids.<aumid>",

2251 type: "allow | deny",

2252 description:

2253 "Use `deny` to block the exact packaged-app identity. `allow` overrides only this policy source's default and still requires any other policy source and the normal approval flow to allow the app.",

2254 },

2255 {

2256 key: "computer_use.windows.exes",

2257 type: "array<table>",

2258 description:

2259 "Rules for signed, unpackaged Windows executables. Rules match the executable's verified publisher and signed version information, not its path or current file name. A matching deny takes precedence over matching allows. Unsigned executables use `computer_use.default_app_access`; executables whose signed identity cannot be verified unambiguously are blocked.",

2260 },

2261 {

2262 key: "computer_use.windows.exes[].publisher_name",

2263 type: "string",

2264 description:

2265 "Required exact publisher name from the executable's trusted signing certificate, formatted as a Windows X.500 distinguished name.",

2266 },

2267 {

2268 key: "computer_use.windows.exes[].product_name",

2269 type: "string",

2270 description:

2271 "Required exact `ProductName` from the executable's signed version information.",

2272 },

2273 {

2274 key: "computer_use.windows.exes[].binary_name",

2275 type: "string",

2276 description:

2277 "Optional `OriginalFilename` from the executable's signed version information. Matching is case-insensitive. If a matching publisher and product rule requires this value but the executable does not provide it, Computer Use blocks the executable.",

2278 },

2279 {

2280 key: "computer_use.windows.exes[].access",

2281 type: "allow | deny",

2282 description:

2283 "Required access decision for matching executables. `deny` blocks access. `allow` overrides only this policy source's default and still requires any other policy source and the normal approval flow to allow the app.",

2006 },2284 },

2007 {2285 {

2008 key: "experimental_network",2286 key: "experimental_network",

2009 type: "table",2287 type: "table",

2010 description:2288 description:

2011 "Administrator-managed network requirements for sandboxed local commands, enforced from `requirements.toml`. When enabled, these requirements can start the command network proxy without `features.network_proxy`. They do not control web search, apps, MCP servers, browsers, or Codex cloud networking.",2289 "Administrator-managed network requirements for sandboxed local commands, enforced from `requirements.toml`. When enabled, these requirements can start the command network proxy without `features.network_proxy`. Browser tools separately check managed network denies and exclusive allowlists. These requirements do not route browser traffic through the proxy or control web search, apps, MCP servers, native-app traffic, or Codex cloud networking.",

2012 },2290 },

2013 {2291 {

2014 key: "experimental_network.enabled",2292 key: "experimental_network.enabled",

Details

170 description:170 description:

171 "Run the final sandboxed child process on a private desktop by default on native Windows. Set `false` only for compatibility with the older `Winsta0\\\\Default` behavior.",171 "Run the final sandboxed child process on a private desktop by default on native Windows. Set `false` only for compatibility with the older `Winsta0\\\\Default` behavior.",

172 },172 },

173 {

174 key: "browser_use.allow_history_access",

175 type: "boolean",

176 description:

177 "Set to `false` to restrict browser-history access. Managed requirements can enforce this restriction.",

178 },

179 {

180 key: "browser_use.default_origin_policy",

181 type: "table",

182 description:

183 "Fallback browser-origin restrictions. Supports `access`, `uploads`, `downloads`, and `full_cdp_access`, each set to `allow` or `deny`.",

184 },

185 {

186 key: "browser_use.origins.<origin>",

187 type: "table",

188 description:

189 "Per-origin browser restrictions with the same fields as `browser_use.default_origin_policy`. Include an HTTP or HTTPS scheme and optional port; omit paths, queries, and fragments. Local values cannot relax managed denies.",

190 },

191 {

192 key: "computer_use.default_app_access",

193 type: "allow | deny",

194 description:

195 "Fallback native-app access policy for Computer Use. App-specific entries can supply a policy; local configuration cannot relax managed restrictions.",

196 },

197 {

198 key: "computer_use.macos.bundle_ids",

199 type: "map<string, allow | deny>",

200 description: "Native macOS app access keyed by bundle identifier.",

201 },

202 {

203 key: "computer_use.windows.aumids",

204 type: "map<string, allow | deny>",

205 description:

206 "Packaged Windows app access keyed by Application User Model ID (AUMID).",

207 },

208 {

209 key: "computer_use.windows.exes",

210 type: "array<table>",

211 description:

212 "Windows executable access rules. Each rule requires `publisher_name`, `product_name`, and `access` (`allow` or `deny`); `binary_name` is optional.",

213 },

173 {214 {

174 key: "computer_use.windows.always_allowed_app_ids",215 key: "computer_use.windows.always_allowed_app_ids",

175 type: "array<string>",216 type: "array<string>",


393 description:434 description:

394 "Tool namespaces code mode can use only through direct tool calls.",435 "Tool namespaces code mode can use only through direct tool calls.",

395 },436 },

437 {

438 key: "features.context_management.experimental_mode",

439 type: "boolean",

440 description:

441 "Enable experimental context management (off by default). Rather than repeatedly compressing context into a single summary, it uses notes and searchable history to preserve accumulated details. Requires ChatGPT sign-in on Plus, Pro, or Pro Lite.",

442 },

396 {443 {

397 key: "features.rollout_budget.enabled",444 key: "features.rollout_budget.enabled",

398 type: "boolean",445 type: "boolean",


1706precedence. An explicit model or reasoning-effort override skips both managed1753precedence. An explicit model or reasoning-effort override skips both managed

1707model fields; `service_tier` is independent.1754model fields; `service_tier` is independent.

1708 1755 

1756The browser requirements cover three separate surfaces. `in_app_browser`

1757controls the browser pane that a person opens and uses directly. `browser_use`

1758controls agent-driven work in a browser. `computer_use` controls agent-driven

1759work in native desktop apps.

1760 

1761The nested Browser Use and Computer Use policy values do not grant access by

1762themselves. An origin- or app-specific `allow` can override the fallback for

1763the same policy source, but normal feature, approval, and other policy checks

1764still apply. Where managed requirements and `config.toml` both apply, a `deny`

1765from either one wins.

1766 

1709<ConfigTable1767<ConfigTable

1710 options={[1768 options={[

1711 {1769 {


1893 description:1951 description:

1894 "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.",1952 "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.",

1895 },1953 },

1954 {

1955 key: "allow_browser_and_computer_use",

1956 type: "boolean",

1957 description:

1958 "Set to `false` to block both agent-driven Browser Use and native-app Computer Use. Setting it to `true` or omitting it does not enable either feature; the remaining feature, policy, and approval checks still apply.",

1959 },

1896 {1960 {

1897 key: "features.plugin_sharing",1961 key: "features.plugin_sharing",

1898 type: "boolean",1962 type: "boolean",


1927 key: "features.in_app_browser",1991 key: "features.in_app_browser",

1928 type: "boolean",1992 type: "boolean",

1929 description:1993 description:

1930 "Set to `false` in `requirements.toml` to disable the built-in browser pane.",1994 "Set to `false` in `requirements.toml` to disable the built-in browser pane that users open and control directly.",

1931 },1995 },

1932 {1996 {

1933 key: "features.browser_use",1997 key: "features.browser_use",

1934 type: "boolean",1998 type: "boolean",

1935 description:1999 description:

1936 "Set to `false` in `requirements.toml` to disable Computer Use in browsers and Browser Agent availability.",2000 "Set to `false` in `requirements.toml` to disable agent-driven Browser Use.",

1937 },2001 },

1938 {2002 {

1939 key: "features.browser_use_external",2003 key: "features.browser_use_external",

1940 type: "boolean",2004 type: "boolean",

1941 description:2005 description:

1942 "Set to `false` in `requirements.toml` to disable Computer Use in external browsers.",2006 "Set to `false` in `requirements.toml` to prevent Codex from operating supported browsers through the ChatGPT browser extension, including existing tabs and signed-in sessions.",

1943 },2007 },

1944 {2008 {

1945 key: "features.browser_use_full_cdp_access",2009 key: "features.browser_use_full_cdp_access",


1992 description:2056 description:

1993 "Pin bundled workspace-dependency runtime availability on or off for managed users.",2057 "Pin bundled workspace-dependency runtime availability on or off for managed users.",

1994 },2058 },

2059 {

2060 key: "in_app_browser",

2061 type: "table",

2062 description:

2063 "Requirements for the built-in browser pane. These settings do not control agent-driven Browser Use.",

2064 },

2065 {

2066 key: "in_app_browser.allow_external_browser_settings_import",

2067 type: "boolean",

2068 description:

2069 "Set to `false` to prevent users from importing settings or browsing data from an external browser into the built-in browser. Setting it to `true` or omitting it leaves the import available when other product checks allow it. This is a managed-only setting with no `config.toml` override.",

2070 },

2071 {

2072 key: "browser_use",

2073 type: "table",

2074 description: "Managed requirements for agent-driven Browser Use.",

2075 },

2076 {

2077 key: "browser_use.allow_history_access",

2078 type: "boolean",

2079 description:

2080 "Set to `false` to prevent Browser Use from reading browser history. Setting it to `true` or omitting it leaves normal history settings and availability checks in place.",

2081 },

2082 {

2083 key: "browser_use.disable_auto_review",

2084 type: "boolean",

2085 description:

2086 "Set to `true` to skip automatic review for Browser Use and ask the user for approval instead. Setting it to `false` or omitting it leaves automatic review available when other settings allow it.",

2087 },

2088 {

2089 key: "browser_use.allow_global_persistent_approval",

2090 type: "boolean",

2091 description:

2092 "Set to `false` to prevent Browser Use from creating or honoring `Always allow` approvals that cover every site, such as allowing downloads from any site. Existing saved approvals are ignored, not deleted. Setting it to `true` or omitting it does not create an approval.",

2093 },

2094 {

2095 key: "browser_use.default_origin_policy",

2096 type: "table",

2097 description:

2098 "Fallback for each Browser Use setting when no matching entry under `browser_use.origins` defines it. A matching origin rule replaces the fallback for that source. Codex then applies the stricter result from managed requirements and user configuration.",

2099 },

2100 {

2101 key: "browser_use.default_origin_policy.access",

2102 type: "allow | deny",

2103 description:

2104 "Use `deny` to block Browser Use on origins that use the fallback. A denied origin also blocks uploads, downloads, full browser debugging access, and automatic review there. `allow` only lets normal approval and policy checks continue.",

2105 },

2106 {

2107 key: "browser_use.default_origin_policy.downloads",

2108 type: "allow | deny",

2109 description:

2110 "Use `deny` to block Browser Use downloads on origins that use the fallback. `allow` only lets normal approval and policy checks continue.",

2111 },

2112 {

2113 key: "browser_use.default_origin_policy.uploads",

2114 type: "allow | deny",

2115 description:

2116 "Use `deny` to block Browser Use uploads on origins that use the fallback. `allow` only lets normal approval and policy checks continue.",

2117 },

2118 {

2119 key: "browser_use.default_origin_policy.full_cdp_access",

2120 type: "allow | deny",

2121 description:

2122 "Use `deny` to block full Chrome DevTools Protocol (CDP) access on origins that use the fallback. `allow` only lets normal opt-in and approval checks continue.",

2123 },

2124 {

2125 key: "browser_use.default_origin_policy.auto_review",

2126 type: "allow | deny",

2127 description:

2128 "Use `deny` to skip automatic review on origins that use the fallback and ask the user for approval instead. `allow` leaves automatic review available when other settings allow it.",

2129 },

2130 {

2131 key: "browser_use.default_origin_policy.persistent_approval",

2132 type: "boolean",

2133 description:

2134 "Set to `false` to prevent Browser Use from saving or honoring an `Always allow` approval on origins that use the fallback. Approvals for the current turn or thread can still apply. `true` makes `Always allow` available when otherwise permitted but does not create an approval.",

2135 },

2136 {

2137 key: "browser_use.default_origin_policy.access_approval_lifetime",

2138 type: "turn | thread",

2139 description:

2140 "Set how long a non-persistent site-access approval lasts: `turn` limits it to the current turn, and `thread` keeps it for the rest of the current thread. `persistent_approval` separately controls whether `Always allow` is available. The product default is `thread`.",

2141 },

2142 {

2143 key: "browser_use.origins",

2144 type: "map<string, table>",

2145 description:

2146 'Origin-specific Browser Use policies. Keys use `<scheme>://<host-pattern>[:<port>]` with `http` or `https`. Use an exact host, `*.example.com` for subdomains only, or `**.example.com` for the base domain and its subdomains. Other `*` wildcards can span dots, so `region*.example.com` also matches `region.api.example.com`; a host of `*` matches every host for that scheme. Schemes and nondefault ports are significant; explicit default ports are normalized away. Paths, queries, embedded usernames or passwords, and wildcard schemes or ports are invalid. Quote the pattern in TOML, for example `[browser_use.origins."https://**.example.com"]`.',

2147 },

2148 {

2149 key: "browser_use.origins.<pattern>",

2150 type: "table",

2151 description:

2152 "Policy for origins matching this pattern. If several patterns match, Codex uses the most restrictive value for each capability: `deny` over `allow`, `false` over `true`, and `turn` over `thread`.",

2153 },

2154 {

2155 key: "browser_use.origins.<pattern>.access",

2156 type: "allow | deny",

2157 description:

2158 "Use `deny` to block Browser Use on matching origins. Denial also blocks uploads, downloads, full browser debugging access, and automatic review there. `allow` only lets normal approval and policy checks continue.",

2159 },

2160 {

2161 key: "browser_use.origins.<pattern>.downloads",

2162 type: "allow | deny",

2163 description:

2164 "Use `deny` to block Browser Use downloads on matching origins. `allow` only lets normal approval and policy checks continue.",

2165 },

2166 {

2167 key: "browser_use.origins.<pattern>.uploads",

2168 type: "allow | deny",

2169 description:

2170 "Use `deny` to block Browser Use uploads on matching origins. `allow` only lets normal approval and policy checks continue.",

2171 },

2172 {

2173 key: "browser_use.origins.<pattern>.full_cdp_access",

2174 type: "allow | deny",

2175 description:

2176 "Use `deny` to block full Chrome DevTools Protocol (CDP) access on matching origins. `allow` only lets normal opt-in and approval checks continue.",

2177 },

2178 {

2179 key: "browser_use.origins.<pattern>.auto_review",

2180 type: "allow | deny",

2181 description:

2182 "Use `deny` to skip automatic review on matching origins and ask the user for approval instead. `allow` leaves automatic review available when other settings allow it.",

2183 },

2184 {

2185 key: "browser_use.origins.<pattern>.persistent_approval",

2186 type: "boolean",

2187 description:

2188 "Set to `false` to prevent Browser Use from saving or honoring an `Always allow` approval on matching origins. Approvals for the current turn or thread can still apply. `true` makes `Always allow` available when otherwise permitted but does not create an approval.",

2189 },

2190 {

2191 key: "browser_use.origins.<pattern>.access_approval_lifetime",

2192 type: "turn | thread",

2193 description:

2194 "Set how long a non-persistent site-access approval for matching origins lasts: `turn` limits it to the current turn, and `thread` keeps it for the rest of the current thread. `persistent_approval` separately controls whether `Always allow` is available.",

2195 },

1995 {2196 {

1996 key: "computer_use",2197 key: "computer_use",

1997 type: "table",2198 type: "table",

1998 description:2199 description:

1999 "Computer Use requirements enforced from `requirements.toml`.",2200 "Managed requirements for agent-driven work in native desktop apps. Managed app rules and `config.toml` app rules are both enforced; an app must be allowed by each policy source.",

2000 },2201 },

2001 {2202 {

2002 key: "computer_use.allow_locked_computer_use",2203 key: "computer_use.allow_locked_computer_use",

2003 type: "boolean",2204 type: "boolean",

2004 description:2205 description:

2005 "Set to `false` to prevent Computer Use from operating after a managed macOS device locks. If omitted, locked use remains unconstrained by requirements.",2206 "Set to `false` to prevent users from enabling Locked Use on a managed macOS device. This requirement removes the enablement controls; it does not turn off Locked Use if it is already enabled. If omitted, normal product availability applies.",

2207 },

2208 {

2209 key: "computer_use.allow_persistent_approval",

2210 type: "boolean",

2211 description:

2212 "Set to `false` to remove the option to save app approvals across sessions. Approvals for the current session remain available. Setting it to `true` or omitting it does not approve an app.",

2213 },

2214 {

2215 key: "computer_use.default_app_access",

2216 type: "allow | deny",

2217 description:

2218 "Fallback access for native apps that do not match a platform-specific rule. `deny` blocks access. `allow` only lets normal approval and policy checks continue. The product default is `allow`.",

2219 },

2220 {

2221 key: "computer_use.macos",

2222 type: "table",

2223 description: "Computer Use app rules for macOS.",

2224 },

2225 {

2226 key: "computer_use.macos.bundle_ids",

2227 type: "map<string, allow | deny>",

2228 description:

2229 "Map exact macOS bundle identifiers to `allow` or `deny`. A matching rule replaces `computer_use.default_app_access` within the same policy source. A deny from either managed requirements or user configuration still blocks access.",

2230 },

2231 {

2232 key: "computer_use.macos.bundle_ids.<bundle-id>",

2233 type: "allow | deny",

2234 description:

2235 "Use `deny` to block the exact bundle identifier. `allow` overrides only this policy source's default and still requires any other policy source and the normal approval flow to allow the app.",

2236 },

2237 {

2238 key: "computer_use.windows",

2239 type: "table",

2240 description:

2241 "Computer Use app rules for packaged and unpackaged Windows apps.",

2242 },

2243 {

2244 key: "computer_use.windows.aumids",

2245 type: "map<string, allow | deny>",

2246 description:

2247 "Map exact, registered Application User Model IDs (AUMIDs) for signed packaged apps to `allow` or `deny`. A matching rule replaces `computer_use.default_app_access` within the same policy source.",

2248 },

2249 {

2250 key: "computer_use.windows.aumids.<aumid>",

2251 type: "allow | deny",

2252 description:

2253 "Use `deny` to block the exact packaged-app identity. `allow` overrides only this policy source's default and still requires any other policy source and the normal approval flow to allow the app.",

2254 },

2255 {

2256 key: "computer_use.windows.exes",

2257 type: "array<table>",

2258 description:

2259 "Rules for signed, unpackaged Windows executables. Rules match the executable's verified publisher and signed version information, not its path or current file name. A matching deny takes precedence over matching allows. Unsigned executables use `computer_use.default_app_access`; executables whose signed identity cannot be verified unambiguously are blocked.",

2260 },

2261 {

2262 key: "computer_use.windows.exes[].publisher_name",

2263 type: "string",

2264 description:

2265 "Required exact publisher name from the executable's trusted signing certificate, formatted as a Windows X.500 distinguished name.",

2266 },

2267 {

2268 key: "computer_use.windows.exes[].product_name",

2269 type: "string",

2270 description:

2271 "Required exact `ProductName` from the executable's signed version information.",

2272 },

2273 {

2274 key: "computer_use.windows.exes[].binary_name",

2275 type: "string",

2276 description:

2277 "Optional `OriginalFilename` from the executable's signed version information. Matching is case-insensitive. If a matching publisher and product rule requires this value but the executable does not provide it, Computer Use blocks the executable.",

2278 },

2279 {

2280 key: "computer_use.windows.exes[].access",

2281 type: "allow | deny",

2282 description:

2283 "Required access decision for matching executables. `deny` blocks access. `allow` overrides only this policy source's default and still requires any other policy source and the normal approval flow to allow the app.",

2006 },2284 },

2007 {2285 {

2008 key: "experimental_network",2286 key: "experimental_network",

2009 type: "table",2287 type: "table",

2010 description:2288 description:

2011 "Administrator-managed network requirements for sandboxed local commands, enforced from `requirements.toml`. When enabled, these requirements can start the command network proxy without `features.network_proxy`. They do not control web search, apps, MCP servers, browsers, or Codex cloud networking.",2289 "Administrator-managed network requirements for sandboxed local commands, enforced from `requirements.toml`. When enabled, these requirements can start the command network proxy without `features.network_proxy`. Browser tools separately check managed network denies and exclusive allowlists. These requirements do not route browser traffic through the proxy or control web search, apps, MCP servers, native-app traffic, or Codex cloud networking.",

2012 },2290 },

2013 {2291 {

2014 key: "experimental_network.enabled",2292 key: "experimental_network.enabled",

Details

50activity consumes. Existing subscription or seat fees are separate from an50activity consumes. Existing subscription or seat fees are separate from an

51estimate of credits consumed.51estimate of credits consumed.

52 52 

53### Understand tokens and credits

54 

55**Tokens** measure the information the model reads and writes, including input,

56cached input, and output. On credit-based agreements, **credits** pay for

57eligible usage from the shared workspace allocation. See

58[token rates](https://learn.chatgpt.com/docs/pricing#token-rates) for credit pricing.

59 

60If your Enterprise agreement instead specifies usage-based billing in USD, use the [Enterprise USD rate card](https://help.openai.com/en/articles/20001415-chatgpt-rate-card-enterprise-token-based-pricing) and your agreement. Don't apply the credit calculation to a USD-billed workspace or treat consumed credits as an additional invoice charge.

61 

53## When usage affects your bill62## When usage affects your bill

54 63 

55Whether eligible Work usage results in an additional charge depends on your64Whether eligible Work usage results in an additional charge depends on your

Details

313from the user `features.network_proxy` toggle: they can configure sandbox313from the user `features.network_proxy` toggle: they can configure sandbox

314networking without that feature flag, but they don't grant command network314networking without that feature flag, but they don't grant command network

315access when the active sandbox keeps networking off. Set315access when the active sandbox keeps networking off. Set

316`experimental_network.enabled = true` to activate the managed proxy; an316`experimental_network.enabled = true` to activate the managed proxy; domain

317allowlist alone does not make the proxy active.317rules alone do not make the proxy active.

318 318 

319```toml319```toml

320experimental_network.enabled = true320[experimental_network]

321experimental_network.allowed_domains = [321enabled = true

322 "api.openai.com",322managed_allowed_domains_only = true

323 "*.example.com",323 

324]324[experimental_network.domains]

325experimental_network.denied_domains = [325"api.openai.com" = "allow"

326 "blocked.example.com",326"**.example.com" = "allow"

327 "*.exfil.example.com",327"blocked.example.com" = "deny"

328]328"**.exfil.example.com" = "deny"

329```329```

330 330 

331Use `experimental_network.managed_allowed_domains_only = true` only when you331Use `experimental_network.managed_allowed_domains_only = true` only when you

332also define administrator-owned `allowed_domains` and want that allowlist to be332also define administrator-owned `"allow"` entries in

333exclusive. If it's `true` without managed allow rules, user-added domain allow333`[experimental_network.domains]` and want those rules to be exclusive. If it's

334rules don't remain effective.334`true` without managed allow rules, user-added domain allow rules don't remain

335effective. Do not combine the canonical `domains` map with the legacy

336`allowed_domains` or `denied_domains` lists.

337 

338`*.example.com` matches subdomains only. `**.example.com` matches the apex

339domain and its subdomains. A matching deny rule wins over an allow rule.

335 340 

336The domain syntax, local/private destination rules, deny-over-allow behavior,341The domain syntax, local/private destination rules, deny-over-allow behavior,

337and DNS rebinding limitations are the same as the sandbox networking behavior342and DNS rebinding limitations are the same as the sandbox networking behavior

338described in [Agent approvals & security](https://learn.chatgpt.com/docs/agent-approvals-security#network-isolation).343described in [Agent approvals & security](https://learn.chatgpt.com/docs/agent-approvals-security#network-isolation).

339 344 

340These requirements apply only to local commands that run inside the sandbox.345The proxy routes local commands that run inside the sandbox. Browser tools

341They do not route or filter web search, apps and connectors, MCP servers,346also check managed network denies and exclusive allowlists before accessing

342browser or Computer Use activity, Codex service requests, or Codex cloud347an origin; this is a separate policy check, not routing browser traffic through

343traffic. Use the controls for each surface:348the command proxy. It doesn't filter web search, apps and connectors, MCP

349servers, native-app traffic, Codex service requests, or Codex cloud traffic.

350Use the controls for each surface:

344 351 

345- Use `allowed_web_search_modes` to restrict web search.352- Use `allowed_web_search_modes` to restrict web search.

346- Use `features.apps = false` to disable app and connector integrations, and353- Use `features.apps = false` to disable app and connector integrations, and


353A command domain allowlist does not replace these capability-specific360A command domain allowlist does not replace these capability-specific

354controls.361controls.

355 362 

363### Control browser and Computer Use

364 

365Use the `[browser_use]` and `[computer_use]` tables in `requirements.toml` to

366restrict supported desktop clients. Validate the policy on the client versions

367and operating systems in your deployment. A configured allow rule doesn't

368install a plugin, grant an operating-system permission, or approve an action

369that still requires review.

370 

371For browser access, configure an origin policy. An origin includes the scheme,

372host, and optional port, such as `https://example.com` or

373`https://*.example.com:8443`. Don't include a path, query, or fragment. Unlike

374command-network domain rules, browser origin rules distinguish HTTP from HTTPS

375and match the port.

376 

377This example restricts browser access to an approved site and prevents uploads

378and full Chrome DevTools Protocol (CDP) access there:

379 

380```toml

381[browser_use]

382allow_history_access = false

383allow_global_persistent_approval = false

384 

385[browser_use.default_origin_policy]

386access = "deny"

387 

388[browser_use.origins."https://example.com"]

389access = "allow"

390uploads = "deny"

391downloads = "allow"

392full_cdp_access = "deny"

393persistent_approval = false

394access_approval_lifetime = "turn"

395```

396 

397Matching origin rules are resolved per field. A matching deny wins; otherwise,

398the default origin policy supplies fields that matching rules don't specify.

399Local configuration can add restrictions but can't relax a managed deny.

400Network denies and exclusive managed network allowlists still apply.

401 

402Set `browser_use.disable_auto_review = true` to disable automatic approval

403review for browser actions, or set `auto_review = "deny"` on an origin policy

404to restrict it for that origin. This controls approval handling; it doesn't

405disable model safety monitoring.

406 

407For native apps, set a default access policy and identify permitted apps. For

408example, this macOS policy allows Calculator and prevents saved approvals:

409 

410```toml

411[computer_use]

412default_app_access = "deny"

413allow_persistent_approval = false

414 

415[computer_use.macos.bundle_ids]

416"com.apple.calculator" = "allow"

417```

418 

419Windows policies can identify packaged apps with

420`computer_use.windows.aumids` or executables with

421`computer_use.windows.exes`. Executable rules require `publisher_name`,

422`product_name`, and `access`; `binary_name` is optional. Use the app's verified

423identity rather than its display name alone.

424 

425See the [configuration reference](https://learn.chatgpt.com/docs/config-file/config-reference#requirementstoml)

426for the complete fields and [locked-use restrictions](#restrict-locked-computer-use)

427for managed macOS devices.

428 

356### Pin feature flags429### Pin feature flags

357 430 

358You can also pin [feature flags](https://learn.chatgpt.com/docs/config-file/config-basic#feature-flags) for users431You can also pin [feature flags](https://learn.chatgpt.com/docs/config-file/config-basic#feature-flags) for users


397 470 

398### Restrict locked computer use471### Restrict locked computer use

399 472 

400To prevent [Computer Use](https://learn.chatgpt.com/docs/computer-use#locked-use) from operating473To prevent users from enabling [Locked Use](https://learn.chatgpt.com/docs/computer-use#locked-use)

401after a managed Mac locks, add this requirement:474on a managed Mac, add this requirement:

402 475 

403```toml476```toml

404[computer_use]477[computer_use]

405allow_locked_computer_use = false478allow_locked_computer_use = false

406```479```

407 480 

408This requirement doesn't enable Computer Use. It only prevents locked use on481This requirement removes the controls for enabling Locked Use. It doesn't

409macOS. If you omit it, requirements don't constrain locked use; normal product482turn off Locked Use if it's already enabled. If you omit it, normal product

410availability and the user's local setting still apply.483availability and the user's local setting still apply.

411 484 

412### Configure automatic review policy485### Configure automatic review policy

Details

44This setting can pin Fast mode on or off for managed local Codex clients; it44This setting can pin Fast mode on or off for managed local Codex clients; it

45isn't a starting default and can't override workspace or product availability.45isn't a starting default and can't override workspace or product availability.

46 46 

47## GPT-6 Astra in Enterprise

48 

49GPT‑6 Astra is rolling out today for enterprises in our [Trusted Access Program⁠](https://openai.com/form/enterprise-trusted-access-for-cyber/), with access through API and our Plus, Pro, Business and Enterprise plans coming in the coming days.

50 

51During the initial rollout, your organization must have Daybreak access before

52an administrator can enable Astra. Astra is off by default for ChatGPT

53Enterprise for the first two weeks after launch. Administrators in eligible

54workspaces can enable Astra for users or groups

55across Chat, Work, and Codex. Existing product eligibility still applies. Review your

56[workspace model settings](https://help.openai.com/en/articles/8411955) and

57confirm availability on each client used by your pilot group.

58 

59Enabling access and choosing a starting model are separate decisions. Check the

60applicable seat, role, and billing arrangement before setting Astra as a default.

61See [Astra usage](https://learn.chatgpt.com/docs/pricing#gpt-6-astra-usage) for allowance and billing

62guidance and [safety monitoring](https://learn.chatgpt.com/docs/agent-approvals-security#safety-monitoring-and-paused-tasks)

63for tasks that pause for review.

64 

65For API-key sign-in, Astra access follows the API organization and project

66associated with the key. Enabling Astra in a ChatGPT workspace doesn't grant

67API access. Early access with an API key also requires client configuration;

68ask your OpenAI account team for setup instructions. Selecting a

69model or changing local configuration doesn't grant access by itself.

70 

47## Prepare for the GPT-5.4 retirement71## Prepare for the GPT-5.4 retirement

48 72 

49On August 31, 2026, GPT-5.4 and GPT-5.4 mini retire from Codex for users signed73On August 31, 2026, GPT-5.4 and GPT-5.4 mini retire from Codex for users signed

Details

22 22 

23## Start talking23## Start talking

24 24 

251. Open a new, empty chat or task in the ChatGPT desktop app.251. Open the Codex task you want to discuss in the ChatGPT desktop app, or start

262. Select **Start new voice chat** before sending a message.26 a new chat or task.

272. Select **Start voice chat** in an existing task, or **Start new voice chat**

28 in a new chat or task.

273. The first time you start a voice chat, allow microphone access, choose a293. The first time you start a voice chat, allow microphone access, choose a

28 voice, and review screen context on macOS.30 voice, and review screen context on macOS.

294. Start talking. Select **End** when you finish.314. Start talking. Select **Stop voice chat** when you finish.

30 32 

31A chat or task must begin in voice mode to use ChatGPT Voice. Chats or tasks that33Voice in existing Codex tasks is rolling out. When available, you can start

32start in another mode offer voice dictation instead. To resume an earlier voice34talking in a task that began with typed messages. Voice uses that task's

33chat, open it and select **Start voice chat**.35conversation and selected model to carry out your requests, so you can discuss

36its progress or change direction without starting another task.

37 

38If **Start voice chat** isn't available in an existing task, update the desktop

39app and the Codex host running the task. Availability also depends on your

40account and workspace. You can still start a new voice chat where supported,

41or use [voice dictation](https://learn.chatgpt.com/docs/prompting#use-voice-dictation) to enter prompt

42text. To resume an earlier voice chat, open it and select **Start voice chat**.

34 43 

35You can set a shortcut in **Settings > Voice > Voice chat hotkey**.44You can set a shortcut in **Settings > Voice > Voice chat hotkey**.

36 45 


42 51 

43## Delegate and coordinate work52## Delegate and coordinate work

44 53 

45ChatGPT Voice can start separate threads for longer tasks, check existing threads,54ChatGPT Voice can start separate tasks for longer work, check existing tasks,

46and send follow-up instructions. It brings progress, blockers, and results back55and send follow-up instructions. It brings progress, blockers, and results back

47to your voice conversation so you can keep talking while work continues.56to your voice conversation so you can keep talking while work continues.

48 57 


52- “Start a Codex task to run the tests and investigate anything that doesn't pass.”61- “Start a Codex task to run the tests and investigate anything that doesn't pass.”

53- “Check active tasks and summarize anything blocking progress.”62- “Check active tasks and summarize anything blocking progress.”

54 63 

64You can also ask to speak to another Codex task, then ask to return to the

65previous one. For example, say, “Let me talk to the task reviewing the tests,”

66then, “Take me back to the previous task.” The destination task must support

67voice and be available on a connected host.

68 

55ChatGPT Voice follows the same [permissions](https://learn.chatgpt.com/docs/permission-modes) as69ChatGPT Voice follows the same [permissions](https://learn.chatgpt.com/docs/permission-modes) as

56the tasks it directs in Chat, Work, and Codex in the ChatGPT desktop app.70the tasks it directs in Chat, Work, and Codex in the ChatGPT desktop app.

57 71 

Details

166 166 

167## Use ChatGPT Work efficiently167## Use ChatGPT Work efficiently

168 168 

169Choose [GPT-6 Astra](https://learn.chatgpt.com/docs/models#gpt-6-astra) for demanding work that needs

170careful reasoning, visual judgment, or a polished final file. For simpler tasks,

171consider Sol, Terra, or Luna. Select from the models

172available in your model selector and check [plan usage](https://learn.chatgpt.com/docs/pricing#gpt-6-astra-usage)

173before starting a large task.

174 

169ChatGPT Work is best for substantial tasks that involve multiple steps, sources, or175ChatGPT Work is best for substantial tasks that involve multiple steps, sources, or

170tools, or require a completed deliverable. Longer or more complex tasks may use176tools, or require a completed deliverable. Longer or more complex tasks may use

171more credits because ChatGPT is doing more on your behalf. Focus on the value of177more credits because ChatGPT is doing more on your behalf. Focus on the value of


180 186 

181Learn more about [working efficiently](https://learn.chatgpt.com/docs/prompting#prompting-for-work).187Learn more about [working efficiently](https://learn.chatgpt.com/docs/prompting#prompting-for-work).

182 188 

189If a task pauses for a safety review, follow the notice and review any available

190findings before continuing. See [safety monitoring and paused tasks](https://learn.chatgpt.com/docs/agent-approvals-security#safety-monitoring-and-paused-tasks).

191 

183## More use cases192## More use cases

184 193 

185Explore practical ChatGPT Work workflows for common teams and tasks.194Explore practical ChatGPT Work workflows for common teams and tasks.

models.md +89 −10

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 

5GPT‑6 Astra is rolling out today for enterprises in our [Trusted Access Program⁠](https://openai.com/form/enterprise-trusted-access-for-cyber/), with access through API and our Plus, Pro, Business and Enterprise plans coming in the coming days.

6 

5<ContentModeSwitch group="codex-surface" id="app">7<ContentModeSwitch group="codex-surface" id="app">

6 8 

7 9 


140<a id="deprecated-codex-models"></a>142<a id="deprecated-codex-models"></a>

141<a id="configure-your-default-local-model"></a>143<a id="configure-your-default-local-model"></a>

142<a id="choose-a-model-for-cloud-tasks"></a>144<a id="choose-a-model-for-cloud-tasks"></a>

145<a id="gpt-6-astra"></a>

143 146 

144<ContentModeSwitch group="codex-surface" ids="app,web,cli,ide">147<ContentModeSwitch group="codex-surface" ids="app,web,cli,ide">

145 148 

146## Recommended models149## Recommended models

147 150 

151<a id="app-compare-models"></a>

152 

148 153 

149 154 

150 <ModelDetails155 <ModelDetails

156 client:load

157 name="gpt-6-astra"

158 slug="gpt-6-astra"

159 imageLabel="Astra"

160 wallpaperUrl="/images/api/models/gpt-6-astra-texture.webp"

161 description="Our most capable model for complex work across code, apps, and research, combining advanced reasoning, computer use, and stronger judgment."

162 data={{

163 features: [

164 {

165 title: "Capability",

166 value: "",

167 icons: [

168 "openai.SparklesFilled",

169 "openai.SparklesFilled",

170 "openai.SparklesFilled",

171 "openai.SparklesFilled",

172 "openai.SparklesFilled",

173 ],

174 },

175 {

176 title: "Speed",

177 value: "",

178 icons: ["openai.Flash", "openai.Flash"],

179 },

180 { title: "ChatGPT desktop app", value: true },

181 { title: "ChatGPT web", value: true },

182 { title: "Codex CLI", value: true },

183 { title: "Codex IDE extension", value: true },

184 { title: "Codex cloud", value: false },

185 { title: "ChatGPT Credits", value: true },

186 { title: "API Access", value: true },

187 ],

188 }}

189 />

190 

191<ModelDetails

151 client:load192 client:load

152 name="gpt-5.6-sol"193 name="gpt-5.6-sol"

153 slug="gpt-5.6-sol"194 slug="gpt-5.6-sol"

154 imageLabel="5.6 Sol"195 imageLabel="5.6 Sol"

155 wallpaperUrl="/images/api/models/gpt-5.6-sol.webp"196 wallpaperUrl="/images/api/models/gpt-5.6-sol.webp"

156 description="Flagship GPT-5.6 model with the strongest capability for complex coding, computer use, research, and cybersecurity."197 description="The most capable GPT-5.6 model for complex coding, computer use, research, and cybersecurity."

157 data={{198 data={{

158 features: [199 features: [

159 {200 {


181 { title: "API Access", value: true },222 { title: "API Access", value: true },

182 ],223 ],

183 }}224 }}

184 />225/>

185 226 

186<ModelDetails227<ModelDetails

187 client:load228 client:load


293 334 

294 335 

295 336 

296Start with the default Power setting, which uses `gpt-5.6-sol` with medium337Availability depends on the rollout, your sign-in method, and your client.

297 reasoning. Move toward **Smarter** for deeper reasoning or **Faster** for338See [pricing](https://learn.chatgpt.com/docs/pricing#gpt-6-astra-usage) for plan access and usage, and

298 faster, lower-cost work. Open **Advanced** when you want `gpt-5.6-luna` or a339[workspace model availability](https://learn.chatgpt.com/docs/enterprise/workspace-model-availability#gpt-6-astra-in-enterprise)

299 specific model, reasoning effort, or speed.340for Enterprise access.

341 

342Start with the default Power setting available to your account. Move toward

343 **Smarter** for deeper reasoning or **Faster** for faster, lower-cost work.

344 Open **Advanced** when you want `gpt-5.6-luna` or a specific model, reasoning

345 effort, or speed.

346 

347<ContentModeSwitch group="codex-surface" ids="app,web">

348 

349The picker illustrations show GPT-5.6 controls. For eligible Pro, Business

350($100), and Enterprise accounts, the Astra rollout updates the Power options

351to Terra Light, Sol Light, Sol Medium, Astra Light, Astra Medium, and Astra

352Extra High. Options can differ by plan and rollout stage.

353 

354</ContentModeSwitch>

355 

356<ContentModeSwitch group="codex-surface" ids="app,cli,ide">

357 

358### Experimental context management

359 

360On supported Codex clients, users signed in with ChatGPT Plus or Pro can opt

361in to experimental context management. Astra keeps notes across context

362windows and can search earlier messages and tool results from the same task.

363This experiment is off by default and isn't available with Business, Enterprise, or

364API-key sign-in at launch.

365 

366To opt in, set `features.context_management.experimental_mode = true` in your

367`config.toml`, then start a new task. See the [configuration reference](https://learn.chatgpt.com/docs/config-file/config-reference)

368for the setting and [configuration basics](https://learn.chatgpt.com/docs/config-file/config-basic)

369for the file location. Workspace requirements still apply.

370 

371</ContentModeSwitch>

372 

373<a id="choosing-sol-terra-and-luna"></a>

300 374 

301## Choosing Sol, Terra, and Luna375## Choosing Astra, Sol, Terra, and Luna

302 376 

303Codex offers three GPT-5.6 models: **Sol** for detail and polish, **Terra** as the377Choose **Astra** when a task needs the strongest capability across multiple

304everyday workhorse, and **Luna** for clear, repeatable work. If you are unsure,378steps and tools. **Sol** offers depth and polish, **Terra** suits everyday work,

305start with Sol.379and **Luna** suits clear, repeatable tasks.

306 380 

307### Where each model shines381### Where each model shines

308 382 

383- **Astra, for the hardest end-to-end work.** Choose Astra for complete workflows

384 across code, apps, and research that need sustained reasoning and judgment.

385 Give it the sources, templates, constraints, and checks that define a useful

386 result. Astra is better at asking focused questions and incorporating your

387 guidance while keeping the original goal and constraints in view.

309- **Sol, for complex, open-ended work.** Choose Sol for ambiguous, difficult, or388- **Sol, for complex, open-ended work.** Choose Sol for ambiguous, difficult, or

310 high-value tasks that need extra analysis, judgment, or polish, such as389 high-value tasks that need extra analysis, judgment, or polish, such as

311 complex code changes, deep research, or polished documents. For narrower390 complex code changes, deep research, or polished documents. For narrower

sites.md +37 −0

Details

271 271 

272- **Owner and workspace admins**272- **Owner and workspace admins**

273- **Selected active users or groups**, where supported273- **Selected active users or groups**, where supported

274- **Invited external viewers**, when external invitations are available

274- **Anyone in the workspace**, where supported275- **Anyone in the workspace**, where supported

275- **Anyone on the internet**, only when public publishing is enabled276- **Anyone on the internet**, only when public publishing is enabled

276 277 


290current Site and confirming its URL.291current Site and confirming its URL.

291```292```

292 293 

294### Invite people outside your workspace

295 

296External invitations let you give named people access to a Site without making

297it public. You can invite viewers outside your workspace, or share a private

298Site from a personal account. The feature is rolling out to Sites users on

299Plus, Pro, Business, and Enterprise plans.

300 

301<WorkflowSteps>

302 

3031. Open a Site you own and select **Share**.

3042. To keep the Site private, set **Who has access** to **Only those invited**.

3053. Enter the viewer's email address under **Search for people or groups**, or

306 **Enter an email address** for a personal Site, then select the recipient.

3074. Review the audience and the recipient's **Viewer** access, then select

308 **Invite**.

3095. Confirm that the viewer appears in the saved access list. Share the Site's

310 link and ask them to sign in with the account that received access.

311 

312</WorkflowSteps>

313 

314External viewers can open and use the Site. They don't become workspace

315members or Site editors, and can't edit or publish the Site. The invitation

316grants access to this Site; review its content and connected data before sharing.

317 

318In Enterprise, admins manage **Allow members to invite external visitors to

319sites** under **Workspace settings > Permissions & roles**. This permission

320is separate from permission to publish Sites publicly.

321Business workspaces don't have a separate external-invitation permission

322toggle; Sites must be enabled, and the feature must be available to the account.

323If the invitation option is missing, check the selected account, Site

324ownership, workspace permissions, and rollout availability.

325 

326To remove a viewer, open the Site's sharing controls and remove their access.

327Also check the remaining audience settings: removing one invitation doesn't

328remove access the person has through public, workspace, or group sharing.

329 

293### Collaborate on a Site330### Collaborate on a Site

294 331 

295Site collaboration requires a workspace. When the feature is available, a Site332Site collaboration requires a workspace. When the feature is available, a Site

speed.md +7 −4

Details

11Codex offers the ability to increase the speed of the model for increased11Codex offers the ability to increase the speed of the model for increased

12credit consumption.12credit consumption.

13 13 

14Fast mode increases supported model speed by 1.5x and consumes credits at a14For GPT-5.6, GPT-5.5, and GPT-5.4, Fast mode increases model speed by 1.5x.

15higher rate than Standard mode. It currently supports GPT-5.6, GPT-5.5, and15GPT-5.6 and GPT-5.5 consume credits at 2.5x the Standard rate; GPT-5.4 consumes

16GPT-5.4. GPT-5.6 and GPT-5.5 consume credits at 2.5x the Standard rate;16credits at 2x the Standard rate.

17GPT-5.4 consumes credits at 2x the Standard rate.17 

18GPT-6 Astra Fast mode consumes credits at 2.5x the Standard rate where

19available. See [Models](https://learn.chatgpt.com/docs/models) for model availability and

20[Pricing](https://learn.chatgpt.com/docs/pricing#token-rates) for token rates.

18 21 

19Use `/fast on`, `/fast off`, or `/fast status` in the CLI to change or inspect22Use `/fast on`, `/fast off`, or `/fast status` in the CLI to change or inspect

20the current setting. You can also persist the default with `service_tier =23the current setting. You can also persist the default with `service_tier =

Details

39 manually.39 manually.

40relatedLinks:40relatedLinks:

41 - label: Using GPT-5.641 - label: Using GPT-5.6

42 url: /api/docs/guides/latest-model42 url: /api/docs/guides/latest-model?model=gpt-5.6

43 - label: OpenAI Docs MCP43 - label: OpenAI Docs MCP

44 url: /learn/docs-mcp44 url: /learn/docs-mcp

45 - label: Evals guide45 - label: Evals guide

Details

63 63 

64## Pick your model64## Pick your model

65 65 

66For fast UI iteration, start with `gpt-5.3-codex-spark` if you have access to it. It is less capable that our general-purpose models, but is designed for real-time coding iteration. If you don't have access to it, use `gpt-5.6` with `medium` or `low` reasoning effort.66For fast UI iteration, start with `gpt-5.3-codex-spark` if you have access to it. It is less capable that our general-purpose models, but is designed for real-time coding iteration. If you don't have access to it, use `gpt-6-astra` with `medium` or `low` reasoning effort.

67 67 

68That tradeoff is useful for granular UI work. You usually do not need the deepest model to move a button, tune a breakpoint, or adjust a component state. You need a model that responds quickly, understands the local code, edits the right file, and can repeat the loop without making the iteration feel heavy.68That tradeoff is useful for granular UI work. You usually do not need the deepest model to move a button, tune a breakpoint, or adjust a component state. You need a model that responds quickly, understands the local code, edits the right file, and can repeat the loop without making the iteration feel heavy.

69 69 

whats-new.md +19 −0

Details

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

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

8 8 

9## August 31–September 4, 2026

10 

11### Take on demanding work with GPT-6 Astra

12 

13GPT‑6 Astra is rolling out today for enterprises in our [Trusted Access Program⁠](https://openai.com/form/enterprise-trusted-access-for-cyber/), with access through API and our Plus, Pro, Business and Enterprise plans coming in the coming days.

14 

15[GPT-6 Astra](https://learn.chatgpt.com/docs/models#gpt-6-astra) combines advanced reasoning, computer

16use, and stronger judgment for complex work across code, apps, and research in

17Codex and ChatGPT Work. Use it to carry out a workflow, check the result, and

18produce a document, spreadsheet, or presentation that fits your templates and

19task.

20 

21Once Astra is available to your account, choose it from the model selector.

22Plus and standard Business

23include limited usage, and larger Pro and Business plans use their existing

24allowance. See [Astra usage and pricing](https://learn.chatgpt.com/docs/pricing#gpt-6-astra-usage) before

25starting a large task. Enterprise access requires both rollout eligibility and

26an administrator to enable it.

27 

9## August 24–28, 202628## August 24–28, 2026

10 29 

11### Work with more websites30### Work with more websites