mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-27 21:07:01 -06:00
fix(codex): restore shell for restricted turns (#92294)
* fix(codex): keep OpenClaw exec when native surface has no environment (#92238) * chore: keep release note in PR * fix(codex): keep shell tool type internal Co-authored-by: yetval <yetvald@gmail.com> --------- Co-authored-by: Peter Steinberger <steipete@gmail.com>
This commit is contained in:
@@ -467,9 +467,9 @@ and `HOME` stays inherited so subprocesses can use normal user-home state.
|
||||
## Dynamic tools
|
||||
|
||||
Codex dynamic tools default to `searchable` loading, exposed under the
|
||||
`openclaw` namespace with `deferLoading: true`. OpenClaw does not expose
|
||||
dynamic tools that duplicate Codex-native workspace operations or Codex's own
|
||||
tool-search surface:
|
||||
`openclaw` namespace with `deferLoading: true`. OpenClaw normally does not
|
||||
expose dynamic tools that duplicate Codex-native workspace operations or
|
||||
Codex's own tool-search surface:
|
||||
|
||||
- `read`
|
||||
- `write`
|
||||
@@ -483,6 +483,11 @@ tool-search surface:
|
||||
- `tool_search`
|
||||
- `tool_search_code`
|
||||
|
||||
When a finite runtime allowlist disables native Code Mode, OpenClaw sends an
|
||||
empty execution-environment selection. In that direct, unsandboxed case,
|
||||
OpenClaw keeps its policy-filtered `exec` and `process` tools as the shell
|
||||
fallback. Runtime allowlists and `codexDynamicToolsExclude` still apply.
|
||||
|
||||
Most remaining OpenClaw integration tools, such as messaging, media, cron,
|
||||
browser, nodes, gateway, `heartbeat_respond`, and `web_search`, are available
|
||||
through Codex tool search under that namespace. This keeps the initial model
|
||||
|
||||
@@ -39,7 +39,10 @@ With the default `tools.exec.host: "auto"` and no active OpenClaw sandbox,
|
||||
Codex also receives `node_exec` and `node_process` tools for commands on paired
|
||||
nodes. Native shell remains on the Codex app-server host and workspace
|
||||
(Gateway-local for the default stdio deployment); `node_exec` selects a node by
|
||||
name or id and keeps OpenClaw's node approval policy in force.
|
||||
name or id and keeps OpenClaw's node approval policy in force. If a finite
|
||||
runtime allowlist disables native Code Mode and leaves the turn without an
|
||||
execution environment, OpenClaw keeps its policy-filtered `exec` and `process`
|
||||
tools available instead for direct, unsandboxed execution.
|
||||
|
||||
This Codex-native feature is separate from
|
||||
[OpenClaw code mode](/reference/code-mode), an opt-in QuickJS-WASI runtime
|
||||
@@ -623,14 +626,16 @@ normal user-home state.
|
||||
|
||||
### Dynamic tools and web search
|
||||
|
||||
Codex dynamic tools default to `searchable` loading. OpenClaw does not
|
||||
expose dynamic tools that duplicate Codex-native workspace operations:
|
||||
Codex dynamic tools default to `searchable` loading. OpenClaw normally does
|
||||
not expose dynamic tools that duplicate Codex-native workspace operations:
|
||||
`read`, `write`, `edit`, `apply_patch`, `exec`, `process`, `update_plan`,
|
||||
`tool_call`, `tool_describe`, `tool_search`, and `tool_search_code`. Most
|
||||
remaining OpenClaw integration tools, such as messaging, media, cron,
|
||||
browser, nodes, gateway, and `heartbeat_respond`, are available through
|
||||
Codex tool search under the `openclaw` namespace, keeping the initial model
|
||||
context smaller.
|
||||
context smaller. The restricted-turn shell fallback is the exception for
|
||||
`exec` and `process` when a finite allowlist disables native Code Mode;
|
||||
runtime allowlists and `codexDynamicToolsExclude` still apply.
|
||||
|
||||
Tools marked `catalogMode: "direct-only"`, including the OpenClaw `computer`
|
||||
tool, use the `openclaw_direct` namespace instead. Codex treats that namespace
|
||||
|
||||
Reference in New Issue
Block a user