codex-configurator 0.2.3 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,35 +1,61 @@
1
1
  {
2
2
  "source": {
3
3
  "url": "https://developers.openai.com/codex/config-reference/",
4
- "fetched_at_utc": "2026-02-18T23:29:43.124Z"
4
+ "fetched_at_utc": "2026-02-25T19:25:09.285Z"
5
5
  },
6
6
  "documents": [
7
7
  {
8
8
  "id": "config.toml",
9
- "option_count": 151,
9
+ "option_count": 167,
10
10
  "sections": [
11
11
  {
12
12
  "name": "agents",
13
- "option_count": 3,
13
+ "option_count": 4,
14
14
  "keys": [
15
- "agents.max_threads",
15
+ "agents.<name>.config_file",
16
16
  "agents.<name>.description",
17
- "agents.<name>.config_file"
17
+ "agents.max_depth",
18
+ "agents.max_threads"
18
19
  ]
19
20
  },
20
21
  {
21
- "name": "approval_policy",
22
+ "name": "allow_login_shell",
22
23
  "option_count": 1,
23
24
  "keys": [
24
- "approval_policy"
25
+ "allow_login_shell"
26
+ ]
27
+ },
28
+ {
29
+ "name": "approval_policy",
30
+ "option_count": 4,
31
+ "keys": [
32
+ "approval_policy",
33
+ "approval_policy.reject.mcp_elicitations",
34
+ "approval_policy.reject.rules",
35
+ "approval_policy.reject.sandbox_approval"
25
36
  ]
26
37
  },
27
38
  {
28
39
  "name": "apps",
29
- "option_count": 2,
40
+ "option_count": 10,
30
41
  "keys": [
42
+ "apps._default.destructive_enabled",
43
+ "apps._default.enabled",
44
+ "apps._default.open_world_enabled",
45
+ "apps.<id>.default_tools_approval_mode",
46
+ "apps.<id>.default_tools_enabled",
47
+ "apps.<id>.destructive_enabled",
31
48
  "apps.<id>.enabled",
32
- "apps.<id>.disabled_reason"
49
+ "apps.<id>.open_world_enabled",
50
+ "apps.<id>.tools.<tool>.approval_mode",
51
+ "apps.<id>.tools.<tool>.enabled"
52
+ ]
53
+ },
54
+ {
55
+ "name": "background_terminal_max_timeout",
56
+ "option_count": 1,
57
+ "keys": [
58
+ "background_terminal_max_timeout"
33
59
  ]
34
60
  },
35
61
  {
@@ -97,29 +123,27 @@
97
123
  },
98
124
  {
99
125
  "name": "features",
100
- "option_count": 21,
126
+ "option_count": 19,
101
127
  "keys": [
128
+ "features.apply_patch_freeform",
102
129
  "features.apps",
103
130
  "features.apps_mcp_gateway",
104
- "features.unified_exec",
105
- "features.shell_snapshot",
106
- "features.apply_patch_freeform",
131
+ "features.child_agents_md",
132
+ "features.collaboration_modes",
107
133
  "features.multi_agent",
108
134
  "features.personality",
109
- "features.web_search",
110
- "features.web_search_cached",
111
- "features.web_search_request",
112
- "features.shell_tool",
135
+ "features.powershell_utf8",
136
+ "features.remote_models",
113
137
  "features.request_rule",
138
+ "features.runtime_metrics",
114
139
  "features.search_tool",
115
- "features.collaboration_modes",
140
+ "features.shell_snapshot",
141
+ "features.shell_tool",
142
+ "features.unified_exec",
116
143
  "features.use_linux_sandbox_bwrap",
117
- "features.experimental_windows_sandbox",
118
- "features.elevated_windows_sandbox",
119
- "features.remote_models",
120
- "features.runtime_metrics",
121
- "features.powershell_utf8",
122
- "features.child_agents_md"
144
+ "features.web_search",
145
+ "features.web_search_cached",
146
+ "features.web_search_request"
123
147
  ]
124
148
  },
125
149
  {
@@ -161,8 +185,8 @@
161
185
  "name": "history",
162
186
  "option_count": 2,
163
187
  "keys": [
164
- "history.persistence",
165
- "history.max_bytes"
188
+ "history.max_bytes",
189
+ "history.persistence"
166
190
  ]
167
191
  },
168
192
  {
@@ -193,6 +217,13 @@
193
217
  "mcp_oauth_callback_port"
194
218
  ]
195
219
  },
220
+ {
221
+ "name": "mcp_oauth_callback_url",
222
+ "option_count": 1,
223
+ "keys": [
224
+ "mcp_oauth_callback_url"
225
+ ]
226
+ },
196
227
  {
197
228
  "name": "mcp_oauth_credentials_store",
198
229
  "option_count": 1,
@@ -204,22 +235,22 @@
204
235
  "name": "mcp_servers",
205
236
  "option_count": 16,
206
237
  "keys": [
207
- "mcp_servers.<id>.command",
208
238
  "mcp_servers.<id>.args",
239
+ "mcp_servers.<id>.bearer_token_env_var",
240
+ "mcp_servers.<id>.command",
241
+ "mcp_servers.<id>.cwd",
242
+ "mcp_servers.<id>.disabled_tools",
243
+ "mcp_servers.<id>.enabled",
244
+ "mcp_servers.<id>.enabled_tools",
209
245
  "mcp_servers.<id>.env",
246
+ "mcp_servers.<id>.env_http_headers",
210
247
  "mcp_servers.<id>.env_vars",
211
- "mcp_servers.<id>.cwd",
212
- "mcp_servers.<id>.url",
213
- "mcp_servers.<id>.bearer_token_env_var",
214
248
  "mcp_servers.<id>.http_headers",
215
- "mcp_servers.<id>.env_http_headers",
216
- "mcp_servers.<id>.enabled",
217
249
  "mcp_servers.<id>.required",
218
- "mcp_servers.<id>.startup_timeout_sec",
219
250
  "mcp_servers.<id>.startup_timeout_ms",
251
+ "mcp_servers.<id>.startup_timeout_sec",
220
252
  "mcp_servers.<id>.tool_timeout_sec",
221
- "mcp_servers.<id>.enabled_tools",
222
- "mcp_servers.<id>.disabled_tools"
253
+ "mcp_servers.<id>.url"
223
254
  ]
224
255
  },
225
256
  {
@@ -236,6 +267,13 @@
236
267
  "model_auto_compact_token_limit"
237
268
  ]
238
269
  },
270
+ {
271
+ "name": "model_catalog_json",
272
+ "option_count": 1,
273
+ "keys": [
274
+ "model_catalog_json"
275
+ ]
276
+ },
239
277
  {
240
278
  "name": "model_context_window",
241
279
  "option_count": 1,
@@ -261,19 +299,19 @@
261
299
  "name": "model_providers",
262
300
  "option_count": 13,
263
301
  "keys": [
264
- "model_providers.<id>.name",
265
302
  "model_providers.<id>.base_url",
303
+ "model_providers.<id>.env_http_headers",
266
304
  "model_providers.<id>.env_key",
267
305
  "model_providers.<id>.env_key_instructions",
268
306
  "model_providers.<id>.experimental_bearer_token",
269
- "model_providers.<id>.requires_openai_auth",
270
- "model_providers.<id>.wire_api",
271
- "model_providers.<id>.query_params",
272
307
  "model_providers.<id>.http_headers",
273
- "model_providers.<id>.env_http_headers",
308
+ "model_providers.<id>.name",
309
+ "model_providers.<id>.query_params",
274
310
  "model_providers.<id>.request_max_retries",
311
+ "model_providers.<id>.requires_openai_auth",
312
+ "model_providers.<id>.stream_idle_timeout_ms",
275
313
  "model_providers.<id>.stream_max_retries",
276
- "model_providers.<id>.stream_idle_timeout_ms"
314
+ "model_providers.<id>.wire_api"
277
315
  ]
278
316
  },
279
317
  {
@@ -309,10 +347,10 @@
309
347
  "option_count": 6,
310
348
  "keys": [
311
349
  "notice.hide_full_access_warning",
312
- "notice.hide_world_writable_warning",
313
- "notice.hide_rate_limit_model_nudge",
314
- "notice.hide_gpt5_1_migration_prompt",
315
350
  "notice.hide_gpt-5.1-codex-max_migration_prompt",
351
+ "notice.hide_gpt5_1_migration_prompt",
352
+ "notice.hide_rate_limit_model_nudge",
353
+ "notice.hide_world_writable_warning",
316
354
  "notice.model_migrations"
317
355
  ]
318
356
  },
@@ -336,17 +374,17 @@
336
374
  "keys": [
337
375
  "otel.environment",
338
376
  "otel.exporter",
339
- "otel.trace_exporter",
340
- "otel.log_user_prompt",
341
377
  "otel.exporter.<id>.endpoint",
342
- "otel.exporter.<id>.protocol",
343
378
  "otel.exporter.<id>.headers",
344
- "otel.trace_exporter.<id>.endpoint",
345
- "otel.trace_exporter.<id>.protocol",
346
- "otel.trace_exporter.<id>.headers",
379
+ "otel.exporter.<id>.protocol",
347
380
  "otel.exporter.<id>.tls.ca-certificate",
348
381
  "otel.exporter.<id>.tls.client-certificate",
349
382
  "otel.exporter.<id>.tls.client-private-key",
383
+ "otel.log_user_prompt",
384
+ "otel.trace_exporter",
385
+ "otel.trace_exporter.<id>.endpoint",
386
+ "otel.trace_exporter.<id>.headers",
387
+ "otel.trace_exporter.<id>.protocol",
350
388
  "otel.trace_exporter.<id>.tls.ca-certificate",
351
389
  "otel.trace_exporter.<id>.tls.client-certificate",
352
390
  "otel.trace_exporter.<id>.tls.client-private-key"
@@ -368,15 +406,16 @@
368
406
  },
369
407
  {
370
408
  "name": "profiles",
371
- "option_count": 7,
409
+ "option_count": 8,
372
410
  "keys": [
373
411
  "profiles.<name>.*",
412
+ "profiles.<name>.experimental_use_freeform_apply_patch",
413
+ "profiles.<name>.experimental_use_unified_exec_tool",
374
414
  "profiles.<name>.include_apply_patch_tool",
375
- "profiles.<name>.web_search",
415
+ "profiles.<name>.model_catalog_json",
416
+ "profiles.<name>.oss_provider",
376
417
  "profiles.<name>.personality",
377
- "profiles.<name>.experimental_use_unified_exec_tool",
378
- "profiles.<name>.experimental_use_freeform_apply_patch",
379
- "profiles.<name>.oss_provider"
418
+ "profiles.<name>.web_search"
380
419
  ]
381
420
  },
382
421
  {
@@ -425,22 +464,22 @@
425
464
  "name": "sandbox_workspace_write",
426
465
  "option_count": 4,
427
466
  "keys": [
428
- "sandbox_workspace_write.writable_roots",
429
- "sandbox_workspace_write.network_access",
467
+ "sandbox_workspace_write.exclude_slash_tmp",
430
468
  "sandbox_workspace_write.exclude_tmpdir_env_var",
431
- "sandbox_workspace_write.exclude_slash_tmp"
469
+ "sandbox_workspace_write.network_access",
470
+ "sandbox_workspace_write.writable_roots"
432
471
  ]
433
472
  },
434
473
  {
435
474
  "name": "shell_environment_policy",
436
475
  "option_count": 6,
437
476
  "keys": [
438
- "shell_environment_policy.inherit",
439
- "shell_environment_policy.ignore_default_excludes",
440
477
  "shell_environment_policy.exclude",
478
+ "shell_environment_policy.experimental_use_profile",
479
+ "shell_environment_policy.ignore_default_excludes",
441
480
  "shell_environment_policy.include_only",
442
- "shell_environment_policy.set",
443
- "shell_environment_policy.experimental_use_profile"
481
+ "shell_environment_policy.inherit",
482
+ "shell_environment_policy.set"
444
483
  ]
445
484
  },
446
485
  {
@@ -455,8 +494,8 @@
455
494
  "option_count": 3,
456
495
  "keys": [
457
496
  "skills.config",
458
- "skills.config.<index>.path",
459
- "skills.config.<index>.enabled"
497
+ "skills.config.<index>.enabled",
498
+ "skills.config.<index>.path"
460
499
  ]
461
500
  },
462
501
  {
@@ -485,10 +524,10 @@
485
524
  "option_count": 7,
486
525
  "keys": [
487
526
  "tui",
488
- "tui.notifications",
489
- "tui.notification_method",
490
- "tui.animations",
491
527
  "tui.alternate_screen",
528
+ "tui.animations",
529
+ "tui.notification_method",
530
+ "tui.notifications",
492
531
  "tui.show_tooltips",
493
532
  "tui.status_line"
494
533
  ]
@@ -500,6 +539,13 @@
500
539
  "web_search"
501
540
  ]
502
541
  },
542
+ {
543
+ "name": "windows",
544
+ "option_count": 1,
545
+ "keys": [
546
+ "windows.sandbox"
547
+ ]
548
+ },
503
549
  {
504
550
  "name": "windows_wsl_setup_acknowledged",
505
551
  "option_count": 1,
@@ -516,18 +562,11 @@
516
562
  ],
517
563
  "top_level": "model",
518
564
  "type": "string",
519
- "enum_values": [
520
- "gpt-5.3-codex",
521
- "gpt-5.3-codex-spark",
522
- "gpt-5.2-codex",
523
- "gpt-5.1-codex-max",
524
- "gpt-5.2",
525
- "gpt-5.1-codex-mini"
526
- ],
565
+ "enum_values": [],
527
566
  "description": "Model to use (e.g., `gpt-5-codex`).",
528
567
  "deprecated": false,
529
568
  "ui": {
530
- "control": "select"
569
+ "control": "text"
531
570
  }
532
571
  },
533
572
  {
@@ -569,7 +608,7 @@
569
608
  "description": "Context window tokens available to the active model.",
570
609
  "deprecated": false,
571
610
  "ui": {
572
- "control": "number"
611
+ "control": "text"
573
612
  }
574
613
  },
575
614
  {
@@ -583,7 +622,21 @@
583
622
  "description": "Token threshold that triggers automatic history compaction (unset uses model defaults).",
584
623
  "deprecated": false,
585
624
  "ui": {
586
- "control": "number"
625
+ "control": "text"
626
+ }
627
+ },
628
+ {
629
+ "key": "model_catalog_json",
630
+ "key_path": [
631
+ "model_catalog_json"
632
+ ],
633
+ "top_level": "model_catalog_json",
634
+ "type": "string (path)",
635
+ "enum_values": [],
636
+ "description": "Optional path to a JSON model catalog loaded on startup. Profile-level `profiles.<name>.model_catalog_json` can override this per profile.",
637
+ "deprecated": false,
638
+ "ui": {
639
+ "control": "text"
587
640
  }
588
641
  },
589
642
  {
@@ -609,18 +662,80 @@
609
662
  "approval_policy"
610
663
  ],
611
664
  "top_level": "approval_policy",
612
- "type": "untrusted | on-request | never",
665
+ "type": "untrusted | on-request | never | { reject = { sandbox_approval = bool, rules = bool, mcp_elicitations = bool } }",
613
666
  "enum_values": [
614
667
  "untrusted",
615
668
  "on-request",
616
669
  "never"
617
670
  ],
618
- "description": "Controls when Codex pauses for approval before executing commands. `on-failure` is deprecated; use `on-request` for interactive runs or `never` for non-interactive runs.",
619
- "deprecated": true,
671
+ "description": "Controls when Codex pauses for approval before executing commands. You can also use `approval_policy = { reject = { ... } }` to auto-reject specific prompt categories while keeping other prompts interactive. `on-failure` is deprecated; use `on-request` for interactive runs or `never` for non-interactive runs.",
672
+ "deprecated": false,
620
673
  "ui": {
621
674
  "control": "select"
622
675
  }
623
676
  },
