starr-openai
a504d8f0fa
Disable env-bound tools when exec server is none ( #16349 )
...
## Summary
- make `CODEX_EXEC_SERVER_URL=none` map to an explicit disabled
environment mode instead of inferring from a missing URL
- expose environment capabilities (`exec_enabled`, `filesystem_enabled`)
so tool building can gate behavior explicitly and future
multi-environment work has a clearer seam
- suppress env-backed tools when the relevant capability is unavailable,
including exec tools, `js_repl`, `apply_patch`, `list_dir`, and
`view_image`
- keep handler/runtime backstops so disabled environments still reject
execution if a tool path somehow bypasses registration
## Testing
- `just fmt`
- `cargo test -p codex-exec-server`
- `cargo test -p codex-tools
disabled_environment_omits_environment_backed_tools`
- `cargo test -p codex-tools
environment_capabilities_gate_exec_and_filesystem_tools_independently`
- remote devbox Bazel build via `codex-applied-devbox`:
`//codex-rs/cli:cli`
2026-04-06 17:22:06 -07:00
..
2026-04-06 16:22:59 -07:00
2026-04-01 21:55:22 -07:00
2026-01-13 10:22:51 -08:00
2026-04-06 16:22:59 -07:00
2026-04-06 12:46:55 -07:00
2026-04-06 11:11:44 -07:00
2026-04-03 18:06:52 -07:00
2026-04-03 00:33:34 -07:00
2026-03-25 12:57:42 -07:00
2026-04-04 11:06:43 -07:00
2026-04-06 15:40:00 -07:00
2026-04-03 00:33:34 -07:00
2026-03-24 18:34:44 -07:00
2026-04-06 17:22:06 -07:00
2026-04-06 16:22:59 -07:00
2026-04-06 17:22:06 -07:00
2026-04-06 17:22:06 -07:00
2026-03-24 18:10:53 -07:00
2026-03-12 08:16:36 -07:00
2026-04-01 23:06:24 -07:00
2026-04-01 23:06:24 -07:00
2026-04-01 23:06:24 -07:00
2026-03-27 19:00:44 -07:00
2026-04-03 00:33:34 -07:00
2026-04-04 05:54:31 +00:00
2026-04-04 05:54:31 +00:00
2026-04-06 16:22:59 -07:00
2026-04-06 17:22:06 -07:00
2026-04-01 23:06:24 -07:00
2026-04-06 17:22:06 -07:00
2026-04-04 11:06:43 -07:00
2026-04-06 17:22:06 -07:00
2026-03-12 08:16:36 -07:00
2026-04-01 23:06:24 -07:00
2026-03-27 19:00:44 -07:00
2026-03-12 08:16:36 -07:00
2026-04-06 16:22:59 -07:00
2026-03-27 19:00:44 -07:00
2026-04-06 16:22:59 -07:00
2026-04-02 01:19:44 -07:00
2026-04-06 12:46:55 -07:00
2026-03-12 00:35:21 -07:00
2026-03-27 19:00:44 -07:00
2026-03-25 10:43:49 -07:00
2026-03-27 19:00:44 -07:00
2026-03-27 06:17:59 +00:00
2026-03-27 19:00:44 -07:00
2026-03-24 12:43:53 -07:00
2026-04-03 12:07:07 -07:00
2026-04-03 21:00:24 +00:00
2026-04-06 11:11:44 -07:00
2026-04-01 23:06:24 -07:00
2026-03-27 19:00:44 -07:00
2026-04-03 00:33:34 -07:00
2026-03-27 19:00:44 -07:00
2026-03-16 16:48:15 -07:00
2026-03-27 19:00:44 -07:00
2026-03-24 11:04:47 -07:00
2025-09-24 14:29:51 -07:00
2026-01-08 15:07:30 +00:00
2026-03-27 19:00:44 -07:00
2026-04-01 23:06:24 -07:00
2026-04-01 23:06:24 -07:00
2026-04-03 23:47:56 +00:00
2026-04-01 21:55:22 -07:00
2026-03-27 19:00:44 -07:00
2026-04-02 01:19:44 -07:00
2026-04-02 01:19:44 -07:00
2026-04-01 23:06:24 -07:00
2026-03-12 08:16:36 -07:00
2026-04-03 00:33:34 -07:00
2026-03-25 11:05:35 -07:00
2026-03-27 19:00:44 -07:00
2026-04-02 01:19:44 -07:00
2026-04-02 23:00:02 -07:00
2026-04-02 23:00:02 -07:00
2026-03-27 19:00:44 -07:00
2026-03-27 06:17:59 +00:00
2026-04-01 13:21:50 -07:00
2026-04-02 01:19:44 -07:00
2026-03-20 18:23:48 +00:00
2026-04-01 23:06:24 -07:00
2026-03-27 19:00:44 -07:00
2026-03-25 16:02:22 +00:00
2026-04-06 12:46:55 -07:00
2026-03-27 19:00:44 -07:00
2026-03-24 15:45:40 -07:00
2026-03-16 21:38:07 -07:00
2026-04-03 00:33:34 -07:00
2026-04-01 23:06:24 -07:00
2026-03-27 14:50:01 +01:00
2026-03-24 18:10:53 -07:00
2026-03-26 16:06:53 -04:00
2026-04-01 23:06:24 -07:00
2026-04-01 23:06:24 -07:00
2026-04-01 23:06:24 -07:00
2026-04-01 23:06:24 -07:00
2026-03-20 18:23:48 +00:00
2026-04-03 00:33:34 -07:00
2026-04-03 00:33:34 -07:00
2026-02-10 17:03:46 -08:00
2026-03-30 11:59:50 -07:00
2026-03-17 17:59:27 +00:00
2026-03-27 19:00:44 -07:00
2026-04-02 13:47:10 -07:00
2026-03-27 19:00:44 -07:00
2026-03-25 12:57:42 -07:00
2026-03-07 02:30:21 +00:00
2026-03-24 18:10:53 -07:00
2026-04-03 00:33:34 -07:00
2026-04-03 00:33:34 -07:00
2026-04-03 00:33:34 -07:00
2026-04-06 16:22:59 -07:00
2026-04-06 16:22:59 -07:00
2026-03-31 14:10:43 +02:00
2026-03-31 14:10:43 +02:00
2026-03-12 08:16:36 -07:00
2026-04-01 23:06:24 -07:00
2026-03-19 22:05:13 +00:00
2026-03-24 13:26:23 -07:00
2026-03-18 10:03:38 +00:00
2026-04-06 16:22:59 -07:00
2026-04-03 00:33:34 -07:00
2026-04-03 00:33:34 -07:00
2026-04-03 00:33:34 -07:00
2026-04-03 00:33:34 -07:00
2026-01-30 16:37:56 -08:00
2026-04-01 23:06:24 -07:00
2026-04-01 23:06:24 -07:00
2026-04-02 01:19:44 -07:00
2026-04-02 01:19:44 -07:00