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",