677
+ {
678
+ "key": "approval_policy.reject.sandbox_approval",
679
+ "key_path": [
680
+ "approval_policy",
681
+ "reject",
682
+ "sandbox_approval"
683
+ ],
684
+ "top_level": "approval_policy",
685
+ "type": "boolean",
686
+ "enum_values": [],
687
+ "description": "When `true`, sandbox escalation approval prompts are auto-rejected.",
688
+ "deprecated": false,
689
+ "ui": {
690
+ "control": "text"
691
+ }
692
+ },
693
+ {
694
+ "key": "approval_policy.reject.rules",
695
+ "key_path": [
696
+ "approval_policy",
697
+ "reject",
698
+ "rules"
699
+ ],
700
+ "top_level": "approval_policy",
701
+ "type": "boolean",
702
+ "enum_values": [],
703
+ "description": "When `true`, approvals triggered by execpolicy `prompt` rules are auto-rejected.",
704
+ "deprecated": false,
705
+ "ui": {
706
+ "control": "text"
707
+ }
708
+ },
709
+ {
710
+ "key": "approval_policy.reject.mcp_elicitations",
711
+ "key_path": [
712
+ "approval_policy",
713
+ "reject",
714
+ "mcp_elicitations"
715
+ ],
716
+ "top_level": "approval_policy",
717
+ "type": "boolean",
718
+ "enum_values": [],
719
+ "description": "When `true`, MCP elicitation prompts are auto-rejected instead of shown to the user.",
720
+ "deprecated": false,
721
+ "ui": {
722
+ "control": "text"
723
+ }
724
+ },
725
+ {
726
+ "key": "allow_login_shell",
727
+ "key_path": [
728
+ "allow_login_shell"
729
+ ],
730
+ "top_level": "allow_login_shell",
731
+ "type": "boolean",
732
+ "enum_values": [],
733
+ "description": "Allow shell-based tools to use login-shell semantics. Defaults to `true`; when `false`, `login = true` requests are rejected and omitted `login` defaults to non-login shells.",
734
+ "deprecated": false,
735
+ "ui": {
736
+ "control": "text"
737
+ }
738
+ },
624
739
  {
625
740
  "key": "sandbox_mode",
626
741
  "key_path": [
@@ -666,7 +781,7 @@
666
781
  "description": "Allow outbound network access inside the workspace-write sandbox.",
667
782
  "deprecated": false,
668
783
  "ui": {
669
- "control": "toggle"
784
+ "control": "text"
670
785
  }
671
786
  },
672
787
  {
@@ -681,7 +796,7 @@
681
796
  "description": "Exclude `$TMPDIR` from writable roots in workspace-write mode.",
682
797
  "deprecated": false,
683
798
  "ui": {
684
- "control": "toggle"
799
+ "control": "text"
685
800
  }
686
801
  },
687
802
  {
@@ -696,7 +811,25 @@
696
811
  "description": "Exclude `/tmp` from writable roots in workspace-write mode.",
697
812
  "deprecated": false,
698
813
  "ui": {
699
- "control": "toggle"
814
+ "control": "text"
815
+ }
816
+ },
817
+ {
818
+ "key": "windows.sandbox",
819
+ "key_path": [
820
+ "windows",
821
+ "sandbox"
822
+ ],
823
+ "top_level": "windows",
824
+ "type": "unelevated | elevated",
825
+ "enum_values": [
826
+ "unelevated",
827
+ "elevated"
828
+ ],
829
+ "description": "Windows-only native sandbox mode when running Codex natively on Windows.",
830
+ "deprecated": false,
831
+ "ui": {
832
+ "control": "select"
700
833
  }
701
834
  },
702
835
  {
@@ -724,7 +857,7 @@
724
857
  "description": "Check for Codex updates on startup (set to false only when updates are centrally managed).",
725
858
  "deprecated": false,
726
859
  "ui": {
727
- "control": "toggle"
860
+ "control": "text"
728
861
  }
729
862
  },
730
863
  {
@@ -739,7 +872,7 @@
739
872
  "description": "Enable feedback submission via `/feedback` across Codex surfaces (default: true).",
740
873
  "deprecated": false,
741
874
  "ui": {
742
- "control": "toggle"
875
+ "control": "text"
743
876
  }
744
877
  },
745
878
  {
@@ -781,7 +914,7 @@
781
914
  "description": "Directory where Codex writes log files (for example `codex-tui.log`); defaults to `$CODEX_HOME/log`.",
782
915
  "deprecated": false,
783
916
  "ui": {
784
- "control": "path"
917
+ "control": "text"
785
918
  }
786
919
  },
787
920
  {
@@ -809,7 +942,7 @@
809
942
  "description": "Replacement for built-in instructions instead of `AGENTS.md`.",
810
943
  "deprecated": false,
811
944
  "ui": {
812
- "control": "path"
945
+ "control": "text"
813
946
  }
814
947
  },
815
948
  {
@@ -841,7 +974,7 @@
841
974
  "description": "Load the compaction prompt override from a file (experimental).",
842
975
  "deprecated": false,
843
976
  "ui": {
844
- "control": "path"
977
+ "control": "text"
845
978
  }
846
979
  },
847
980
  {
@@ -873,7 +1006,7 @@
873
1006
  "description": "Path to a skill folder containing `SKILL.md`.",
874
1007
  "deprecated": false,
875
1008
  "ui": {
876
- "control": "path"
1009
+ "control": "text"
877
1010
  }
878
1011
  },
879
1012
  {
@@ -890,7 +1023,7 @@
890
1023
  "description": "Enable or disable the referenced skill.",
891
1024
  "deprecated": false,
892
1025
  "ui": {
893
- "control": "toggle"
1026
+ "control": "text"
894
1027
  }
895
1028
  },
896
1029
  {
@@ -906,120 +1039,257 @@
906
1039
  "description": "Enable or disable a specific app/connector by id (default: true).",
907
1040
  "deprecated": false,
908
1041
  "ui": {
909
- "control": "toggle"
1042
+ "control": "text"
910
1043
  }
911
1044
  },
912
1045
  {
913
- "key": "apps.<id>.disabled_reason",
1046
+ "key": "apps._default.enabled",
914
1047
  "key_path": [
915
1048
  "apps",
916
- "<id>",
917
- "disabled_reason"
1049
+ "_default",
1050
+ "enabled"
918
1051
  ],
919
1052
  "top_level": "apps",
920
- "type": "unknown | user",
921
- "enum_values": [
922
- "unknown",
923
- "user"
924
- ],
925
- "description": "Optional reason attached when an app/connector is disabled.",
1053
+ "type": "boolean",
1054
+ "enum_values": [],
1055
+ "description": "Default app enabled state for all apps unless overridden per app.",
926
1056
  "deprecated": false,
927
1057
  "ui": {
928
- "control": "select"
1058
+ "control": "text"
929
1059
  }
930
1060
  },
931
1061
  {
932
- "key": "features.apps",
1062
+ "key": "apps._default.destructive_enabled",
933
1063
  "key_path": [
934
- "features",
935
- "apps"
1064
+ "apps",
1065
+ "_default",
1066
+ "destructive_enabled"
936
1067
  ],
937
- "top_level": "features",
1068
+ "top_level": "apps",
938
1069
  "type": "boolean",
939
1070
  "enum_values": [],
940
- "description": "Enable ChatGPT Apps/connectors support (experimental).",
1071
+ "description": "Default allow/deny for app tools with `destructive_hint = true`.",
941
1072
  "deprecated": false,
942
1073
  "ui": {
943
- "control": "toggle"
1074
+ "control": "text"
944
1075
  }
945
1076
  },
946
1077
  {
947
- "key": "features.apps_mcp_gateway",
1078
+ "key": "apps._default.open_world_enabled",
948
1079
  "key_path": [
949
- "features",
950
- "apps_mcp_gateway"
1080
+ "apps",
1081
+ "_default",
1082
+ "open_world_enabled"
951
1083
  ],
952
- "top_level": "features",
1084
+ "top_level": "apps",
953
1085
  "type": "boolean",
954
1086
  "enum_values": [],
955
- "description": "Route Apps MCP calls through the OpenAI connectors MCP gateway (`https://api.openai.com/v1/connectors/mcp/`) instead of legacy routing (experimental).",
1087
+ "description": "Default allow/deny for app tools with `open_world_hint = true`.",
956
1088
  "deprecated": false,
957
1089
  "ui": {
958
- "control": "toggle"
1090
+ "control": "text"
959
1091
  }
960
1092
  },
961
1093
  {
962
- "key": "mcp_servers.<id>.command",
1094
+ "key": "apps.<id>.destructive_enabled",
963
1095
  "key_path": [
964
- "mcp_servers",
1096
+ "apps",
965
1097
  "<id>",
966
- "command"
1098
+ "destructive_enabled"
967
1099
  ],
968
- "top_level": "mcp_servers",
969
- "type": "string",
1100
+ "top_level": "apps",
1101
+ "type": "boolean",
970
1102
  "enum_values": [],
971
- "description": "Launcher command for an MCP stdio server.",
1103
+ "description": "Allow or block tools in this app that advertise `destructive_hint = true`.",
972
1104
  "deprecated": false,
973
1105
  "ui": {
974
1106
  "control": "text"
975
1107
  }
976
1108
  },
977
1109
  {
978
- "key": "mcp_servers.<id>.args",
1110
+ "key": "apps.<id>.open_world_enabled",
979
1111
  "key_path": [
980
- "mcp_servers",
1112
+ "apps",
981
1113
  "<id>",
982
- "args"
1114
+ "open_world_enabled"
983
1115
  ],
984
- "top_level": "mcp_servers",
985
- "type": "array<string>",
1116
+ "top_level": "apps",
1117
+ "type": "boolean",
986
1118
  "enum_values": [],
987
- "description": "Arguments passed to the MCP stdio server command.",
1119
+ "description": "Allow or block tools in this app that advertise `open_world_hint = true`.",
988
1120
  "deprecated": false,
989
1121
  "ui": {
990
- "control": "list"
1122
+ "control": "text"
991
1123
  }
992
1124
  },
993
1125
  {
994
- "key": "mcp_servers.<id>.env",
1126
+ "key": "apps.<id>.default_tools_enabled",
995
1127
  "key_path": [
996
- "mcp_servers",
1128
+ "apps",
997
1129
  "<id>",
998
- "env"
1130
+ "default_tools_enabled"
999
1131
  ],
1000
- "top_level": "mcp_servers",
1001
- "type": "map<string,string>",
1132
+ "top_level": "apps",
1133
+ "type": "boolean",
1002
1134
  "enum_values": [],
1003
- "description": "Environment variables forwarded to the MCP stdio server.",
1135
+ "description": "Default enabled state for tools in this app unless a per-tool override exists.",
1004
1136
  "deprecated": false,
1005
1137
  "ui": {
1006
- "control": "key-value"
1138
+ "control": "text"
1007
1139
  }
1008
1140
  },
1009
1141
  {
1010
- "key": "mcp_servers.<id>.env_vars",
1142
+ "key": "apps.<id>.default_tools_approval_mode",
1011
1143
  "key_path": [
1012
- "mcp_servers",
1144
+ "apps",
1013
1145
  "<id>",
1014
- "env_vars"
1146
+ "default_tools_approval_mode"
1015
1147
  ],
1016
- "top_level": "mcp_servers",
1017
- "type": "array<string>",
1018
- "enum_values": [],
1019
- "description": "Additional environment variables to whitelist for an MCP stdio server.",
1020
- "deprecated": false,
1021
- "ui": {
1022
- "control": "list"
1148
+ "top_level": "apps",
1149
+ "type": "auto | prompt | approve",
1150
+ "enum_values": [
1151
+ "auto",
1152
+ "prompt",
1153
+ "approve"
1154
+ ],
1155
+ "description": "Default approval behavior for tools in this app unless a per-tool override exists.",
1156
+ "deprecated": false,
1157
+ "ui": {
1158
+ "control": "select"
1159
+ }
1160
+ },
1161
+ {
1162
+ "key": "apps.<id>.tools.<tool>.enabled",
1163
+ "key_path": [
1164
+ "apps",
1165
+ "<id>",
1166
+ "tools",
1167
+ "<tool>",
1168
+ "enabled"
1169
+ ],
1170
+ "top_level": "apps",
1171
+ "type": "boolean",
1172
+ "enum_values": [],
1173
+ "description": "Per-tool enabled override for an app tool (for example `repos/list`).",
1174
+ "deprecated": false,
1175
+ "ui": {
1176
+ "control": "text"
1177
+ }
1178
+ },
1179
+ {
1180
+ "key": "apps.<id>.tools.<tool>.approval_mode",
1181
+ "key_path": [
1182
+ "apps",
1183
+ "<id>",
1184
+ "tools",
1185
+ "<tool>",
1186
+ "approval_mode"
1187
+ ],
1188
+ "top_level": "apps",
1189
+ "type": "auto | prompt | approve",
1190
+ "enum_values": [
1191
+ "auto",
1192
+ "prompt",
1193
+ "approve"
1194
+ ],
1195
+ "description": "Per-tool approval behavior override for a single app tool.",
1196
+ "deprecated": false,
1197
+ "ui": {
1198
+ "control": "select"
1199
+ }
1200
+ },
1201
+ {
1202
+ "key": "features.apps",
1203
+ "key_path": [
1204
+ "features",
1205
+ "apps"
1206
+ ],
1207
+ "top_level": "features",
1208
+ "type": "boolean",
1209
+ "enum_values": [],
1210
+ "description": "Enable ChatGPT Apps/connectors support (experimental).",
1211
+ "deprecated": false,
1212
+ "ui": {
1213
+ "control": "text"
1214
+ }
1215
+ },
1216
+ {
1217
+ "key": "features.apps_mcp_gateway",
1218
+ "key_path": [
1219
+ "features",
1220
+ "apps_mcp_gateway"
1221
+ ],
1222
+ "top_level": "features",
1223
+ "type": "boolean",
1224
+ "enum_values": [],
1225
+ "description": "Route Apps MCP calls through the OpenAI connectors MCP gateway (`https://api.openai.com/v1/connectors/mcp/`) instead of legacy routing (experimental).",
1226
+ "deprecated": false,
1227
+ "ui": {
1228
+ "control": "text"
1229
+ }
1230
+ },
1231
+ {
1232
+ "key": "mcp_servers.<id>.command",
1233
+ "key_path": [
1234
+ "mcp_servers",
1235
+ "<id>",
1236
+ "command"
1237
+ ],
1238
+ "top_level": "mcp_servers",
1239
+ "type": "string",
1240
+ "enum_values": [],
1241
+ "description": "Launcher command for an MCP stdio server.",
1242
+ "deprecated": false,
1243
+ "ui": {
1244
+ "control": "text"
1245
+ }
1246
+ },
1247
+ {
1248
+ "key": "mcp_servers.<id>.args",
1249
+ "key_path": [
1250
+ "mcp_servers",
1251
+ "<id>",
1252
+ "args"
1253
+ ],
1254
+ "top_level": "mcp_servers",
1255
+ "type": "array<string>",
1256
+ "enum_values": [],
1257
+ "description": "Arguments passed to the MCP stdio server command.",
1258
+ "deprecated": false,
1259
+ "ui": {
1260
+ "control": "list"
1261
+ }
1262
+ },
1263
+ {
1264
+ "key": "mcp_servers.<id>.env",
1265
+ "key_path": [
1266
+ "mcp_servers",
1267
+ "<id>",
1268
+ "env"
1269
+ ],
1270
+ "top_level": "mcp_servers",
1271
+ "type": "map<string,string>",
1272
+ "enum_values": [],
1273
+ "description": "Environment variables forwarded to the MCP stdio server.",
1274
+ "deprecated": false,
1275
+ "ui": {
1276
+ "control": "text"
1277
+ }
1278
+ },
1279
+ {
1280
+ "key": "mcp_servers.<id>.env_vars",
1281
+ "key_path": [
1282
+ "mcp_servers",
1283
+ "<id>",
1284
+ "env_vars"
1285
+ ],
1286
+ "top_level": "mcp_servers",
1287
+ "type": "array<string>",
1288
+ "enum_values": [],
1289
+ "description": "Additional environment variables to whitelist for an MCP stdio server.",
1290
+ "deprecated": false,
1291
+ "ui": {
1292
+ "control": "list"
1023
1293
  }
1024
1294
  },
1025
1295
  {
@@ -1083,7 +1353,7 @@
1083
1353
  "description": "Static HTTP headers included with each MCP HTTP request.",
1084
1354
  "deprecated": false,
1085
1355
  "ui": {
1086
- "control": "key-value"
1356
+ "control": "text"
1087
1357
  }
1088
1358
  },
1089
1359
  {
@@ -1099,7 +1369,7 @@
1099
1369
  "description": "HTTP headers populated from environment variables for an MCP HTTP server.",
1100
1370
  "deprecated": false,
1101
1371
  "ui": {
1102
- "control": "key-value"
1372
+ "control": "text"
1103
1373
  }
1104
1374
  },
1105
1375
  {
@@ -1115,7 +1385,7 @@
1115
1385
  "description": "Disable an MCP server without removing its configuration.",
1116
1386
  "deprecated": false,
1117
1387
  "ui": {
1118
- "control": "toggle"
1388
+ "control": "text"
1119
1389
  }
1120
1390
  },
1121
1391
  {
@@ -1131,7 +1401,7 @@
1131
1401
  "description": "When true, fail startup/resume if this enabled MCP server cannot initialize.",
1132
1402
  "deprecated": false,
1133
1403
  "ui": {
1134
- "control": "toggle"
1404
+ "control": "text"
1135
1405
  }
1136
1406
  },
1137
1407
  {
@@ -1147,7 +1417,7 @@
1147
1417
  "description": "Override the default 10s startup timeout for an MCP server.",
1148
1418
  "deprecated": false,
1149
1419
  "ui": {
1150
- "control": "number"
1420
+ "control": "text"
1151
1421
  }
1152
1422
  },
1153
1423
  {
@@ -1163,7 +1433,7 @@
1163
1433
  "description": "Alias for `startup_timeout_sec` in milliseconds.",
1164
1434
  "deprecated": false,
1165
1435
  "ui": {
1166
- "control": "number"
1436
+ "control": "text"
1167
1437
  }
1168
1438
  },
1169
1439
  {
@@ -1179,7 +1449,7 @@
1179
1449
  "description": "Override the default 60s per-tool timeout for an MCP server.",
1180
1450
  "deprecated": false,
1181
1451
  "ui": {
1182
- "control": "number"
1452
+ "control": "text"
1183
1453
  }
1184
1454
  },
1185
1455
  {
@@ -1226,7 +1496,22 @@
1226
1496
  "description": "Maximum number of agent threads that can be open concurrently.",
1227
1497
  "deprecated": false,
1228
1498
  "ui": {
1229
- "control": "number"
1499
+ "control": "text"
1500
+ }
1501
+ },
1502
+ {
1503
+ "key": "agents.max_depth",
1504
+ "key_path": [
1505
+ "agents",
1506
+ "max_depth"
1507
+ ],
1508
+ "top_level": "agents",
1509
+ "type": "number",
1510
+ "enum_values": [],
1511
+ "description": "Maximum nesting depth allowed for spawned agent threads (root sessions start at depth 0; default: 1).",
1512
+ "deprecated": false,
1513
+ "ui": {
1514
+ "control": "text"
1230
1515
  }
1231
1516
  },
1232
1517
  {
@@ -1258,7 +1543,7 @@
1258
1543
  "description": "Path to a TOML config layer for that role; relative paths resolve from the config file that declares the role.",
1259
1544
  "deprecated": false,
1260
1545
  "ui": {
1261
- "control": "path"
1546
+ "control": "text"
1262
1547
  }
1263
1548
  },
1264
1549
  {
@@ -1273,7 +1558,7 @@
1273
1558
  "description": "Use the unified PTY-backed exec tool (beta).",
1274
1559
  "deprecated": false,
1275
1560
  "ui": {
1276
- "control": "toggle"
1561
+ "control": "text"
1277
1562
  }
1278
1563
  },
1279
1564
  {
@@ -1288,7 +1573,7 @@
1288
1573
  "description": "Snapshot shell environment to speed up repeated commands (beta).",
1289
1574
  "deprecated": false,
1290
1575
  "ui": {
1291
- "control": "toggle"
1576
+ "control": "text"
1292
1577
  }
1293
1578
  },
1294
1579
  {
@@ -1303,7 +1588,7 @@
1303
1588
  "description": "Expose the freeform `apply_patch` tool (experimental).",
1304
1589
  "deprecated": false,
1305
1590
  "ui": {
1306
- "control": "toggle"
1591
+ "control": "text"
1307
1592
  }
1308
1593
  },
1309
1594
  {
@@ -1318,7 +1603,7 @@
1318
1603
  "description": "Enable multi-agent collaboration tools (`spawn_agent`, `send_input`, `resume_agent`, `wait`, and `close_agent`) (experimental; off by default).",
1319
1604
  "deprecated": false,
1320
1605
  "ui": {
1321
- "control": "toggle"
1606
+ "control": "text"
1322
1607
  }
1323
1608
  },
1324
1609
  {
@@ -1333,7 +1618,7 @@
1333
1618
  "description": "Enable personality selection controls (stable; on by default).",
1334
1619
  "deprecated": false,
1335
1620
  "ui": {
1336
- "control": "toggle"
1621
+ "control": "text"
1337
1622
  }
1338
1623
  },
1339
1624
  {
@@ -1346,9 +1631,9 @@
1346
1631
  "type": "boolean",
1347
1632
  "enum_values": [],
1348
1633
  "description": "Deprecated legacy toggle; prefer the top-level `web_search` setting.",
1349
- "deprecated": true,
1634
+ "deprecated": false,
1350
1635
  "ui": {
1351
- "control": "toggle"
1636
+ "control": "text"
1352
1637
  }
1353
1638
  },
1354
1639
  {
@@ -1361,9 +1646,9 @@
1361
1646
  "type": "boolean",
1362
1647
  "enum_values": [],
1363
1648
  "description": "Deprecated legacy toggle. When `web_search` is unset, true maps to `web_search = \"cached\"`.",
1364
- "deprecated": true,
1649
+ "deprecated": false,
1365
1650
  "ui": {
1366
- "control": "toggle"
1651
+ "control": "text"
1367
1652
  }
1368
1653
  },
1369
1654
  {
@@ -1376,9 +1661,9 @@
1376
1661
  "type": "boolean",
1377
1662
  "enum_values": [],
1378
1663
  "description": "Deprecated legacy toggle. When `web_search` is unset, true maps to `web_search = \"live\"`.",
1379
- "deprecated": true,
1664
+ "deprecated": false,
1380
1665
  "ui": {
1381
- "control": "toggle"
1666
+ "control": "text"
1382
1667
  }
1383
1668
  },
1384
1669
  {
@@ -1393,7 +1678,7 @@
1393
1678
  "description": "Enable the default `shell` tool for running commands (stable; on by default).",
1394
1679
  "deprecated": false,
1395
1680
  "ui": {
1396
- "control": "toggle"
1681
+ "control": "text"
1397
1682
  }
1398
1683
  },
1399
1684
  {
@@ -1408,7 +1693,7 @@
1408
1693
  "description": "Enable Smart approvals (`prefix_rule` suggestions on escalation requests; stable; on by default).",
1409
1694
  "deprecated": false,
1410
1695
  "ui": {
1411
- "control": "toggle"
1696
+ "control": "text"
1412
1697
  }
1413
1698
  },
1414
1699
  {
@@ -1423,7 +1708,7 @@
1423
1708
  "description": "Enable `search_tool_bm25` for Apps tool discovery before invoking app MCP tools (experimental).",
1424
1709
  "deprecated": false,
1425
1710
  "ui": {
1426
- "control": "toggle"
1711
+ "control": "text"
1427
1712
  }
1428
1713
  },
1429
1714
  {
@@ -1438,7 +1723,7 @@
1438
1723
  "description": "Enable collaboration modes such as plan mode (stable; on by default).",
1439
1724
  "deprecated": false,
1440
1725
  "ui": {
1441
- "control": "toggle"
1726
+ "control": "text"
1442
1727
  }
1443
1728
  },
1444
1729
  {
@@ -1453,37 +1738,7 @@
1453
1738
  "description": "Use the bubblewrap-based Linux sandbox pipeline (experimental; off by default).",
1454
1739
  "deprecated": false,
1455
1740
  "ui": {
1456
- "control": "toggle"
1457
- }
1458
- },
1459
- {
1460
- "key": "features.experimental_windows_sandbox",
1461
- "key_path": [
1462
- "features",
1463
- "experimental_windows_sandbox"
1464
- ],
1465
- "top_level": "features",
1466
- "type": "boolean",
1467
- "enum_values": [],
1468
- "description": "Run the Windows restricted-token sandbox (experimental).",
1469
- "deprecated": false,
1470
- "ui": {
1471
- "control": "toggle"
1472
- }
1473
- },
1474
- {
1475
- "key": "features.elevated_windows_sandbox",
1476
- "key_path": [
1477
- "features",
1478
- "elevated_windows_sandbox"
1479
- ],
1480
- "top_level": "features",
1481
- "type": "boolean",
1482
- "enum_values": [],
1483
- "description": "Enable the elevated Windows sandbox pipeline (experimental).",
1484
- "deprecated": false,
1485
- "ui": {
1486
- "control": "toggle"
1741
+ "control": "text"
1487
1742
  }
1488
1743
  },
1489
1744
  {
@@ -1498,7 +1753,7 @@
1498
1753
  "description": "Refresh remote model list before showing readiness (experimental).",
1499
1754
  "deprecated": false,
1500
1755
  "ui": {
1501
- "control": "toggle"
1756
+ "control": "text"
1502
1757
  }
1503
1758
  },
1504
1759
  {
@@ -1513,7 +1768,7 @@
1513
1768
  "description": "Show runtime metrics summary in TUI turn separators (experimental).",
1514
1769
  "deprecated": false,
1515
1770
  "ui": {
1516
- "control": "toggle"
1771
+ "control": "text"
1517
1772
  }
1518
1773
  },
1519
1774
  {
@@ -1528,7 +1783,7 @@
1528
1783
  "description": "Force PowerShell UTF-8 output (defaults to true).",
1529
1784
  "deprecated": false,
1530
1785
  "ui": {
1531
- "control": "toggle"
1786
+ "control": "text"
1532
1787
  }
1533
1788
  },
1534
1789
  {
@@ -1543,7 +1798,7 @@
1543
1798
  "description": "Append AGENTS.md scope/precedence guidance even when no AGENTS.md is present (experimental).",
1544
1799
  "deprecated": false,
1545
1800
  "ui": {
1546
- "control": "toggle"
1801
+ "control": "text"
1547
1802
  }
1548
1803
  },
1549
1804
  {
@@ -1557,7 +1812,7 @@
1557
1812
  "description": "Suppress the warning that appears when under-development feature flags are enabled.",
1558
1813
  "deprecated": false,
1559
1814
  "ui": {
1560
- "control": "toggle"
1815
+ "control": "text"
1561
1816
  }
1562
1817
  },
1563
1818
  {
@@ -1653,7 +1908,7 @@
1653
1908
  "description": "The provider uses OpenAI authentication (defaults to false).",
1654
1909
  "deprecated": false,
1655
1910
  "ui": {
1656
- "control": "toggle"
1911
+ "control": "text"
1657
1912
  }
1658
1913
  },
1659
1914
  {
@@ -1688,7 +1943,7 @@
1688
1943
  "description": "Extra query parameters appended to provider requests.",
1689
1944
  "deprecated": false,
1690
1945
  "ui": {
1691
- "control": "key-value"
1946
+ "control": "text"
1692
1947
  }
1693
1948
  },
1694
1949
  {
@@ -1704,7 +1959,7 @@
1704
1959
  "description": "Static HTTP headers added to provider requests.",
1705
1960
  "deprecated": false,
1706
1961
  "ui": {
1707
- "control": "key-value"
1962
+ "control": "text"
1708
1963
  }
1709
1964
  },
1710
1965
  {
@@ -1720,7 +1975,7 @@
1720
1975
  "description": "HTTP headers populated from environment variables when present.",
1721
1976
  "deprecated": false,
1722
1977
  "ui": {
1723
- "control": "key-value"
1978
+ "control": "text"
1724
1979
  }
1725
1980
  },
1726
1981
  {
@@ -1736,7 +1991,7 @@
1736
1991
  "description": "Retry count for HTTP requests to the provider (default: 4).",
1737
1992
  "deprecated": false,
1738
1993
  "ui": {
1739
- "control": "number"
1994
+ "control": "text"
1740
1995
  }
1741
1996
  },
1742
1997
  {
@@ -1752,7 +2007,7 @@
1752
2007
  "description": "Retry count for SSE streaming interruptions (default: 5).",
1753
2008
  "deprecated": false,
1754
2009
  "ui": {
1755
- "control": "number"
2010
+ "control": "text"
1756
2011
  }
1757
2012
  },
1758
2013
  {
@@ -1768,7 +2023,7 @@
1768
2023
  "description": "Idle timeout for SSE streams in milliseconds (default: 300000).",
1769
2024
  "deprecated": false,
1770
2025
  "ui": {
1771
- "control": "number"
2026
+ "control": "text"
1772
2027
  }
1773
2028
  },
1774
2029
  {
@@ -1839,7 +2094,7 @@
1839
2094
  "description": "Force Codex to send or not send reasoning metadata.",
1840
2095
  "deprecated": false,
1841
2096
  "ui": {
1842
- "control": "toggle"
2097
+ "control": "text"
1843
2098
  }
1844
2099
  },
1845
2100
  {
@@ -1873,7 +2128,7 @@
1873
2128
  "description": "Keep variables containing KEY/SECRET/TOKEN before other filters run.",
1874
2129
  "deprecated": false,
1875
2130
  "ui": {
1876
- "control": "toggle"
2131
+ "control": "text"
1877
2132
  }
1878
2133
  },
1879
2134
  {
@@ -1918,7 +2173,7 @@
1918
2173
  "description": "Explicit environment overrides injected into every subprocess.",
1919
2174
  "deprecated": false,
1920
2175
  "ui": {
1921
- "control": "key-value"
2176
+ "control": "text"
1922
2177
  }
1923
2178
  },
1924
2179
  {
@@ -1933,7 +2188,7 @@
1933
2188
  "description": "Use the user shell profile when spawning subprocesses.",
1934
2189
  "deprecated": false,
1935
2190
  "ui": {
1936
- "control": "toggle"
2191
+ "control": "text"
1937
2192
  }
1938
2193
  },
1939
2194
  {
@@ -1961,7 +2216,7 @@
1961
2216
  "description": "Maximum bytes read from `AGENTS.md` when building project instructions.",
1962
2217
  "deprecated": false,
1963
2218
  "ui": {
1964
- "control": "number"
2219
+ "control": "text"
1965
2220
  }
1966
2221
  },
1967
2222
  {
@@ -2001,11 +2256,13 @@
2001
2256
  ],
2002
2257
  "top_level": "profiles",
2003
2258
  "type": "various",
2004
- "enum_values": [],
2259
+ "enum_values": [
2260
+ "various"
2261
+ ],
2005
2262
  "description": "Profile-scoped overrides for any of the supported configuration keys.",
2006
2263
  "deprecated": false,
2007
2264
  "ui": {
2008
- "control": "text"
2265
+ "control": "select"
2009
2266
  }
2010
2267
  },
2011
2268
  {
@@ -2021,7 +2278,7 @@
2021
2278
  "description": "Legacy name for enabling freeform apply_patch; prefer `[features].apply_patch_freeform`.",
2022
2279
  "deprecated": false,
2023
2280
  "ui": {
2024
- "control": "toggle"
2281
+ "control": "text"
2025
2282
  }
2026
2283
  },
2027
2284
  {
@@ -2064,6 +2321,22 @@
2064
2321
  "control": "select"
2065
2322
  }
2066
2323
  },
2324
+ {
2325
+ "key": "profiles.<name>.model_catalog_json",
2326
+ "key_path": [
2327
+ "profiles",
2328
+ "<name>",
2329
+ "model_catalog_json"
2330
+ ],
2331
+ "top_level": "profiles",
2332
+ "type": "string (path)",
2333
+ "enum_values": [],
2334
+ "description": "Profile-scoped model catalog JSON path override (applied on startup only; overrides the top-level `model_catalog_json` for that profile).",
2335
+ "deprecated": false,
2336
+ "ui": {
2337
+ "control": "text"
2338
+ }
2339
+ },
2067
2340
  {
2068
2341
  "key": "profiles.<name>.experimental_use_unified_exec_tool",
2069
2342
  "key_path": [
@@ -2077,7 +2350,7 @@
2077
2350
  "description": "Legacy name for enabling unified exec; prefer `[features].unified_exec`.",
2078
2351
  "deprecated": false,
2079
2352
  "ui": {
2080
- "control": "toggle"
2353
+ "control": "text"
2081
2354
  }
2082
2355
  },
2083
2356
  {
@@ -2093,7 +2366,7 @@
2093
2366
  "description": "Legacy name for enabling freeform apply_patch; prefer `[features].apply_patch_freeform`.",
2094
2367
  "deprecated": false,
2095
2368
  "ui": {
2096
- "control": "toggle"
2369
+ "control": "text"
2097
2370
  }
2098
2371
  },
2099
2372
  {
@@ -2144,7 +2417,21 @@
2144
2417
  "description": "Token budget for storing individual tool/function outputs in history.",
2145
2418
  "deprecated": false,
2146
2419
  "ui": {
2147
- "control": "number"
2420
+ "control": "text"
2421
+ }
2422
+ },
2423
+ {
2424
+ "key": "background_terminal_max_timeout",
2425
+ "key_path": [
2426
+ "background_terminal_max_timeout"
2427
+ ],
2428
+ "top_level": "background_terminal_max_timeout",
2429
+ "type": "number",
2430
+ "enum_values": [],
2431
+ "description": "Maximum poll window in milliseconds for empty `write_stdin` polls (background terminal polling). Default: `300000` (5 minutes). Replaces the older `background_terminal_timeout` key.",
2432
+ "deprecated": false,
2433
+ "ui": {
2434
+ "control": "text"
2148
2435
  }
2149
2436
  },
2150
2437
  {
@@ -2159,7 +2446,7 @@
2159
2446
  "description": "If set, caps the history file size in bytes by dropping oldest entries.",
2160
2447
  "deprecated": false,
2161
2448
  "ui": {
2162
- "control": "number"
2449
+ "control": "text"
2163
2450
  }
2164
2451
  },
2165
2452
  {
@@ -2247,7 +2534,7 @@
2247
2534
  "description": "Opt in to exporting raw user prompts with OpenTelemetry logs.",
2248
2535
  "deprecated": false,
2249
2536
  "ui": {
2250
- "control": "toggle"
2537
+ "control": "text"
2251
2538
  }
2252
2539
  },
2253
2540
  {
@@ -2301,7 +2588,7 @@
2301
2588
  "description": "Static headers included with OTEL exporter requests.",
2302
2589
  "deprecated": false,
2303
2590
  "ui": {
2304
- "control": "key-value"
2591
+ "control": "text"
2305
2592
  }
2306
2593
  },
2307
2594
  {
@@ -2355,7 +2642,7 @@
2355
2642
  "description": "Static headers included with OTEL trace exporter requests.",
2356
2643
  "deprecated": false,
2357
2644
  "ui": {
2358
- "control": "key-value"
2645
+ "control": "text"
2359
2646
  }
2360
2647
  },
2361
2648
  {
@@ -2488,14 +2775,11 @@
2488
2775
  ],
2489
2776
  "top_level": "tui",
2490
2777
  "type": "boolean | array<string>",
2491
- "enum_values": [
2492
- "boolean",
2493
- "array<string>"
2494
- ],
2778
+ "enum_values": [],
2495
2779
  "description": "Enable TUI notifications; optionally restrict to specific event types.",
2496
2780
  "deprecated": false,
2497
2781
  "ui": {
2498
- "control": "select"
2782
+ "control": "text"
2499
2783
  }
2500
2784
  },
2501
2785
  {
@@ -2529,7 +2813,7 @@
2529
2813
  "description": "Enable terminal animations (welcome screen, shimmer, spinner) (default: true).",
2530
2814
  "deprecated": false,
2531
2815
  "ui": {
2532
- "control": "toggle"
2816
+ "control": "text"
2533
2817
  }
2534
2818
  },
2535
2819
  {
@@ -2563,7 +2847,7 @@
2563
2847
  "description": "Show onboarding tooltips in the TUI welcome screen (default: true).",
2564
2848
  "deprecated": false,
2565
2849
  "ui": {
2566
- "control": "toggle"
2850
+ "control": "text"
2567
2851
  }
2568
2852
  },
2569
2853
  {
@@ -2574,14 +2858,11 @@
2574
2858
  ],
2575
2859
  "top_level": "tui",
2576
2860
  "type": "array<string> | null",
2577
- "enum_values": [
2578
- "array<string>",
2579
- "null"
2580
- ],
2861
+ "enum_values": [],
2581
2862
  "description": "Ordered list of TUI footer status-line item identifiers. `null` disables the status line.",
2582
2863
  "deprecated": false,
2583
2864
  "ui": {
2584
- "control": "select"
2865
+ "control": "list"
2585
2866
  }
2586
2867
  },
2587
2868
  {
@@ -2595,7 +2876,7 @@
2595
2876
  "description": "Suppress reasoning events in both the TUI and `codex exec` output.",
2596
2877
  "deprecated": false,
2597
2878
  "ui": {
2598
- "control": "toggle"
2879
+ "control": "text"
2599
2880
  }
2600
2881
  },
2601
2882
  {
@@ -2608,2424 +2889,11 @@
2608
2889
  "enum_values": [],
2609
2890
  "description": "Surface raw reasoning content when the active model emits it.",
2610
2891
  "deprecated": false,
2611
- "ui": {
2612
- "control": "toggle"
2613
- }
2614
- },
2615
- {
2616
- "key": "disable_paste_burst",
2617
- "key_path": [
2618
- "disable_paste_burst"
2619
- ],
2620
- "top_level": "disable_paste_burst",
2621
- "type": "boolean",
2622
- "enum_values": [],
2623
- "description": "Disable burst-paste detection in the TUI.",
2624
- "deprecated": false,
2625
- "ui": {
2626
- "control": "toggle"
2627
- }
2628
- },
2629
- {
2630
- "key": "windows_wsl_setup_acknowledged",
2631
- "key_path": [
2632
- "windows_wsl_setup_acknowledged"
2633
- ],
2634
- "top_level": "windows_wsl_setup_acknowledged",
2635
- "type": "boolean",
2636
- "enum_values": [],
2637
- "description": "Track Windows onboarding acknowledgement (Windows only).",
2638
- "deprecated": false,
2639
- "ui": {
2640
- "control": "toggle"
2641
- }
2642
- },
2643
- {
2644
- "key": "chatgpt_base_url",
2645
- "key_path": [
2646
- "chatgpt_base_url"
2647
- ],
2648
- "top_level": "chatgpt_base_url",
2649
- "type": "string",
2650
- "enum_values": [],
2651
- "description": "Override the base URL used during the ChatGPT login flow.",
2652
- "deprecated": false,
2653
- "ui": {
2654
- "control": "text"
2655
- }
2656
- },
2657
- {
2658
- "key": "cli_auth_credentials_store",
2659
- "key_path": [
2660
- "cli_auth_credentials_store"
2661
- ],
2662
- "top_level": "cli_auth_credentials_store",
2663
- "type": "file | keyring | auto",
2664
- "enum_values": [
2665
- "file",
2666
- "keyring",
2667
- "auto"
2668
- ],
2669
- "description": "Control where the CLI stores cached credentials (file-based auth.json vs OS keychain).",
2670
- "deprecated": false,
2671
- "ui": {
2672
- "control": "select"
2673
- }
2674
- },
2675
- {
2676
- "key": "mcp_oauth_credentials_store",
2677
- "key_path": [
2678
- "mcp_oauth_credentials_store"
2679
- ],
2680
- "top_level": "mcp_oauth_credentials_store",
2681
- "type": "auto | file | keyring",
2682
- "enum_values": [
2683
- "auto",
2684
- "file",
2685
- "keyring"
2686
- ],
2687
- "description": "Preferred store for MCP OAuth credentials.",
2688
- "deprecated": false,
2689
- "ui": {
2690
- "control": "select"
2691
- }
2692
- },
2693
- {
2694
- "key": "mcp_oauth_callback_port",
2695
- "key_path": [
2696
- "mcp_oauth_callback_port"
2697
- ],
2698
- "top_level": "mcp_oauth_callback_port",
2699
- "type": "integer",
2700
- "enum_values": [],
2701
- "description": "Optional fixed port for the local HTTP callback server used during MCP OAuth login. When unset, Codex binds to an ephemeral port chosen by the OS.",
2702
- "deprecated": false,
2703
2892
  "ui": {
2704
2893
  "control": "text"
2705
2894
  }
2706
2895
  },
2707
2896
  {
2708
- "key": "experimental_use_unified_exec_tool",
2709
- "key_path": [
2710
- "experimental_use_unified_exec_tool"
2711
- ],
2712
- "top_level": "experimental_use_unified_exec_tool",
2713
- "type": "boolean",
2714
- "enum_values": [],
2715
- "description": "Legacy name for enabling unified exec; prefer `[features].unified_exec` or `codex --enable unified_exec`.",
2716
- "deprecated": false,
2717
- "ui": {
2718
- "control": "toggle"
2719
- }
2720
- },
2721
- {
2722
- "key": "experimental_use_freeform_apply_patch",
2723
- "key_path": [
2724
- "experimental_use_freeform_apply_patch"
2725
- ],
2726
- "top_level": "experimental_use_freeform_apply_patch",
2727
- "type": "boolean",
2728
- "enum_values": [],
2729
- "description": "Legacy name for enabling freeform apply_patch; prefer `[features].apply_patch_freeform` or `codex --enable apply_patch_freeform`.",
2730
- "deprecated": false,
2731
- "ui": {
2732
- "control": "toggle"
2733
- }
2734
- },
2735
- {
2736
- "key": "include_apply_patch_tool",
2737
- "key_path": [
2738
- "include_apply_patch_tool"
2739
- ],
2740
- "top_level": "include_apply_patch_tool",
2741
- "type": "boolean",
2742
- "enum_values": [],
2743
- "description": "Legacy name for enabling freeform apply_patch; prefer `[features].apply_patch_freeform`.",
2744
- "deprecated": false,
2745
- "ui": {
2746
- "control": "toggle"
2747
- }
2748
- },
2749
- {
2750
- "key": "tools.web_search",
2751
- "key_path": [
2752
- "tools",
2753
- "web_search"
2754
- ],
2755
- "top_level": "tools",
2756
- "type": "boolean",
2757
- "enum_values": [],
2758
- "description": "Deprecated legacy toggle for web search; prefer the top-level `web_search` setting.",
2759
- "deprecated": true,
2760
- "ui": {
2761
- "control": "toggle"
2762
- }
2763
- },
2764
- {
2765
- "key": "web_search",
2766
- "key_path": [
2767
- "web_search"
2768
- ],
2769
- "top_level": "web_search",
2770
- "type": "disabled | cached | live",
2771
- "enum_values": [
2772
- "disabled",
2773
- "cached",
2774
- "live"
2775
- ],
2776
- "description": "Web search mode (default: `\"cached\"`; cached uses an OpenAI-maintained index and does not fetch live pages; if you use `--yolo` or another full access sandbox setting, it defaults to `\"live\"`). Use `\"live\"` to fetch the most recent data from the web, or `\"disabled\"` to remove the tool.",
2777
- "deprecated": false,
2778
- "ui": {
2779
- "control": "select"
2780
- }
2781
- },
2782
- {
2783
- "key": "projects.<path>.trust_level",
2784
- "key_path": [
2785
- "projects",
2786
- "<path>",
2787
- "trust_level"
2788
- ],
2789
- "top_level": "projects",
2790
- "type": "trusted | untrusted",
2791
- "enum_values": [
2792
- "trusted",
2793
- "untrusted"
2794
- ],
2795
- "description": "Mark a project or worktree as trusted or untrusted (`\"trusted\"` | `\"untrusted\"`). Untrusted projects skip project-scoped `.codex/` layers.",
2796
- "deprecated": false,
2797
- "ui": {
2798
- "control": "select"
2799
- }
2800
- },
2801
- {
2802
- "key": "notice.hide_full_access_warning",
2803
- "key_path": [
2804
- "notice",
2805
- "hide_full_access_warning"
2806
- ],
2807
- "top_level": "notice",
2808
- "type": "boolean",
2809
- "enum_values": [],
2810
- "description": "Track acknowledgement of the full access warning prompt.",
2811
- "deprecated": false,
2812
- "ui": {
2813
- "control": "toggle"
2814
- }
2815
- },
2816
- {
2817
- "key": "notice.hide_world_writable_warning",
2818
- "key_path": [
2819
- "notice",
2820
- "hide_world_writable_warning"
2821
- ],
2822
- "top_level": "notice",
2823
- "type": "boolean",
2824
- "enum_values": [],
2825
- "description": "Track acknowledgement of the Windows world-writable directories warning.",
2826
- "deprecated": false,
2827
- "ui": {
2828
- "control": "toggle"
2829
- }
2830
- },
2831
- {
2832
- "key": "notice.hide_rate_limit_model_nudge",
2833
- "key_path": [
2834
- "notice",
2835
- "hide_rate_limit_model_nudge"
2836
- ],
2837
- "top_level": "notice",
2838
- "type": "boolean",
2839
- "enum_values": [],
2840
- "description": "Track opt-out of the rate limit model switch reminder.",
2841
- "deprecated": false,
2842
- "ui": {
2843
- "control": "toggle"
2844
- }
2845
- },
2846
- {
2847
- "key": "notice.hide_gpt5_1_migration_prompt",
2848
- "key_path": [
2849
- "notice",
2850
- "hide_gpt5_1_migration_prompt"
2851
- ],
2852
- "top_level": "notice",
2853
- "type": "boolean",
2854
- "enum_values": [],
2855
- "description": "Track acknowledgement of the GPT-5.1 migration prompt.",
2856
- "deprecated": false,
2857
- "ui": {
2858
- "control": "toggle"
2859
- }
2860
- },
2861
- {
2862
- "key": "notice.hide_gpt-5.1-codex-max_migration_prompt",
2863
- "key_path": [
2864
- "notice",
2865
- "hide_gpt-5",
2866
- "1-codex-max_migration_prompt"
2867
- ],
2868
- "top_level": "notice",
2869
- "type": "boolean",
2870
- "enum_values": [],
2871
- "description": "Track acknowledgement of the gpt-5.1-codex-max migration prompt.",
2872
- "deprecated": false,
2873
- "ui": {
2874
- "control": "toggle"
2875
- }
2876
- },
2877
- {
2878
- "key": "notice.model_migrations",
2879
- "key_path": [
2880
- "notice",
2881
- "model_migrations"
2882
- ],
2883
- "top_level": "notice",
2884
- "type": "map<string,string>",
2885
- "enum_values": [],
2886
- "description": "Track acknowledged model migrations as old->new mappings.",
2887
- "deprecated": false,
2888
- "ui": {
2889
- "control": "key-value"
2890
- }
2891
- },
2892
- {
2893
- "key": "forced_login_method",
2894
- "key_path": [
2895
- "forced_login_method"
2896
- ],
2897
- "top_level": "forced_login_method",
2898
- "type": "chatgpt | api",
2899
- "enum_values": [
2900
- "chatgpt",
2901
- "api"
2902
- ],
2903
- "description": "Restrict Codex to a specific authentication method.",
2904
- "deprecated": false,
2905
- "ui": {
2906
- "control": "select"
2907
- }
2908
- },
2909
- {
2910
- "key": "forced_chatgpt_workspace_id",
2911
- "key_path": [
2912
- "forced_chatgpt_workspace_id"
2913
- ],
2914
- "top_level": "forced_chatgpt_workspace_id",
2915
- "type": "string (uuid)",
2916
- "enum_values": [],
2917
- "description": "Limit ChatGPT logins to a specific workspace identifier.",
2918
- "deprecated": false,
2919
- "ui": {
2920
- "control": "text"
2921
- }
2922
- }
2923
- ],
2924
- "key_index": {
2925
- "model": {
2926
- "key": "model",
2927
- "key_path": [
2928
- "model"
2929
- ],
2930
- "top_level": "model",
2931
- "type": "string",
2932
- "enum_values": [
2933
- "gpt-5.3-codex",
2934
- "gpt-5.3-codex-spark",
2935
- "gpt-5.2-codex",
2936
- "gpt-5.1-codex-max",
2937
- "gpt-5.2",
2938
- "gpt-5.1-codex-mini"
2939
- ],
2940
- "description": "Model to use (e.g., `gpt-5-codex`).",
2941
- "deprecated": false,
2942
- "ui": {
2943
- "control": "select"
2944
- }
2945
- },
2946
- "review_model": {
2947
- "key": "review_model",
2948
- "key_path": [
2949
- "review_model"
2950
- ],
2951
- "top_level": "review_model",
2952
- "type": "string",
2953
- "enum_values": [],
2954
- "description": "Optional model override used by `/review` (defaults to the current session model).",
2955
- "deprecated": false,
2956
- "ui": {
2957
- "control": "text"
2958
- }
2959
- },
2960
- "model_provider": {
2961
- "key": "model_provider",
2962
- "key_path": [
2963
- "model_provider"
2964
- ],
2965
- "top_level": "model_provider",
2966
- "type": "string",
2967
- "enum_values": [],
2968
- "description": "Provider id from `model_providers` (default: `openai`).",
2969
- "deprecated": false,
2970
- "ui": {
2971
- "control": "text"
2972
- }
2973
- },
2974
- "model_context_window": {
2975
- "key": "model_context_window",
2976
- "key_path": [
2977
- "model_context_window"
2978
- ],
2979
- "top_level": "model_context_window",
2980
- "type": "number",
2981
- "enum_values": [],
2982
- "description": "Context window tokens available to the active model.",
2983
- "deprecated": false,
2984
- "ui": {
2985
- "control": "number"
2986
- }
2987
- },
2988
- "model_auto_compact_token_limit": {
2989
- "key": "model_auto_compact_token_limit",
2990
- "key_path": [
2991
- "model_auto_compact_token_limit"
2992
- ],
2993
- "top_level": "model_auto_compact_token_limit",
2994
- "type": "number",
2995
- "enum_values": [],
2996
- "description": "Token threshold that triggers automatic history compaction (unset uses model defaults).",
2997
- "deprecated": false,
2998
- "ui": {
2999
- "control": "number"
3000
- }
3001
- },
3002
- "oss_provider": {
3003
- "key": "oss_provider",
3004
- "key_path": [
3005
- "oss_provider"
3006
- ],
3007
- "top_level": "oss_provider",
3008
- "type": "lmstudio | ollama",
3009
- "enum_values": [
3010
- "lmstudio",
3011
- "ollama"
3012
- ],
3013
- "description": "Default local provider used when running with `--oss` (defaults to prompting if unset).",
3014
- "deprecated": false,
3015
- "ui": {
3016
- "control": "select"
3017
- }
3018
- },
3019
- "approval_policy": {
3020
- "key": "approval_policy",
3021
- "key_path": [
3022
- "approval_policy"
3023
- ],
3024
- "top_level": "approval_policy",
3025
- "type": "untrusted | on-request | never",
3026
- "enum_values": [
3027
- "untrusted",
3028
- "on-request",
3029
- "never"
3030
- ],
3031
- "description": "Controls when Codex pauses for approval before executing commands. `on-failure` is deprecated; use `on-request` for interactive runs or `never` for non-interactive runs.",
3032
- "deprecated": true,
3033
- "ui": {
3034
- "control": "select"
3035
- }
3036
- },
3037
- "sandbox_mode": {
3038
- "key": "sandbox_mode",
3039
- "key_path": [
3040
- "sandbox_mode"
3041
- ],
3042
- "top_level": "sandbox_mode",
3043
- "type": "read-only | workspace-write | danger-full-access",
3044
- "enum_values": [
3045
- "read-only",
3046
- "workspace-write",
3047
- "danger-full-access"
3048
- ],
3049
- "description": "Sandbox policy for filesystem and network access during command execution.",
3050
- "deprecated": false,
3051
- "ui": {
3052
- "control": "select"
3053
- }
3054
- },
3055
- "sandbox_workspace_write.writable_roots": {
3056
- "key": "sandbox_workspace_write.writable_roots",
3057
- "key_path": [
3058
- "sandbox_workspace_write",
3059
- "writable_roots"
3060
- ],
3061
- "top_level": "sandbox_workspace_write",
3062
- "type": "array<string>",
3063
- "enum_values": [],
3064
- "description": "Additional writable roots when `sandbox_mode = \"workspace-write\"`.",
3065
- "deprecated": false,
3066
- "ui": {
3067
- "control": "list"
3068
- }
3069
- },
3070
- "sandbox_workspace_write.network_access": {
3071
- "key": "sandbox_workspace_write.network_access",
3072
- "key_path": [
3073
- "sandbox_workspace_write",
3074
- "network_access"
3075
- ],
3076
- "top_level": "sandbox_workspace_write",
3077
- "type": "boolean",
3078
- "enum_values": [],
3079
- "description": "Allow outbound network access inside the workspace-write sandbox.",
3080
- "deprecated": false,
3081
- "ui": {
3082
- "control": "toggle"
3083
- }
3084
- },
3085
- "sandbox_workspace_write.exclude_tmpdir_env_var": {
3086
- "key": "sandbox_workspace_write.exclude_tmpdir_env_var",
3087
- "key_path": [
3088
- "sandbox_workspace_write",
3089
- "exclude_tmpdir_env_var"
3090
- ],
3091
- "top_level": "sandbox_workspace_write",
3092
- "type": "boolean",
3093
- "enum_values": [],
3094
- "description": "Exclude `$TMPDIR` from writable roots in workspace-write mode.",
3095
- "deprecated": false,
3096
- "ui": {
3097
- "control": "toggle"
3098
- }
3099
- },
3100
- "sandbox_workspace_write.exclude_slash_tmp": {
3101
- "key": "sandbox_workspace_write.exclude_slash_tmp",
3102
- "key_path": [
3103
- "sandbox_workspace_write",
3104
- "exclude_slash_tmp"
3105
- ],
3106
- "top_level": "sandbox_workspace_write",
3107
- "type": "boolean",
3108
- "enum_values": [],
3109
- "description": "Exclude `/tmp` from writable roots in workspace-write mode.",
3110
- "deprecated": false,
3111
- "ui": {
3112
- "control": "toggle"
3113
- }
3114
- },
3115
- "notify": {
3116
- "key": "notify",
3117
- "key_path": [
3118
- "notify"
3119
- ],
3120
- "top_level": "notify",
3121
- "type": "array<string>",
3122
- "enum_values": [],
3123
- "description": "Command invoked for notifications; receives a JSON payload from Codex.",
3124
- "deprecated": false,
3125
- "ui": {
3126
- "control": "list"
3127
- }
3128
- },
3129
- "check_for_update_on_startup": {
3130
- "key": "check_for_update_on_startup",
3131
- "key_path": [
3132
- "check_for_update_on_startup"
3133
- ],
3134
- "top_level": "check_for_update_on_startup",
3135
- "type": "boolean",
3136
- "enum_values": [],
3137
- "description": "Check for Codex updates on startup (set to false only when updates are centrally managed).",
3138
- "deprecated": false,
3139
- "ui": {
3140
- "control": "toggle"
3141
- }
3142
- },
3143
- "feedback.enabled": {
3144
- "key": "feedback.enabled",
3145
- "key_path": [
3146
- "feedback",
3147
- "enabled"
3148
- ],
3149
- "top_level": "feedback",
3150
- "type": "boolean",
3151
- "enum_values": [],
3152
- "description": "Enable feedback submission via `/feedback` across Codex surfaces (default: true).",
3153
- "deprecated": false,
3154
- "ui": {
3155
- "control": "toggle"
3156
- }
3157
- },
3158
- "instructions": {
3159
- "key": "instructions",
3160
- "key_path": [
3161
- "instructions"
3162
- ],
3163
- "top_level": "instructions",
3164
- "type": "string",
3165
- "enum_values": [],
3166
- "description": "Reserved for future use; prefer `model_instructions_file` or `AGENTS.md`.",
3167
- "deprecated": false,
3168
- "ui": {
3169
- "control": "text"
3170
- }
3171
- },
3172
- "developer_instructions": {
3173
- "key": "developer_instructions",
3174
- "key_path": [
3175
- "developer_instructions"
3176
- ],
3177
- "top_level": "developer_instructions",
3178
- "type": "string",
3179
- "enum_values": [],
3180
- "description": "Additional developer instructions injected into the session (optional).",
3181
- "deprecated": false,
3182
- "ui": {
3183
- "control": "text"
3184
- }
3185
- },
3186
- "log_dir": {
3187
- "key": "log_dir",
3188
- "key_path": [
3189
- "log_dir"
3190
- ],
3191
- "top_level": "log_dir",
3192
- "type": "string (path)",
3193
- "enum_values": [],
3194
- "description": "Directory where Codex writes log files (for example `codex-tui.log`); defaults to `$CODEX_HOME/log`.",
3195
- "deprecated": false,
3196
- "ui": {
3197
- "control": "path"
3198
- }
3199
- },
3200
- "compact_prompt": {
3201
- "key": "compact_prompt",
3202
- "key_path": [
3203
- "compact_prompt"
3204
- ],
3205
- "top_level": "compact_prompt",
3206
- "type": "string",
3207
- "enum_values": [],
3208
- "description": "Inline override for the history compaction prompt.",
3209
- "deprecated": false,
3210
- "ui": {
3211
- "control": "text"
3212
- }
3213
- },
3214
- "model_instructions_file": {
3215
- "key": "model_instructions_file",
3216
- "key_path": [
3217
- "model_instructions_file"
3218
- ],
3219
- "top_level": "model_instructions_file",
3220
- "type": "string (path)",
3221
- "enum_values": [],
3222
- "description": "Replacement for built-in instructions instead of `AGENTS.md`.",
3223
- "deprecated": false,
3224
- "ui": {
3225
- "control": "path"
3226
- }
3227
- },
3228
- "personality": {
3229
- "key": "personality",
3230
- "key_path": [
3231
- "personality"
3232
- ],
3233
- "top_level": "personality",
3234
- "type": "none | friendly | pragmatic",
3235
- "enum_values": [
3236
- "none",
3237
- "friendly",
3238
- "pragmatic"
3239
- ],
3240
- "description": "Default communication style for models that advertise `supportsPersonality`; can be overridden per thread/turn or via `/personality`.",
3241
- "deprecated": false,
3242
- "ui": {
3243
- "control": "select"
3244
- }
3245
- },
3246
- "experimental_compact_prompt_file": {
3247
- "key": "experimental_compact_prompt_file",
3248
- "key_path": [
3249
- "experimental_compact_prompt_file"
3250
- ],
3251
- "top_level": "experimental_compact_prompt_file",
3252
- "type": "string (path)",
3253
- "enum_values": [],
3254
- "description": "Load the compaction prompt override from a file (experimental).",
3255
- "deprecated": false,
3256
- "ui": {
3257
- "control": "path"
3258
- }
3259
- },
3260
- "skills.config": {
3261
- "key": "skills.config",
3262
- "key_path": [
3263
- "skills",
3264
- "config"
3265
- ],
3266
- "top_level": "skills",
3267
- "type": "array<object>",
3268
- "enum_values": [],
3269
- "description": "Per-skill enablement overrides stored in config.toml.",
3270
- "deprecated": false,
3271
- "ui": {
3272
- "control": "list"
3273
- }
3274
- },
3275
- "skills.config.<index>.path": {
3276
- "key": "skills.config.<index>.path",
3277
- "key_path": [
3278
- "skills",
3279
- "config",
3280
- "<index>",
3281
- "path"
3282
- ],
3283
- "top_level": "skills",
3284
- "type": "string (path)",
3285
- "enum_values": [],
3286
- "description": "Path to a skill folder containing `SKILL.md`.",
3287
- "deprecated": false,
3288
- "ui": {
3289
- "control": "path"
3290
- }
3291
- },
3292
- "skills.config.<index>.enabled": {
3293
- "key": "skills.config.<index>.enabled",
3294
- "key_path": [
3295
- "skills",
3296
- "config",
3297
- "<index>",
3298
- "enabled"
3299
- ],
3300
- "top_level": "skills",
3301
- "type": "boolean",
3302
- "enum_values": [],
3303
- "description": "Enable or disable the referenced skill.",
3304
- "deprecated": false,
3305
- "ui": {
3306
- "control": "toggle"
3307
- }
3308
- },
3309
- "apps.<id>.enabled": {
3310
- "key": "apps.<id>.enabled",
3311
- "key_path": [
3312
- "apps",
3313
- "<id>",
3314
- "enabled"
3315
- ],
3316
- "top_level": "apps",
3317
- "type": "boolean",
3318
- "enum_values": [],
3319
- "description": "Enable or disable a specific app/connector by id (default: true).",
3320
- "deprecated": false,
3321
- "ui": {
3322
- "control": "toggle"
3323
- }
3324
- },
3325
- "apps.<id>.disabled_reason": {
3326
- "key": "apps.<id>.disabled_reason",
3327
- "key_path": [
3328
- "apps",
3329
- "<id>",
3330
- "disabled_reason"
3331
- ],
3332
- "top_level": "apps",
3333
- "type": "unknown | user",
3334
- "enum_values": [
3335
- "unknown",
3336
- "user"
3337
- ],
3338
- "description": "Optional reason attached when an app/connector is disabled.",
3339
- "deprecated": false,
3340
- "ui": {
3341
- "control": "select"
3342
- }
3343
- },
3344
- "features.apps": {
3345
- "key": "features.apps",
3346
- "key_path": [
3347
- "features",
3348
- "apps"
3349
- ],
3350
- "top_level": "features",
3351
- "type": "boolean",
3352
- "enum_values": [],
3353
- "description": "Enable ChatGPT Apps/connectors support (experimental).",
3354
- "deprecated": false,
3355
- "ui": {
3356
- "control": "toggle"
3357
- }
3358
- },
3359
- "features.apps_mcp_gateway": {
3360
- "key": "features.apps_mcp_gateway",
3361
- "key_path": [
3362
- "features",
3363
- "apps_mcp_gateway"
3364
- ],
3365
- "top_level": "features",
3366
- "type": "boolean",
3367
- "enum_values": [],
3368
- "description": "Route Apps MCP calls through the OpenAI connectors MCP gateway (`https://api.openai.com/v1/connectors/mcp/`) instead of legacy routing (experimental).",
3369
- "deprecated": false,
3370
- "ui": {
3371
- "control": "toggle"
3372
- }
3373
- },
3374
- "mcp_servers.<id>.command": {
3375
- "key": "mcp_servers.<id>.command",
3376
- "key_path": [
3377
- "mcp_servers",
3378
- "<id>",
3379
- "command"
3380
- ],
3381
- "top_level": "mcp_servers",
3382
- "type": "string",
3383
- "enum_values": [],
3384
- "description": "Launcher command for an MCP stdio server.",
3385
- "deprecated": false,
3386
- "ui": {
3387
- "control": "text"
3388
- }
3389
- },
3390
- "mcp_servers.<id>.args": {
3391
- "key": "mcp_servers.<id>.args",
3392
- "key_path": [
3393
- "mcp_servers",
3394
- "<id>",
3395
- "args"
3396
- ],
3397
- "top_level": "mcp_servers",
3398
- "type": "array<string>",
3399
- "enum_values": [],
3400
- "description": "Arguments passed to the MCP stdio server command.",
3401
- "deprecated": false,
3402
- "ui": {
3403
- "control": "list"
3404
- }
3405
- },
3406
- "mcp_servers.<id>.env": {
3407
- "key": "mcp_servers.<id>.env",
3408
- "key_path": [
3409
- "mcp_servers",
3410
- "<id>",
3411
- "env"
3412
- ],
3413
- "top_level": "mcp_servers",
3414
- "type": "map<string,string>",
3415
- "enum_values": [],
3416
- "description": "Environment variables forwarded to the MCP stdio server.",
3417
- "deprecated": false,
3418
- "ui": {
3419
- "control": "key-value"
3420
- }
3421
- },
3422
- "mcp_servers.<id>.env_vars": {
3423
- "key": "mcp_servers.<id>.env_vars",
3424
- "key_path": [
3425
- "mcp_servers",
3426
- "<id>",
3427
- "env_vars"
3428
- ],
3429
- "top_level": "mcp_servers",
3430
- "type": "array<string>",
3431
- "enum_values": [],
3432
- "description": "Additional environment variables to whitelist for an MCP stdio server.",
3433
- "deprecated": false,
3434
- "ui": {
3435
- "control": "list"
3436
- }
3437
- },
3438
- "mcp_servers.<id>.cwd": {
3439
- "key": "mcp_servers.<id>.cwd",
3440
- "key_path": [
3441
- "mcp_servers",
3442
- "<id>",
3443
- "cwd"
3444
- ],
3445
- "top_level": "mcp_servers",
3446
- "type": "string",
3447
- "enum_values": [],
3448
- "description": "Working directory for the MCP stdio server process.",
3449
- "deprecated": false,
3450
- "ui": {
3451
- "control": "text"
3452
- }
3453
- },
3454
- "mcp_servers.<id>.url": {
3455
- "key": "mcp_servers.<id>.url",
3456
- "key_path": [
3457
- "mcp_servers",
3458
- "<id>",
3459
- "url"
3460
- ],
3461
- "top_level": "mcp_servers",
3462
- "type": "string",
3463
- "enum_values": [],
3464
- "description": "Endpoint for an MCP streamable HTTP server.",
3465
- "deprecated": false,
3466
- "ui": {
3467
- "control": "text"
3468
- }
3469
- },
3470
- "mcp_servers.<id>.bearer_token_env_var": {
3471
- "key": "mcp_servers.<id>.bearer_token_env_var",
3472
- "key_path": [
3473
- "mcp_servers",
3474
- "<id>",
3475
- "bearer_token_env_var"
3476
- ],
3477
- "top_level": "mcp_servers",
3478
- "type": "string",
3479
- "enum_values": [],
3480
- "description": "Environment variable sourcing the bearer token for an MCP HTTP server.",
3481
- "deprecated": false,
3482
- "ui": {
3483
- "control": "text"
3484
- }
3485
- },
3486
- "mcp_servers.<id>.http_headers": {
3487
- "key": "mcp_servers.<id>.http_headers",
3488
- "key_path": [
3489
- "mcp_servers",
3490
- "<id>",
3491
- "http_headers"
3492
- ],
3493
- "top_level": "mcp_servers",
3494
- "type": "map<string,string>",
3495
- "enum_values": [],
3496
- "description": "Static HTTP headers included with each MCP HTTP request.",
3497
- "deprecated": false,
3498
- "ui": {
3499
- "control": "key-value"
3500
- }
3501
- },
3502
- "mcp_servers.<id>.env_http_headers": {
3503
- "key": "mcp_servers.<id>.env_http_headers",
3504
- "key_path": [
3505
- "mcp_servers",
3506
- "<id>",
3507
- "env_http_headers"
3508
- ],
3509
- "top_level": "mcp_servers",
3510
- "type": "map<string,string>",
3511
- "enum_values": [],
3512
- "description": "HTTP headers populated from environment variables for an MCP HTTP server.",
3513
- "deprecated": false,
3514
- "ui": {
3515
- "control": "key-value"
3516
- }
3517
- },
3518
- "mcp_servers.<id>.enabled": {
3519
- "key": "mcp_servers.<id>.enabled",
3520
- "key_path": [
3521
- "mcp_servers",
3522
- "<id>",
3523
- "enabled"
3524
- ],
3525
- "top_level": "mcp_servers",
3526
- "type": "boolean",
3527
- "enum_values": [],
3528
- "description": "Disable an MCP server without removing its configuration.",
3529
- "deprecated": false,
3530
- "ui": {
3531
- "control": "toggle"
3532
- }
3533
- },
3534
- "mcp_servers.<id>.required": {
3535
- "key": "mcp_servers.<id>.required",
3536
- "key_path": [
3537
- "mcp_servers",
3538
- "<id>",
3539
- "required"
3540
- ],
3541
- "top_level": "mcp_servers",
3542
- "type": "boolean",
3543
- "enum_values": [],
3544
- "description": "When true, fail startup/resume if this enabled MCP server cannot initialize.",
3545
- "deprecated": false,
3546
- "ui": {
3547
- "control": "toggle"
3548
- }
3549
- },
3550
- "mcp_servers.<id>.startup_timeout_sec": {
3551
- "key": "mcp_servers.<id>.startup_timeout_sec",
3552
- "key_path": [
3553
- "mcp_servers",
3554
- "<id>",
3555
- "startup_timeout_sec"
3556
- ],
3557
- "top_level": "mcp_servers",
3558
- "type": "number",
3559
- "enum_values": [],
3560
- "description": "Override the default 10s startup timeout for an MCP server.",
3561
- "deprecated": false,
3562
- "ui": {
3563
- "control": "number"
3564
- }
3565
- },
3566
- "mcp_servers.<id>.startup_timeout_ms": {
3567
- "key": "mcp_servers.<id>.startup_timeout_ms",
3568
- "key_path": [
3569
- "mcp_servers",
3570
- "<id>",
3571
- "startup_timeout_ms"
3572
- ],
3573
- "top_level": "mcp_servers",
3574
- "type": "number",
3575
- "enum_values": [],
3576
- "description": "Alias for `startup_timeout_sec` in milliseconds.",
3577
- "deprecated": false,
3578
- "ui": {
3579
- "control": "number"
3580
- }
3581
- },
3582
- "mcp_servers.<id>.tool_timeout_sec": {
3583
- "key": "mcp_servers.<id>.tool_timeout_sec",
3584
- "key_path": [
3585
- "mcp_servers",
3586
- "<id>",
3587
- "tool_timeout_sec"
3588
- ],
3589
- "top_level": "mcp_servers",
3590
- "type": "number",
3591
- "enum_values": [],
3592
- "description": "Override the default 60s per-tool timeout for an MCP server.",
3593
- "deprecated": false,
3594
- "ui": {
3595
- "control": "number"
3596
- }
3597
- },
3598
- "mcp_servers.<id>.enabled_tools": {
3599
- "key": "mcp_servers.<id>.enabled_tools",
3600
- "key_path": [
3601
- "mcp_servers",
3602
- "<id>",
3603
- "enabled_tools"
3604
- ],
3605
- "top_level": "mcp_servers",
3606
- "type": "array<string>",
3607
- "enum_values": [],
3608
- "description": "Allow list of tool names exposed by the MCP server.",
3609
- "deprecated": false,
3610
- "ui": {
3611
- "control": "list"
3612
- }
3613
- },
3614
- "mcp_servers.<id>.disabled_tools": {
3615
- "key": "mcp_servers.<id>.disabled_tools",
3616
- "key_path": [
3617
- "mcp_servers",
3618
- "<id>",
3619
- "disabled_tools"
3620
- ],
3621
- "top_level": "mcp_servers",
3622
- "type": "array<string>",
3623
- "enum_values": [],
3624
- "description": "Deny list applied after `enabled_tools` for the MCP server.",
3625
- "deprecated": false,
3626
- "ui": {
3627
- "control": "list"
3628
- }
3629
- },
3630
- "agents.max_threads": {
3631
- "key": "agents.max_threads",
3632
- "key_path": [
3633
- "agents",
3634
- "max_threads"
3635
- ],
3636
- "top_level": "agents",
3637
- "type": "number",
3638
- "enum_values": [],
3639
- "description": "Maximum number of agent threads that can be open concurrently.",
3640
- "deprecated": false,
3641
- "ui": {
3642
- "control": "number"
3643
- }
3644
- },
3645
- "agents.<name>.description": {
3646
- "key": "agents.<name>.description",
3647
- "key_path": [
3648
- "agents",
3649
- "<name>",
3650
- "description"
3651
- ],
3652
- "top_level": "agents",
3653
- "type": "string",
3654
- "enum_values": [],
3655
- "description": "Role guidance shown to Codex when choosing and spawning that agent type.",
3656
- "deprecated": false,
3657
- "ui": {
3658
- "control": "text"
3659
- }
3660
- },
3661
- "agents.<name>.config_file": {
3662
- "key": "agents.<name>.config_file",
3663
- "key_path": [
3664
- "agents",
3665
- "<name>",
3666
- "config_file"
3667
- ],
3668
- "top_level": "agents",
3669
- "type": "string (path)",
3670
- "enum_values": [],
3671
- "description": "Path to a TOML config layer for that role; relative paths resolve from the config file that declares the role.",
3672
- "deprecated": false,
3673
- "ui": {
3674
- "control": "path"
3675
- }
3676
- },
3677
- "features.unified_exec": {
3678
- "key": "features.unified_exec",
3679
- "key_path": [
3680
- "features",
3681
- "unified_exec"
3682
- ],
3683
- "top_level": "features",
3684
- "type": "boolean",
3685
- "enum_values": [],
3686
- "description": "Use the unified PTY-backed exec tool (beta).",
3687
- "deprecated": false,
3688
- "ui": {
3689
- "control": "toggle"
3690
- }
3691
- },
3692
- "features.shell_snapshot": {
3693
- "key": "features.shell_snapshot",
3694
- "key_path": [
3695
- "features",
3696
- "shell_snapshot"
3697
- ],
3698
- "top_level": "features",
3699
- "type": "boolean",
3700
- "enum_values": [],
3701
- "description": "Snapshot shell environment to speed up repeated commands (beta).",
3702
- "deprecated": false,
3703
- "ui": {
3704
- "control": "toggle"
3705
- }
3706
- },
3707
- "features.apply_patch_freeform": {
3708
- "key": "features.apply_patch_freeform",
3709
- "key_path": [
3710
- "features",
3711
- "apply_patch_freeform"
3712
- ],
3713
- "top_level": "features",
3714
- "type": "boolean",
3715
- "enum_values": [],
3716
- "description": "Expose the freeform `apply_patch` tool (experimental).",
3717
- "deprecated": false,
3718
- "ui": {
3719
- "control": "toggle"
3720
- }
3721
- },
3722
- "features.multi_agent": {
3723
- "key": "features.multi_agent",
3724
- "key_path": [
3725
- "features",
3726
- "multi_agent"
3727
- ],
3728
- "top_level": "features",
3729
- "type": "boolean",
3730
- "enum_values": [],
3731
- "description": "Enable multi-agent collaboration tools (`spawn_agent`, `send_input`, `resume_agent`, `wait`, and `close_agent`) (experimental; off by default).",
3732
- "deprecated": false,
3733
- "ui": {
3734
- "control": "toggle"
3735
- }
3736
- },
3737
- "features.personality": {
3738
- "key": "features.personality",
3739
- "key_path": [
3740
- "features",
3741
- "personality"
3742
- ],
3743
- "top_level": "features",
3744
- "type": "boolean",
3745
- "enum_values": [],
3746
- "description": "Enable personality selection controls (stable; on by default).",
3747
- "deprecated": false,
3748
- "ui": {
3749
- "control": "toggle"
3750
- }
3751
- },
3752
- "features.web_search": {
3753
- "key": "features.web_search",
3754
- "key_path": [
3755
- "features",
3756
- "web_search"
3757
- ],
3758
- "top_level": "features",
3759
- "type": "boolean",
3760
- "enum_values": [],
3761
- "description": "Deprecated legacy toggle; prefer the top-level `web_search` setting.",
3762
- "deprecated": true,
3763
- "ui": {
3764
- "control": "toggle"
3765
- }
3766
- },
3767
- "features.web_search_cached": {
3768
- "key": "features.web_search_cached",
3769
- "key_path": [
3770
- "features",
3771
- "web_search_cached"
3772
- ],
3773
- "top_level": "features",
3774
- "type": "boolean",
3775
- "enum_values": [],
3776
- "description": "Deprecated legacy toggle. When `web_search` is unset, true maps to `web_search = \"cached\"`.",
3777
- "deprecated": true,
3778
- "ui": {
3779
- "control": "toggle"
3780
- }
3781
- },
3782
- "features.web_search_request": {
3783
- "key": "features.web_search_request",
3784
- "key_path": [
3785
- "features",
3786
- "web_search_request"
3787
- ],
3788
- "top_level": "features",
3789
- "type": "boolean",
3790
- "enum_values": [],
3791
- "description": "Deprecated legacy toggle. When `web_search` is unset, true maps to `web_search = \"live\"`.",
3792
- "deprecated": true,
3793
- "ui": {
3794
- "control": "toggle"
3795
- }
3796
- },
3797
- "features.shell_tool": {
3798
- "key": "features.shell_tool",
3799
- "key_path": [
3800
- "features",
3801
- "shell_tool"
3802
- ],
3803
- "top_level": "features",
3804
- "type": "boolean",
3805
- "enum_values": [],
3806
- "description": "Enable the default `shell` tool for running commands (stable; on by default).",
3807
- "deprecated": false,
3808
- "ui": {
3809
- "control": "toggle"
3810
- }
3811
- },
3812
- "features.request_rule": {
3813
- "key": "features.request_rule",
3814
- "key_path": [
3815
- "features",
3816
- "request_rule"
3817
- ],
3818
- "top_level": "features",
3819
- "type": "boolean",
3820
- "enum_values": [],
3821
- "description": "Enable Smart approvals (`prefix_rule` suggestions on escalation requests; stable; on by default).",
3822
- "deprecated": false,
3823
- "ui": {
3824
- "control": "toggle"
3825
- }
3826
- },
3827
- "features.search_tool": {
3828
- "key": "features.search_tool",
3829
- "key_path": [
3830
- "features",
3831
- "search_tool"
3832
- ],
3833
- "top_level": "features",
3834
- "type": "boolean",
3835
- "enum_values": [],
3836
- "description": "Enable `search_tool_bm25` for Apps tool discovery before invoking app MCP tools (experimental).",
3837
- "deprecated": false,
3838
- "ui": {
3839
- "control": "toggle"
3840
- }
3841
- },
3842
- "features.collaboration_modes": {
3843
- "key": "features.collaboration_modes",
3844
- "key_path": [
3845
- "features",
3846
- "collaboration_modes"
3847
- ],
3848
- "top_level": "features",
3849
- "type": "boolean",
3850
- "enum_values": [],
3851
- "description": "Enable collaboration modes such as plan mode (stable; on by default).",
3852
- "deprecated": false,
3853
- "ui": {
3854
- "control": "toggle"
3855
- }
3856
- },
3857
- "features.use_linux_sandbox_bwrap": {
3858
- "key": "features.use_linux_sandbox_bwrap",
3859
- "key_path": [
3860
- "features",
3861
- "use_linux_sandbox_bwrap"
3862
- ],
3863
- "top_level": "features",
3864
- "type": "boolean",
3865
- "enum_values": [],
3866
- "description": "Use the bubblewrap-based Linux sandbox pipeline (experimental; off by default).",
3867
- "deprecated": false,
3868
- "ui": {
3869
- "control": "toggle"
3870
- }
3871
- },
3872
- "features.experimental_windows_sandbox": {
3873
- "key": "features.experimental_windows_sandbox",
3874
- "key_path": [
3875
- "features",
3876
- "experimental_windows_sandbox"
3877
- ],
3878
- "top_level": "features",
3879
- "type": "boolean",
3880
- "enum_values": [],
3881
- "description": "Run the Windows restricted-token sandbox (experimental).",
3882
- "deprecated": false,
3883
- "ui": {
3884
- "control": "toggle"
3885
- }
3886
- },
3887
- "features.elevated_windows_sandbox": {
3888
- "key": "features.elevated_windows_sandbox",
3889
- "key_path": [
3890
- "features",
3891
- "elevated_windows_sandbox"
3892
- ],
3893
- "top_level": "features",
3894
- "type": "boolean",
3895
- "enum_values": [],
3896
- "description": "Enable the elevated Windows sandbox pipeline (experimental).",
3897
- "deprecated": false,
3898
- "ui": {
3899
- "control": "toggle"
3900
- }
3901
- },
3902
- "features.remote_models": {
3903
- "key": "features.remote_models",
3904
- "key_path": [
3905
- "features",
3906
- "remote_models"
3907
- ],
3908
- "top_level": "features",
3909
- "type": "boolean",
3910
- "enum_values": [],
3911
- "description": "Refresh remote model list before showing readiness (experimental).",
3912
- "deprecated": false,
3913
- "ui": {
3914
- "control": "toggle"
3915
- }
3916
- },
3917
- "features.runtime_metrics": {
3918
- "key": "features.runtime_metrics",
3919
- "key_path": [
3920
- "features",
3921
- "runtime_metrics"
3922
- ],
3923
- "top_level": "features",
3924
- "type": "boolean",
3925
- "enum_values": [],
3926
- "description": "Show runtime metrics summary in TUI turn separators (experimental).",
3927
- "deprecated": false,
3928
- "ui": {
3929
- "control": "toggle"
3930
- }
3931
- },
3932
- "features.powershell_utf8": {
3933
- "key": "features.powershell_utf8",
3934
- "key_path": [
3935
- "features",
3936
- "powershell_utf8"
3937
- ],
3938
- "top_level": "features",
3939
- "type": "boolean",
3940
- "enum_values": [],
3941
- "description": "Force PowerShell UTF-8 output (defaults to true).",
3942
- "deprecated": false,
3943
- "ui": {
3944
- "control": "toggle"
3945
- }
3946
- },
3947
- "features.child_agents_md": {
3948
- "key": "features.child_agents_md",
3949
- "key_path": [
3950
- "features",
3951
- "child_agents_md"
3952
- ],
3953
- "top_level": "features",
3954
- "type": "boolean",
3955
- "enum_values": [],
3956
- "description": "Append AGENTS.md scope/precedence guidance even when no AGENTS.md is present (experimental).",
3957
- "deprecated": false,
3958
- "ui": {
3959
- "control": "toggle"
3960
- }
3961
- },
3962
- "suppress_unstable_features_warning": {
3963
- "key": "suppress_unstable_features_warning",
3964
- "key_path": [
3965
- "suppress_unstable_features_warning"
3966
- ],
3967
- "top_level": "suppress_unstable_features_warning",
3968
- "type": "boolean",
3969
- "enum_values": [],
3970
- "description": "Suppress the warning that appears when under-development feature flags are enabled.",
3971
- "deprecated": false,
3972
- "ui": {
3973
- "control": "toggle"
3974
- }
3975
- },
3976
- "model_providers.<id>.name": {
3977
- "key": "model_providers.<id>.name",
3978
- "key_path": [
3979
- "model_providers",
3980
- "<id>",
3981
- "name"
3982
- ],
3983
- "top_level": "model_providers",
3984
- "type": "string",
3985
- "enum_values": [],
3986
- "description": "Display name for a custom model provider.",
3987
- "deprecated": false,
3988
- "ui": {
3989
- "control": "text"
3990
- }
3991
- },
3992
- "model_providers.<id>.base_url": {
3993
- "key": "model_providers.<id>.base_url",
3994
- "key_path": [
3995
- "model_providers",
3996
- "<id>",
3997
- "base_url"
3998
- ],
3999
- "top_level": "model_providers",
4000
- "type": "string",
4001
- "enum_values": [],
4002
- "description": "API base URL for the model provider.",
4003
- "deprecated": false,
4004
- "ui": {
4005
- "control": "text"
4006
- }
4007
- },
4008
- "model_providers.<id>.env_key": {
4009
- "key": "model_providers.<id>.env_key",
4010
- "key_path": [
4011
- "model_providers",
4012
- "<id>",
4013
- "env_key"
4014
- ],
4015
- "top_level": "model_providers",
4016
- "type": "string",
4017
- "enum_values": [],
4018
- "description": "Environment variable supplying the provider API key.",
4019
- "deprecated": false,
4020
- "ui": {
4021
- "control": "text"
4022
- }
4023
- },
4024
- "model_providers.<id>.env_key_instructions": {
4025
- "key": "model_providers.<id>.env_key_instructions",
4026
- "key_path": [
4027
- "model_providers",
4028
- "<id>",
4029
- "env_key_instructions"
4030
- ],
4031
- "top_level": "model_providers",
4032
- "type": "string",
4033
- "enum_values": [],
4034
- "description": "Optional setup guidance for the provider API key.",
4035
- "deprecated": false,
4036
- "ui": {
4037
- "control": "text"
4038
- }
4039
- },
4040
- "model_providers.<id>.experimental_bearer_token": {
4041
- "key": "model_providers.<id>.experimental_bearer_token",
4042
- "key_path": [
4043
- "model_providers",
4044
- "<id>",
4045
- "experimental_bearer_token"
4046
- ],
4047
- "top_level": "model_providers",
4048
- "type": "string",
4049
- "enum_values": [],
4050
- "description": "Direct bearer token for the provider (discouraged; use `env_key`).",
4051
- "deprecated": false,
4052
- "ui": {
4053
- "control": "text"
4054
- }
4055
- },
4056
- "model_providers.<id>.requires_openai_auth": {
4057
- "key": "model_providers.<id>.requires_openai_auth",
4058
- "key_path": [
4059
- "model_providers",
4060
- "<id>",
4061
- "requires_openai_auth"
4062
- ],
4063
- "top_level": "model_providers",
4064
- "type": "boolean",
4065
- "enum_values": [],
4066
- "description": "The provider uses OpenAI authentication (defaults to false).",
4067
- "deprecated": false,
4068
- "ui": {
4069
- "control": "toggle"
4070
- }
4071
- },
4072
- "model_providers.<id>.wire_api": {
4073
- "key": "model_providers.<id>.wire_api",
4074
- "key_path": [
4075
- "model_providers",
4076
- "<id>",
4077
- "wire_api"
4078
- ],
4079
- "top_level": "model_providers",
4080
- "type": "chat | responses",
4081
- "enum_values": [
4082
- "chat",
4083
- "responses"
4084
- ],
4085
- "description": "Protocol used by the provider (defaults to `chat` if omitted).",
4086
- "deprecated": false,
4087
- "ui": {
4088
- "control": "select"
4089
- }
4090
- },
4091
- "model_providers.<id>.query_params": {
4092
- "key": "model_providers.<id>.query_params",
4093
- "key_path": [
4094
- "model_providers",
4095
- "<id>",
4096
- "query_params"
4097
- ],
4098
- "top_level": "model_providers",
4099
- "type": "map<string,string>",
4100
- "enum_values": [],
4101
- "description": "Extra query parameters appended to provider requests.",
4102
- "deprecated": false,
4103
- "ui": {
4104
- "control": "key-value"
4105
- }
4106
- },
4107
- "model_providers.<id>.http_headers": {
4108
- "key": "model_providers.<id>.http_headers",
4109
- "key_path": [
4110
- "model_providers",
4111
- "<id>",
4112
- "http_headers"
4113
- ],
4114
- "top_level": "model_providers",
4115
- "type": "map<string,string>",
4116
- "enum_values": [],
4117
- "description": "Static HTTP headers added to provider requests.",
4118
- "deprecated": false,
4119
- "ui": {
4120
- "control": "key-value"
4121
- }
4122
- },
4123
- "model_providers.<id>.env_http_headers": {
4124
- "key": "model_providers.<id>.env_http_headers",
4125
- "key_path": [
4126
- "model_providers",
4127
- "<id>",
4128
- "env_http_headers"
4129
- ],
4130
- "top_level": "model_providers",
4131
- "type": "map<string,string>",
4132
- "enum_values": [],
4133
- "description": "HTTP headers populated from environment variables when present.",
4134
- "deprecated": false,
4135
- "ui": {
4136
- "control": "key-value"
4137
- }
4138
- },
4139
- "model_providers.<id>.request_max_retries": {
4140
- "key": "model_providers.<id>.request_max_retries",
4141
- "key_path": [
4142
- "model_providers",
4143
- "<id>",
4144
- "request_max_retries"
4145
- ],
4146
- "top_level": "model_providers",
4147
- "type": "number",
4148
- "enum_values": [],
4149
- "description": "Retry count for HTTP requests to the provider (default: 4).",
4150
- "deprecated": false,
4151
- "ui": {
4152
- "control": "number"
4153
- }
4154
- },
4155
- "model_providers.<id>.stream_max_retries": {
4156
- "key": "model_providers.<id>.stream_max_retries",
4157
- "key_path": [
4158
- "model_providers",
4159
- "<id>",
4160
- "stream_max_retries"
4161
- ],
4162
- "top_level": "model_providers",
4163
- "type": "number",
4164
- "enum_values": [],
4165
- "description": "Retry count for SSE streaming interruptions (default: 5).",
4166
- "deprecated": false,
4167
- "ui": {
4168
- "control": "number"
4169
- }
4170
- },
4171
- "model_providers.<id>.stream_idle_timeout_ms": {
4172
- "key": "model_providers.<id>.stream_idle_timeout_ms",
4173
- "key_path": [
4174
- "model_providers",
4175
- "<id>",
4176
- "stream_idle_timeout_ms"
4177
- ],
4178
- "top_level": "model_providers",
4179
- "type": "number",
4180
- "enum_values": [],
4181
- "description": "Idle timeout for SSE streams in milliseconds (default: 300000).",
4182
- "deprecated": false,
4183
- "ui": {
4184
- "control": "number"
4185
- }
4186
- },
4187
- "model_reasoning_effort": {
4188
- "key": "model_reasoning_effort",
4189
- "key_path": [
4190
- "model_reasoning_effort"
4191
- ],
4192
- "top_level": "model_reasoning_effort",
4193
- "type": "minimal | low | medium | high | xhigh",
4194
- "enum_values": [
4195
- "minimal",
4196
- "low",
4197
- "medium",
4198
- "high",
4199
- "xhigh"
4200
- ],
4201
- "description": "Adjust reasoning effort for supported models (Responses API only; `xhigh` is model-dependent).",
4202
- "deprecated": false,
4203
- "ui": {
4204
- "control": "select"
4205
- }
4206
- },
4207
- "model_reasoning_summary": {
4208
- "key": "model_reasoning_summary",
4209
- "key_path": [
4210
- "model_reasoning_summary"
4211
- ],
4212
- "top_level": "model_reasoning_summary",
4213
- "type": "auto | concise | detailed | none",
4214
- "enum_values": [
4215
- "auto",
4216
- "concise",
4217
- "detailed",
4218
- "none"
4219
- ],
4220
- "description": "Select reasoning summary detail or disable summaries entirely.",
4221
- "deprecated": false,
4222
- "ui": {
4223
- "control": "select"
4224
- }
4225
- },
4226
- "model_verbosity": {
4227
- "key": "model_verbosity",
4228
- "key_path": [
4229
- "model_verbosity"
4230
- ],
4231
- "top_level": "model_verbosity",
4232
- "type": "low | medium | high",
4233
- "enum_values": [
4234
- "low",
4235
- "medium",
4236
- "high"
4237
- ],
4238
- "description": "Control GPT-5 Responses API verbosity (defaults to `medium`).",
4239
- "deprecated": false,
4240
- "ui": {
4241
- "control": "select"
4242
- }
4243
- },
4244
- "model_supports_reasoning_summaries": {
4245
- "key": "model_supports_reasoning_summaries",
4246
- "key_path": [
4247
- "model_supports_reasoning_summaries"
4248
- ],
4249
- "top_level": "model_supports_reasoning_summaries",
4250
- "type": "boolean",
4251
- "enum_values": [],
4252
- "description": "Force Codex to send or not send reasoning metadata.",
4253
- "deprecated": false,
4254
- "ui": {
4255
- "control": "toggle"
4256
- }
4257
- },
4258
- "shell_environment_policy.inherit": {
4259
- "key": "shell_environment_policy.inherit",
4260
- "key_path": [
4261
- "shell_environment_policy",
4262
- "inherit"
4263
- ],
4264
- "top_level": "shell_environment_policy",
4265
- "type": "all | core | none",
4266
- "enum_values": [
4267
- "all",
4268
- "core",
4269
- "none"
4270
- ],
4271
- "description": "Baseline environment inheritance when spawning subprocesses.",
4272
- "deprecated": false,
4273
- "ui": {
4274
- "control": "select"
4275
- }
4276
- },
4277
- "shell_environment_policy.ignore_default_excludes": {
4278
- "key": "shell_environment_policy.ignore_default_excludes",
4279
- "key_path": [
4280
- "shell_environment_policy",
4281
- "ignore_default_excludes"
4282
- ],
4283
- "top_level": "shell_environment_policy",
4284
- "type": "boolean",
4285
- "enum_values": [],
4286
- "description": "Keep variables containing KEY/SECRET/TOKEN before other filters run.",
4287
- "deprecated": false,
4288
- "ui": {
4289
- "control": "toggle"
4290
- }
4291
- },
4292
- "shell_environment_policy.exclude": {
4293
- "key": "shell_environment_policy.exclude",
4294
- "key_path": [
4295
- "shell_environment_policy",
4296
- "exclude"
4297
- ],
4298
- "top_level": "shell_environment_policy",
4299
- "type": "array<string>",
4300
- "enum_values": [],
4301
- "description": "Glob patterns for removing environment variables after the defaults.",
4302
- "deprecated": false,
4303
- "ui": {
4304
- "control": "list"
4305
- }
4306
- },
4307
- "shell_environment_policy.include_only": {
4308
- "key": "shell_environment_policy.include_only",
4309
- "key_path": [
4310
- "shell_environment_policy",
4311
- "include_only"
4312
- ],
4313
- "top_level": "shell_environment_policy",
4314
- "type": "array<string>",
4315
- "enum_values": [],
4316
- "description": "Whitelist of patterns; when set only matching variables are kept.",
4317
- "deprecated": false,
4318
- "ui": {
4319
- "control": "list"
4320
- }
4321
- },
4322
- "shell_environment_policy.set": {
4323
- "key": "shell_environment_policy.set",
4324
- "key_path": [
4325
- "shell_environment_policy",
4326
- "set"
4327
- ],
4328
- "top_level": "shell_environment_policy",
4329
- "type": "map<string,string>",
4330
- "enum_values": [],
4331
- "description": "Explicit environment overrides injected into every subprocess.",
4332
- "deprecated": false,
4333
- "ui": {
4334
- "control": "key-value"
4335
- }
4336
- },
4337
- "shell_environment_policy.experimental_use_profile": {
4338
- "key": "shell_environment_policy.experimental_use_profile",
4339
- "key_path": [
4340
- "shell_environment_policy",
4341
- "experimental_use_profile"
4342
- ],
4343
- "top_level": "shell_environment_policy",
4344
- "type": "boolean",
4345
- "enum_values": [],
4346
- "description": "Use the user shell profile when spawning subprocesses.",
4347
- "deprecated": false,
4348
- "ui": {
4349
- "control": "toggle"
4350
- }
4351
- },
4352
- "project_root_markers": {
4353
- "key": "project_root_markers",
4354
- "key_path": [
4355
- "project_root_markers"
4356
- ],
4357
- "top_level": "project_root_markers",
4358
- "type": "array<string>",
4359
- "enum_values": [],
4360
- "description": "List of project root marker filenames; used when searching parent directories for the project root.",
4361
- "deprecated": false,
4362
- "ui": {
4363
- "control": "list"
4364
- }
4365
- },
4366
- "project_doc_max_bytes": {
4367
- "key": "project_doc_max_bytes",
4368
- "key_path": [
4369
- "project_doc_max_bytes"
4370
- ],
4371
- "top_level": "project_doc_max_bytes",
4372
- "type": "number",
4373
- "enum_values": [],
4374
- "description": "Maximum bytes read from `AGENTS.md` when building project instructions.",
4375
- "deprecated": false,
4376
- "ui": {
4377
- "control": "number"
4378
- }
4379
- },
4380
- "project_doc_fallback_filenames": {
4381
- "key": "project_doc_fallback_filenames",
4382
- "key_path": [
4383
- "project_doc_fallback_filenames"
4384
- ],
4385
- "top_level": "project_doc_fallback_filenames",
4386
- "type": "array<string>",
4387
- "enum_values": [],
4388
- "description": "Additional filenames to try when `AGENTS.md` is missing.",
4389
- "deprecated": false,
4390
- "ui": {
4391
- "control": "list"
4392
- }
4393
- },
4394
- "profile": {
4395
- "key": "profile",
4396
- "key_path": [
4397
- "profile"
4398
- ],
4399
- "top_level": "profile",
4400
- "type": "string",
4401
- "enum_values": [],
4402
- "description": "Default profile applied at startup (equivalent to `--profile`).",
4403
- "deprecated": false,
4404
- "ui": {
4405
- "control": "text"
4406
- }
4407
- },
4408
- "profiles.<name>.*": {
4409
- "key": "profiles.<name>.*",
4410
- "key_path": [
4411
- "profiles",
4412
- "<name>",
4413
- "*"
4414
- ],
4415
- "top_level": "profiles",
4416
- "type": "various",
4417
- "enum_values": [],
4418
- "description": "Profile-scoped overrides for any of the supported configuration keys.",
4419
- "deprecated": false,
4420
- "ui": {
4421
- "control": "text"
4422
- }
4423
- },
4424
- "profiles.<name>.include_apply_patch_tool": {
4425
- "key": "profiles.<name>.include_apply_patch_tool",
4426
- "key_path": [
4427
- "profiles",
4428
- "<name>",
4429
- "include_apply_patch_tool"
4430
- ],
4431
- "top_level": "profiles",
4432
- "type": "boolean",
4433
- "enum_values": [],
4434
- "description": "Legacy name for enabling freeform apply_patch; prefer `[features].apply_patch_freeform`.",
4435
- "deprecated": false,
4436
- "ui": {
4437
- "control": "toggle"
4438
- }
4439
- },
4440
- "profiles.<name>.web_search": {
4441
- "key": "profiles.<name>.web_search",
4442
- "key_path": [
4443
- "profiles",
4444
- "<name>",
4445
- "web_search"
4446
- ],
4447
- "top_level": "profiles",
4448
- "type": "disabled | cached | live",
4449
- "enum_values": [
4450
- "disabled",
4451
- "cached",
4452
- "live"
4453
- ],
4454
- "description": "Profile-scoped web search mode override (default: `\"cached\"`).",
4455
- "deprecated": false,
4456
- "ui": {
4457
- "control": "select"
4458
- }
4459
- },
4460
- "profiles.<name>.personality": {
4461
- "key": "profiles.<name>.personality",
4462
- "key_path": [
4463
- "profiles",
4464
- "<name>",
4465
- "personality"
4466
- ],
4467
- "top_level": "profiles",
4468
- "type": "none | friendly | pragmatic",
4469
- "enum_values": [
4470
- "none",
4471
- "friendly",
4472
- "pragmatic"
4473
- ],
4474
- "description": "Profile-scoped communication style override for supported models.",
4475
- "deprecated": false,
4476
- "ui": {
4477
- "control": "select"
4478
- }
4479
- },
4480
- "profiles.<name>.experimental_use_unified_exec_tool": {
4481
- "key": "profiles.<name>.experimental_use_unified_exec_tool",
4482
- "key_path": [
4483
- "profiles",
4484
- "<name>",
4485
- "experimental_use_unified_exec_tool"
4486
- ],
4487
- "top_level": "profiles",
4488
- "type": "boolean",
4489
- "enum_values": [],
4490
- "description": "Legacy name for enabling unified exec; prefer `[features].unified_exec`.",
4491
- "deprecated": false,
4492
- "ui": {
4493
- "control": "toggle"
4494
- }
4495
- },
4496
- "profiles.<name>.experimental_use_freeform_apply_patch": {
4497
- "key": "profiles.<name>.experimental_use_freeform_apply_patch",
4498
- "key_path": [
4499
- "profiles",
4500
- "<name>",
4501
- "experimental_use_freeform_apply_patch"
4502
- ],
4503
- "top_level": "profiles",
4504
- "type": "boolean",
4505
- "enum_values": [],
4506
- "description": "Legacy name for enabling freeform apply_patch; prefer `[features].apply_patch_freeform`.",
4507
- "deprecated": false,
4508
- "ui": {
4509
- "control": "toggle"
4510
- }
4511
- },
4512
- "profiles.<name>.oss_provider": {
4513
- "key": "profiles.<name>.oss_provider",
4514
- "key_path": [
4515
- "profiles",
4516
- "<name>",
4517
- "oss_provider"
4518
- ],
4519
- "top_level": "profiles",
4520
- "type": "lmstudio | ollama",
4521
- "enum_values": [
4522
- "lmstudio",
4523
- "ollama"
4524
- ],
4525
- "description": "Profile-scoped OSS provider for `--oss` sessions.",
4526
- "deprecated": false,
4527
- "ui": {
4528
- "control": "select"
4529
- }
4530
- },
4531
- "history.persistence": {
4532
- "key": "history.persistence",
4533
- "key_path": [
4534
- "history",
4535
- "persistence"
4536
- ],
4537
- "top_level": "history",
4538
- "type": "save-all | none",
4539
- "enum_values": [
4540
- "save-all",
4541
- "none"
4542
- ],
4543
- "description": "Control whether Codex saves session transcripts to history.jsonl.",
4544
- "deprecated": false,
4545
- "ui": {
4546
- "control": "select"
4547
- }
4548
- },
4549
- "tool_output_token_limit": {
4550
- "key": "tool_output_token_limit",
4551
- "key_path": [
4552
- "tool_output_token_limit"
4553
- ],
4554
- "top_level": "tool_output_token_limit",
4555
- "type": "number",
4556
- "enum_values": [],
4557
- "description": "Token budget for storing individual tool/function outputs in history.",
4558
- "deprecated": false,
4559
- "ui": {
4560
- "control": "number"
4561
- }
4562
- },
4563
- "history.max_bytes": {
4564
- "key": "history.max_bytes",
4565
- "key_path": [
4566
- "history",
4567
- "max_bytes"
4568
- ],
4569
- "top_level": "history",
4570
- "type": "number",
4571
- "enum_values": [],
4572
- "description": "If set, caps the history file size in bytes by dropping oldest entries.",
4573
- "deprecated": false,
4574
- "ui": {
4575
- "control": "number"
4576
- }
4577
- },
4578
- "file_opener": {
4579
- "key": "file_opener",
4580
- "key_path": [
4581
- "file_opener"
4582
- ],
4583
- "top_level": "file_opener",
4584
- "type": "vscode | vscode-insiders | windsurf | cursor | none",
4585
- "enum_values": [
4586
- "vscode",
4587
- "vscode-insiders",
4588
- "windsurf",
4589
- "cursor",
4590
- "none"
4591
- ],
4592
- "description": "URI scheme used to open citations from Codex output (default: `vscode`).",
4593
- "deprecated": false,
4594
- "ui": {
4595
- "control": "select"
4596
- }
4597
- },
4598
- "otel.environment": {
4599
- "key": "otel.environment",
4600
- "key_path": [
4601
- "otel",
4602
- "environment"
4603
- ],
4604
- "top_level": "otel",
4605
- "type": "string",
4606
- "enum_values": [],
4607
- "description": "Environment tag applied to emitted OpenTelemetry events (default: `dev`).",
4608
- "deprecated": false,
4609
- "ui": {
4610
- "control": "text"
4611
- }
4612
- },
4613
- "otel.exporter": {
4614
- "key": "otel.exporter",
4615
- "key_path": [
4616
- "otel",
4617
- "exporter"
4618
- ],
4619
- "top_level": "otel",
4620
- "type": "none | otlp-http | otlp-grpc",
4621
- "enum_values": [
4622
- "none",
4623
- "otlp-http",
4624
- "otlp-grpc"
4625
- ],
4626
- "description": "Select the OpenTelemetry exporter and provide any endpoint metadata.",
4627
- "deprecated": false,
4628
- "ui": {
4629
- "control": "select"
4630
- }
4631
- },
4632
- "otel.trace_exporter": {
4633
- "key": "otel.trace_exporter",
4634
- "key_path": [
4635
- "otel",
4636
- "trace_exporter"
4637
- ],
4638
- "top_level": "otel",
4639
- "type": "none | otlp-http | otlp-grpc",
4640
- "enum_values": [
4641
- "none",
4642
- "otlp-http",
4643
- "otlp-grpc"
4644
- ],
4645
- "description": "Select the OpenTelemetry trace exporter and provide any endpoint metadata.",
4646
- "deprecated": false,
4647
- "ui": {
4648
- "control": "select"
4649
- }
4650
- },
4651
- "otel.log_user_prompt": {
4652
- "key": "otel.log_user_prompt",
4653
- "key_path": [
4654
- "otel",
4655
- "log_user_prompt"
4656
- ],
4657
- "top_level": "otel",
4658
- "type": "boolean",
4659
- "enum_values": [],
4660
- "description": "Opt in to exporting raw user prompts with OpenTelemetry logs.",
4661
- "deprecated": false,
4662
- "ui": {
4663
- "control": "toggle"
4664
- }
4665
- },
4666
- "otel.exporter.<id>.endpoint": {
4667
- "key": "otel.exporter.<id>.endpoint",
4668
- "key_path": [
4669
- "otel",
4670
- "exporter",
4671
- "<id>",
4672
- "endpoint"
4673
- ],
4674
- "top_level": "otel",
4675
- "type": "string",
4676
- "enum_values": [],
4677
- "description": "Exporter endpoint for OTEL logs.",
4678
- "deprecated": false,
4679
- "ui": {
4680
- "control": "text"
4681
- }
4682
- },
4683
- "otel.exporter.<id>.protocol": {
4684
- "key": "otel.exporter.<id>.protocol",
4685
- "key_path": [
4686
- "otel",
4687
- "exporter",
4688
- "<id>",
4689
- "protocol"
4690
- ],
4691
- "top_level": "otel",
4692
- "type": "binary | json",
4693
- "enum_values": [
4694
- "binary",
4695
- "json"
4696
- ],
4697
- "description": "Protocol used by the OTLP/HTTP exporter.",
4698
- "deprecated": false,
4699
- "ui": {
4700
- "control": "select"
4701
- }
4702
- },
4703
- "otel.exporter.<id>.headers": {
4704
- "key": "otel.exporter.<id>.headers",
4705
- "key_path": [
4706
- "otel",
4707
- "exporter",
4708
- "<id>",
4709
- "headers"
4710
- ],
4711
- "top_level": "otel",
4712
- "type": "map<string,string>",
4713
- "enum_values": [],
4714
- "description": "Static headers included with OTEL exporter requests.",
4715
- "deprecated": false,
4716
- "ui": {
4717
- "control": "key-value"
4718
- }
4719
- },
4720
- "otel.trace_exporter.<id>.endpoint": {
4721
- "key": "otel.trace_exporter.<id>.endpoint",
4722
- "key_path": [
4723
- "otel",
4724
- "trace_exporter",
4725
- "<id>",
4726
- "endpoint"
4727
- ],
4728
- "top_level": "otel",
4729
- "type": "string",
4730
- "enum_values": [],
4731
- "description": "Trace exporter endpoint for OTEL logs.",
4732
- "deprecated": false,
4733
- "ui": {
4734
- "control": "text"
4735
- }
4736
- },
4737
- "otel.trace_exporter.<id>.protocol": {
4738
- "key": "otel.trace_exporter.<id>.protocol",
4739
- "key_path": [
4740
- "otel",
4741
- "trace_exporter",
4742
- "<id>",
4743
- "protocol"
4744
- ],
4745
- "top_level": "otel",
4746
- "type": "binary | json",
4747
- "enum_values": [
4748
- "binary",
4749
- "json"
4750
- ],
4751
- "description": "Protocol used by the OTLP/HTTP trace exporter.",
4752
- "deprecated": false,
4753
- "ui": {
4754
- "control": "select"
4755
- }
4756
- },
4757
- "otel.trace_exporter.<id>.headers": {
4758
- "key": "otel.trace_exporter.<id>.headers",
4759
- "key_path": [
4760
- "otel",
4761
- "trace_exporter",
4762
- "<id>",
4763
- "headers"
4764
- ],
4765
- "top_level": "otel",
4766
- "type": "map<string,string>",
4767
- "enum_values": [],
4768
- "description": "Static headers included with OTEL trace exporter requests.",
4769
- "deprecated": false,
4770
- "ui": {
4771
- "control": "key-value"
4772
- }
4773
- },
4774
- "otel.exporter.<id>.tls.ca-certificate": {
4775
- "key": "otel.exporter.<id>.tls.ca-certificate",
4776
- "key_path": [
4777
- "otel",
4778
- "exporter",
4779
- "<id>",
4780
- "tls",
4781
- "ca-certificate"
4782
- ],
4783
- "top_level": "otel",
4784
- "type": "string",
4785
- "enum_values": [],
4786
- "description": "CA certificate path for OTEL exporter TLS.",
4787
- "deprecated": false,
4788
- "ui": {
4789
- "control": "text"
4790
- }
4791
- },
4792
- "otel.exporter.<id>.tls.client-certificate": {
4793
- "key": "otel.exporter.<id>.tls.client-certificate",
4794
- "key_path": [
4795
- "otel",
4796
- "exporter",
4797
- "<id>",
4798
- "tls",
4799
- "client-certificate"
4800
- ],
4801
- "top_level": "otel",
4802
- "type": "string",
4803
- "enum_values": [],
4804
- "description": "Client certificate path for OTEL exporter TLS.",
4805
- "deprecated": false,
4806
- "ui": {
4807
- "control": "text"
4808
- }
4809
- },
4810
- "otel.exporter.<id>.tls.client-private-key": {
4811
- "key": "otel.exporter.<id>.tls.client-private-key",
4812
- "key_path": [
4813
- "otel",
4814
- "exporter",
4815
- "<id>",
4816
- "tls",
4817
- "client-private-key"
4818
- ],
4819
- "top_level": "otel",
4820
- "type": "string",
4821
- "enum_values": [],
4822
- "description": "Client private key path for OTEL exporter TLS.",
4823
- "deprecated": false,
4824
- "ui": {
4825
- "control": "text"
4826
- }
4827
- },
4828
- "otel.trace_exporter.<id>.tls.ca-certificate": {
4829
- "key": "otel.trace_exporter.<id>.tls.ca-certificate",
4830
- "key_path": [
4831
- "otel",
4832
- "trace_exporter",
4833
- "<id>",
4834
- "tls",
4835
- "ca-certificate"
4836
- ],
4837
- "top_level": "otel",
4838
- "type": "string",
4839
- "enum_values": [],
4840
- "description": "CA certificate path for OTEL trace exporter TLS.",
4841
- "deprecated": false,
4842
- "ui": {
4843
- "control": "text"
4844
- }
4845
- },
4846
- "otel.trace_exporter.<id>.tls.client-certificate": {
4847
- "key": "otel.trace_exporter.<id>.tls.client-certificate",
4848
- "key_path": [
4849
- "otel",
4850
- "trace_exporter",
4851
- "<id>",
4852
- "tls",
4853
- "client-certificate"
4854
- ],
4855
- "top_level": "otel",
4856
- "type": "string",
4857
- "enum_values": [],
4858
- "description": "Client certificate path for OTEL trace exporter TLS.",
4859
- "deprecated": false,
4860
- "ui": {
4861
- "control": "text"
4862
- }
4863
- },
4864
- "otel.trace_exporter.<id>.tls.client-private-key": {
4865
- "key": "otel.trace_exporter.<id>.tls.client-private-key",
4866
- "key_path": [
4867
- "otel",
4868
- "trace_exporter",
4869
- "<id>",
4870
- "tls",
4871
- "client-private-key"
4872
- ],
4873
- "top_level": "otel",
4874
- "type": "string",
4875
- "enum_values": [],
4876
- "description": "Client private key path for OTEL trace exporter TLS.",
4877
- "deprecated": false,
4878
- "ui": {
4879
- "control": "text"
4880
- }
4881
- },
4882
- "tui": {
4883
- "key": "tui",
4884
- "key_path": [
4885
- "tui"
4886
- ],
4887
- "top_level": "tui",
4888
- "type": "table",
4889
- "enum_values": [],
4890
- "description": "TUI-specific options such as enabling inline desktop notifications.",
4891
- "deprecated": false,
4892
- "ui": {
4893
- "control": "section"
4894
- }
4895
- },
4896
- "tui.notifications": {
4897
- "key": "tui.notifications",
4898
- "key_path": [
4899
- "tui",
4900
- "notifications"
4901
- ],
4902
- "top_level": "tui",
4903
- "type": "boolean | array<string>",
4904
- "enum_values": [
4905
- "boolean",
4906
- "array<string>"
4907
- ],
4908
- "description": "Enable TUI notifications; optionally restrict to specific event types.",
4909
- "deprecated": false,
4910
- "ui": {
4911
- "control": "select"
4912
- }
4913
- },
4914
- "tui.notification_method": {
4915
- "key": "tui.notification_method",
4916
- "key_path": [
4917
- "tui",
4918
- "notification_method"
4919
- ],
4920
- "top_level": "tui",
4921
- "type": "auto | osc9 | bel",
4922
- "enum_values": [
4923
- "auto",
4924
- "osc9",
4925
- "bel"
4926
- ],
4927
- "description": "Notification method for unfocused terminal notifications (default: auto).",
4928
- "deprecated": false,
4929
- "ui": {
4930
- "control": "select"
4931
- }
4932
- },
4933
- "tui.animations": {
4934
- "key": "tui.animations",
4935
- "key_path": [
4936
- "tui",
4937
- "animations"
4938
- ],
4939
- "top_level": "tui",
4940
- "type": "boolean",
4941
- "enum_values": [],
4942
- "description": "Enable terminal animations (welcome screen, shimmer, spinner) (default: true).",
4943
- "deprecated": false,
4944
- "ui": {
4945
- "control": "toggle"
4946
- }
4947
- },
4948
- "tui.alternate_screen": {
4949
- "key": "tui.alternate_screen",
4950
- "key_path": [
4951
- "tui",
4952
- "alternate_screen"
4953
- ],
4954
- "top_level": "tui",
4955
- "type": "auto | always | never",
4956
- "enum_values": [
4957
- "auto",
4958
- "always",
4959
- "never"
4960
- ],
4961
- "description": "Control alternate screen usage for the TUI (default: auto; auto skips it in Zellij to preserve scrollback).",
4962
- "deprecated": false,
4963
- "ui": {
4964
- "control": "select"
4965
- }
4966
- },
4967
- "tui.show_tooltips": {
4968
- "key": "tui.show_tooltips",
4969
- "key_path": [
4970
- "tui",
4971
- "show_tooltips"
4972
- ],
4973
- "top_level": "tui",
4974
- "type": "boolean",
4975
- "enum_values": [],
4976
- "description": "Show onboarding tooltips in the TUI welcome screen (default: true).",
4977
- "deprecated": false,
4978
- "ui": {
4979
- "control": "toggle"
4980
- }
4981
- },
4982
- "tui.status_line": {
4983
- "key": "tui.status_line",
4984
- "key_path": [
4985
- "tui",
4986
- "status_line"
4987
- ],
4988
- "top_level": "tui",
4989
- "type": "array<string> | null",
4990
- "enum_values": [
4991
- "array<string>",
4992
- "null"
4993
- ],
4994
- "description": "Ordered list of TUI footer status-line item identifiers. `null` disables the status line.",
4995
- "deprecated": false,
4996
- "ui": {
4997
- "control": "select"
4998
- }
4999
- },
5000
- "hide_agent_reasoning": {
5001
- "key": "hide_agent_reasoning",
5002
- "key_path": [
5003
- "hide_agent_reasoning"
5004
- ],
5005
- "top_level": "hide_agent_reasoning",
5006
- "type": "boolean",
5007
- "enum_values": [],
5008
- "description": "Suppress reasoning events in both the TUI and `codex exec` output.",
5009
- "deprecated": false,
5010
- "ui": {
5011
- "control": "toggle"
5012
- }
5013
- },
5014
- "show_raw_agent_reasoning": {
5015
- "key": "show_raw_agent_reasoning",
5016
- "key_path": [
5017
- "show_raw_agent_reasoning"
5018
- ],
5019
- "top_level": "show_raw_agent_reasoning",
5020
- "type": "boolean",
5021
- "enum_values": [],
5022
- "description": "Surface raw reasoning content when the active model emits it.",
5023
- "deprecated": false,
5024
- "ui": {
5025
- "control": "toggle"
5026
- }
5027
- },
5028
- "disable_paste_burst": {
5029
2897
  "key": "disable_paste_burst",
5030
2898
  "key_path": [
5031
2899
  "disable_paste_burst"
@@ -5036,10 +2904,10 @@
5036
2904
  "description": "Disable burst-paste detection in the TUI.",
5037
2905
  "deprecated": false,
5038
2906
  "ui": {
5039
- "control": "toggle"
2907
+ "control": "text"
5040
2908
  }
5041
2909
  },
5042
- "windows_wsl_setup_acknowledged": {
2910
+ {
5043
2911
  "key": "windows_wsl_setup_acknowledged",
5044
2912
  "key_path": [
5045
2913
  "windows_wsl_setup_acknowledged"
@@ -5050,10 +2918,10 @@
5050
2918
  "description": "Track Windows onboarding acknowledgement (Windows only).",
5051
2919
  "deprecated": false,
5052
2920
  "ui": {
5053
- "control": "toggle"
2921
+ "control": "text"
5054
2922
  }
5055
2923
  },
5056
- "chatgpt_base_url": {
2924
+ {
5057
2925
  "key": "chatgpt_base_url",
5058
2926
  "key_path": [
5059
2927
  "chatgpt_base_url"
@@ -5067,7 +2935,7 @@
5067
2935
  "control": "text"
5068
2936
  }
5069
2937
  },
5070
- "cli_auth_credentials_store": {
2938
+ {
5071
2939
  "key": "cli_auth_credentials_store",
5072
2940
  "key_path": [
5073
2941
  "cli_auth_credentials_store"
@@ -5085,7 +2953,7 @@
5085
2953
  "control": "select"
5086
2954
  }
5087
2955
  },
5088
- "mcp_oauth_credentials_store": {
2956
+ {
5089
2957
  "key": "mcp_oauth_credentials_store",
5090
2958
  "key_path": [
5091
2959
  "mcp_oauth_credentials_store"
@@ -5103,7 +2971,7 @@
5103
2971
  "control": "select"
5104
2972
  }
5105
2973
  },
5106
- "mcp_oauth_callback_port": {
2974
+ {
5107
2975
  "key": "mcp_oauth_callback_port",
5108
2976
  "key_path": [
5109
2977
  "mcp_oauth_callback_port"
@@ -5117,7 +2985,21 @@
5117
2985
  "control": "text"
5118
2986
  }
5119
2987
  },
5120
- "experimental_use_unified_exec_tool": {
2988
+ {
2989
+ "key": "mcp_oauth_callback_url",
2990
+ "key_path": [
2991
+ "mcp_oauth_callback_url"
2992
+ ],
2993
+ "top_level": "mcp_oauth_callback_url",
2994
+ "type": "string",
2995
+ "enum_values": [],
2996
+ "description": "Optional redirect URI override for MCP OAuth login (for example, a devbox ingress URL). `mcp_oauth_callback_port` still controls the callback listener port.",
2997
+ "deprecated": false,
2998
+ "ui": {
2999
+ "control": "text"
3000
+ }
3001
+ },
3002
+ {
5121
3003
  "key": "experimental_use_unified_exec_tool",
5122
3004
  "key_path": [
5123
3005
  "experimental_use_unified_exec_tool"
@@ -5128,10 +3010,10 @@
5128
3010
  "description": "Legacy name for enabling unified exec; prefer `[features].unified_exec` or `codex --enable unified_exec`.",
5129
3011
  "deprecated": false,
5130
3012
  "ui": {
5131
- "control": "toggle"
3013
+ "control": "text"
5132
3014
  }
5133
3015
  },
5134
- "experimental_use_freeform_apply_patch": {
3016
+ {
5135
3017
  "key": "experimental_use_freeform_apply_patch",
5136
3018
  "key_path": [
5137
3019
  "experimental_use_freeform_apply_patch"
@@ -5142,10 +3024,10 @@
5142
3024
  "description": "Legacy name for enabling freeform apply_patch; prefer `[features].apply_patch_freeform` or `codex --enable apply_patch_freeform`.",
5143
3025
  "deprecated": false,
5144
3026
  "ui": {
5145
- "control": "toggle"
3027
+ "control": "text"
5146
3028
  }
5147
3029
  },
5148
- "include_apply_patch_tool": {
3030
+ {
5149
3031
  "key": "include_apply_patch_tool",
5150
3032
  "key_path": [
5151
3033
  "include_apply_patch_tool"
@@ -5156,10 +3038,10 @@
5156
3038
  "description": "Legacy name for enabling freeform apply_patch; prefer `[features].apply_patch_freeform`.",
5157
3039
  "deprecated": false,
5158
3040
  "ui": {
5159
- "control": "toggle"
3041
+ "control": "text"
5160
3042
  }
5161
3043
  },
5162
- "tools.web_search": {
3044
+ {
5163
3045
  "key": "tools.web_search",
5164
3046
  "key_path": [
5165
3047
  "tools",
@@ -5169,12 +3051,12 @@
5169
3051
  "type": "boolean",
5170
3052
  "enum_values": [],
5171
3053
  "description": "Deprecated legacy toggle for web search; prefer the top-level `web_search` setting.",
5172
- "deprecated": true,
3054
+ "deprecated": false,
5173
3055
  "ui": {
5174
- "control": "toggle"
3056
+ "control": "text"
5175
3057
  }
5176
3058
  },
5177
- "web_search": {
3059
+ {
5178
3060
  "key": "web_search",
5179
3061
  "key_path": [
5180
3062
  "web_search"
@@ -5192,7 +3074,7 @@
5192
3074
  "control": "select"
5193
3075
  }
5194
3076
  },
5195
- "projects.<path>.trust_level": {
3077
+ {
5196
3078
  "key": "projects.<path>.trust_level",
5197
3079
  "key_path": [
5198
3080
  "projects",
@@ -5200,18 +3082,15 @@
5200
3082
  "trust_level"
5201
3083
  ],
5202
3084
  "top_level": "projects",
5203
- "type": "trusted | untrusted",
5204
- "enum_values": [
5205
- "trusted",
5206
- "untrusted"
5207
- ],
3085
+ "type": "string",
3086
+ "enum_values": [],
5208
3087
  "description": "Mark a project or worktree as trusted or untrusted (`\"trusted\"` | `\"untrusted\"`). Untrusted projects skip project-scoped `.codex/` layers.",
5209
3088
  "deprecated": false,
5210
3089
  "ui": {
5211
- "control": "select"
3090
+ "control": "text"
5212
3091
  }
5213
3092
  },
5214
- "notice.hide_full_access_warning": {
3093
+ {
5215
3094
  "key": "notice.hide_full_access_warning",
5216
3095
  "key_path": [
5217
3096
  "notice",
@@ -5223,10 +3102,10 @@
5223
3102
  "description": "Track acknowledgement of the full access warning prompt.",
5224
3103
  "deprecated": false,
5225
3104
  "ui": {
5226
- "control": "toggle"
3105
+ "control": "text"
5227
3106
  }
5228
3107
  },
5229
- "notice.hide_world_writable_warning": {
3108
+ {
5230
3109
  "key": "notice.hide_world_writable_warning",
5231
3110
  "key_path": [
5232
3111
  "notice",
@@ -5238,10 +3117,10 @@
5238
3117
  "description": "Track acknowledgement of the Windows world-writable directories warning.",
5239
3118
  "deprecated": false,
5240
3119
  "ui": {
5241
- "control": "toggle"
3120
+ "control": "text"
5242
3121
  }
5243
3122
  },
5244
- "notice.hide_rate_limit_model_nudge": {
3123
+ {
5245
3124
  "key": "notice.hide_rate_limit_model_nudge",
5246
3125
  "key_path": [
5247
3126
  "notice",
@@ -5253,10 +3132,10 @@
5253
3132
  "description": "Track opt-out of the rate limit model switch reminder.",
5254
3133
  "deprecated": false,
5255
3134
  "ui": {
5256
- "control": "toggle"
3135
+ "control": "text"
5257
3136
  }
5258
3137
  },
5259
- "notice.hide_gpt5_1_migration_prompt": {
3138
+ {
5260
3139
  "key": "notice.hide_gpt5_1_migration_prompt",
5261
3140
  "key_path": [
5262
3141
  "notice",
@@ -5268,10 +3147,10 @@
5268
3147
  "description": "Track acknowledgement of the GPT-5.1 migration prompt.",
5269
3148
  "deprecated": false,
5270
3149
  "ui": {
5271
- "control": "toggle"
3150
+ "control": "text"
5272
3151
  }
5273
3152
  },
5274
- "notice.hide_gpt-5.1-codex-max_migration_prompt": {
3153
+ {
5275
3154
  "key": "notice.hide_gpt-5.1-codex-max_migration_prompt",
5276
3155
  "key_path": [
5277
3156
  "notice",
@@ -5284,10 +3163,10 @@
5284
3163
  "description": "Track acknowledgement of the gpt-5.1-codex-max migration prompt.",
5285
3164
  "deprecated": false,
5286
3165
  "ui": {
5287
- "control": "toggle"
3166
+ "control": "text"
5288
3167
  }
5289
3168
  },
5290
- "notice.model_migrations": {
3169
+ {
5291
3170
  "key": "notice.model_migrations",
5292
3171
  "key_path": [
5293
3172
  "notice",
@@ -5299,10 +3178,10 @@
5299
3178
  "description": "Track acknowledged model migrations as old->new mappings.",
5300
3179
  "deprecated": false,
5301
3180
  "ui": {
5302
- "control": "key-value"
3181
+ "control": "text"
5303
3182
  }
5304
3183
  },
5305
- "forced_login_method": {
3184
+ {
5306
3185
  "key": "forced_login_method",
5307
3186
  "key_path": [
5308
3187
  "forced_login_method"
@@ -5319,7 +3198,7 @@
5319
3198
  "control": "select"
5320
3199
  }
5321
3200
  },
5322
- "forced_chatgpt_workspace_id": {
3201
+ {
5323
3202
  "key": "forced_chatgpt_workspace_id",
5324
3203
  "key_path": [
5325
3204
  "forced_chatgpt_workspace_id"
@@ -5333,7 +3212,7 @@
5333
3212
  "control": "text"
5334
3213
  }
5335
3214
  }
5336
- }
3215
+ ]
5337
3216
  },
5338
3217
  {
5339
3218
  "id": "requirements.toml",
@@ -5376,11 +3255,11 @@
5376
3255
  "keys": [
5377
3256
  "rules",
5378
3257
  "rules.prefix_rules",
3258
+ "rules.prefix_rules[].decision",
3259
+ "rules.prefix_rules[].justification",
5379
3260
  "rules.prefix_rules[].pattern",
5380
- "rules.prefix_rules[].pattern[].token",
5381
3261
  "rules.prefix_rules[].pattern[].any_of",
5382
- "rules.prefix_rules[].decision",
5383
- "rules.prefix_rules[].justification"
3262
+ "rules.prefix_rules[].pattern[].token"
5384
3263
  ]
5385
3264
  }
5386
3265
  ],
@@ -5393,7 +3272,7 @@
5393
3272
  "top_level": "allowed_approval_policies",
5394
3273
  "type": "array<string>",
5395
3274
  "enum_values": [],
5396
- "description": "Allowed values for `approval_policy`.",
3275
+ "description": "Allowed values for `approval_policy` (for example `untrusted`, `on-request`, `never`, and `reject`).",
5397
3276
  "deprecated": false,
5398
3277
  "ui": {
5399
3278
  "control": "list"
@@ -5517,7 +3396,7 @@
5517
3396
  "description": "List of enforced prefix rules. Each rule must include `pattern` and `decision`.",
5518
3397
  "deprecated": false,
5519
3398
  "ui": {
5520
- "control": "table-list"
3399
+ "control": "list"
5521
3400
  }
5522
3401
  },
5523
3402
  {
@@ -5533,7 +3412,7 @@
5533
3412
  "description": "Command prefix expressed as pattern tokens. Each token sets either `token` or `any_of`.",
5534
3413
  "deprecated": false,
5535
3414
  "ui": {
5536
- "control": "table-list"
3415
+ "control": "list"
5537
3416
  }
5538
3417
  },
5539
3418
  {
@@ -5605,233 +3484,11 @@
5605
3484
  "control": "text"
5606
3485
  }
5607
3486
  }
5608
- ],
5609
- "key_index": {
5610
- "allowed_approval_policies": {
5611
- "key": "allowed_approval_policies",
5612
- "key_path": [
5613
- "allowed_approval_policies"
5614
- ],
5615
- "top_level": "allowed_approval_policies",
5616
- "type": "array<string>",
5617
- "enum_values": [],
5618
- "description": "Allowed values for `approval_policy`.",
5619
- "deprecated": false,
5620
- "ui": {
5621
- "control": "list"
5622
- }
5623
- },
5624
- "allowed_sandbox_modes": {
5625
- "key": "allowed_sandbox_modes",
5626
- "key_path": [
5627
- "allowed_sandbox_modes"
5628
- ],
5629
- "top_level": "allowed_sandbox_modes",
5630
- "type": "array<string>",
5631
- "enum_values": [],
5632
- "description": "Allowed values for `sandbox_mode`.",
5633
- "deprecated": false,
5634
- "ui": {
5635
- "control": "list"
5636
- }
5637
- },
5638
- "allowed_web_search_modes": {
5639
- "key": "allowed_web_search_modes",
5640
- "key_path": [
5641
- "allowed_web_search_modes"
5642
- ],
5643
- "top_level": "allowed_web_search_modes",
5644
- "type": "array<string>",
5645
- "enum_values": [],
5646
- "description": "Allowed values for `web_search` (`disabled`, `cached`, `live`). `disabled` is always allowed; an empty list effectively allows only `disabled`.",
5647
- "deprecated": false,
5648
- "ui": {
5649
- "control": "list"
5650
- }
5651
- },
5652
- "mcp_servers": {
5653
- "key": "mcp_servers",
5654
- "key_path": [
5655
- "mcp_servers"
5656
- ],
5657
- "top_level": "mcp_servers",
5658
- "type": "table",
5659
- "enum_values": [],
5660
- "description": "Allowlist of MCP servers that may be enabled. Both the server name (`<id>`) and its identity must match for the MCP server to be enabled. Any configured MCP server not in the allowlist (or with a mismatched identity) is disabled.",
5661
- "deprecated": false,
5662
- "ui": {
5663
- "control": "section"
5664
- }
5665
- },
5666
- "mcp_servers.<id>.identity": {
5667
- "key": "mcp_servers.<id>.identity",
5668
- "key_path": [
5669
- "mcp_servers",
5670
- "<id>",
5671
- "identity"
5672
- ],
5673
- "top_level": "mcp_servers",
5674
- "type": "table",
5675
- "enum_values": [],
5676
- "description": "Identity rule for a single MCP server. Set either `command` (stdio) or `url` (streamable HTTP).",
5677
- "deprecated": false,
5678
- "ui": {
5679
- "control": "section"
5680
- }
5681
- },
5682
- "mcp_servers.<id>.identity.command": {
5683
- "key": "mcp_servers.<id>.identity.command",
5684
- "key_path": [
5685
- "mcp_servers",
5686
- "<id>",
5687
- "identity",
5688
- "command"
5689
- ],
5690
- "top_level": "mcp_servers",
5691
- "type": "string",
5692
- "enum_values": [],
5693
- "description": "Allow an MCP stdio server when its `mcp_servers.<id>.command` matches this command.",
5694
- "deprecated": false,
5695
- "ui": {
5696
- "control": "text"
5697
- }
5698
- },
5699
- "mcp_servers.<id>.identity.url": {
5700
- "key": "mcp_servers.<id>.identity.url",
5701
- "key_path": [
5702
- "mcp_servers",
5703
- "<id>",
5704
- "identity",
5705
- "url"
5706
- ],
5707
- "top_level": "mcp_servers",
5708
- "type": "string",
5709
- "enum_values": [],
5710
- "description": "Allow an MCP streamable HTTP server when its `mcp_servers.<id>.url` matches this URL.",
5711
- "deprecated": false,
5712
- "ui": {
5713
- "control": "text"
5714
- }
5715
- },
5716
- "rules": {
5717
- "key": "rules",
5718
- "key_path": [
5719
- "rules"
5720
- ],
5721
- "top_level": "rules",
5722
- "type": "table",
5723
- "enum_values": [],
5724
- "description": "Admin-enforced command rules merged with `.rules` files. Requirements rules must be restrictive.",
5725
- "deprecated": false,
5726
- "ui": {
5727
- "control": "section"
5728
- }
5729
- },
5730
- "rules.prefix_rules": {
5731
- "key": "rules.prefix_rules",
5732
- "key_path": [
5733
- "rules",
5734
- "prefix_rules"
5735
- ],
5736
- "top_level": "rules",
5737
- "type": "array<table>",
5738
- "enum_values": [],
5739
- "description": "List of enforced prefix rules. Each rule must include `pattern` and `decision`.",
5740
- "deprecated": false,
5741
- "ui": {
5742
- "control": "table-list"
5743
- }
5744
- },
5745
- "rules.prefix_rules[].pattern": {
5746
- "key": "rules.prefix_rules[].pattern",
5747
- "key_path": [
5748
- "rules",
5749
- "prefix_rules[]",
5750
- "pattern"
5751
- ],
5752
- "top_level": "rules",
5753
- "type": "array<table>",
5754
- "enum_values": [],
5755
- "description": "Command prefix expressed as pattern tokens. Each token sets either `token` or `any_of`.",
5756
- "deprecated": false,
5757
- "ui": {
5758
- "control": "table-list"
5759
- }
5760
- },
5761
- "rules.prefix_rules[].pattern[].token": {
5762
- "key": "rules.prefix_rules[].pattern[].token",
5763
- "key_path": [
5764
- "rules",
5765
- "prefix_rules[]",
5766
- "pattern[]",
5767
- "token"
5768
- ],
5769
- "top_level": "rules",
5770
- "type": "string",
5771
- "enum_values": [],
5772
- "description": "A single literal token at this position.",
5773
- "deprecated": false,
5774
- "ui": {
5775
- "control": "text"
5776
- }
5777
- },
5778
- "rules.prefix_rules[].pattern[].any_of": {
5779
- "key": "rules.prefix_rules[].pattern[].any_of",
5780
- "key_path": [
5781
- "rules",
5782
- "prefix_rules[]",
5783
- "pattern[]",
5784
- "any_of"
5785
- ],
5786
- "top_level": "rules",
5787
- "type": "array<string>",
5788
- "enum_values": [],
5789
- "description": "A list of allowed alternative tokens at this position.",
5790
- "deprecated": false,
5791
- "ui": {
5792
- "control": "list"
5793
- }
5794
- },
5795
- "rules.prefix_rules[].decision": {
5796
- "key": "rules.prefix_rules[].decision",
5797
- "key_path": [
5798
- "rules",
5799
- "prefix_rules[]",
5800
- "decision"
5801
- ],
5802
- "top_level": "rules",
5803
- "type": "prompt | forbidden",
5804
- "enum_values": [
5805
- "prompt",
5806
- "forbidden"
5807
- ],
5808
- "description": "Required. Requirements rules can only prompt or forbid (not allow).",
5809
- "deprecated": false,
5810
- "ui": {
5811
- "control": "select"
5812
- }
5813
- },
5814
- "rules.prefix_rules[].justification": {
5815
- "key": "rules.prefix_rules[].justification",
5816
- "key_path": [
5817
- "rules",
5818
- "prefix_rules[]",
5819
- "justification"
5820
- ],
5821
- "top_level": "rules",
5822
- "type": "string",
5823
- "enum_values": [],
5824
- "description": "Optional non-empty rationale surfaced in approval prompts or rejection messages.",
5825
- "deprecated": false,
5826
- "ui": {
5827
- "control": "text"
5828
- }
5829
- }
5830
- }
3487
+ ]
5831
3488
  }
5832
3489
  ],
5833
3490
  "totals": {
5834
3491
  "document_count": 2,
5835
- "option_count": 165
3492
+ "option_count": 181
5836
3493
  }
5837
3494
  }